Ubuntuがスーパーユーザーに切り替わる


初めて使うときにrootとしてシステムにログインできないのは、なぜですか?これはシステムのインストールから始めます.他のLinuxシステムでは、通常、インストールプロセスでrootパスワードを設定します.これにより、ユーザーはrootアカウントにログインしたり、suコマンドを使用してスーパーユーザーIDに変換したりすることができます.これに対し、Ubuntuのデフォルトのインストールでは、rootユーザーにパスワードを設定したり、rootアカウントを有効にしたりしていません.問題はrootユーザーとしてコマンドを実行するにはどうすればいいのでしょうか?大丈夫です.sudoコマンドを使用してこの目的を達成することができます.sudoはlinuxの下でよく使われる一般ユーザーがスーパーユーザー権限を使用することを許可するツールであり、このコマンドは管理者に微粒子度のアクセス制御方法を提供し、スーパーユーザーとしても他のタイプのユーザーとしてもシステムにアクセスすることができる.このような利点は、管理者がユーザーにrootパスワードを教えない前提で、特定のタイプのスーパーユーザー権限を付与できることです.これは、多くのシステム管理者が夢見ていることです.  1.sudoのデフォルト構成のデフォルトでは、Ubuntuは/etcディレクトリの下にあるsudoersファイルに保存される基本的な構成をsudoに提供します.プロファイルを変更する場合は、visudoツールを使用して編集する必要があります.このツールは自動的にプロファイル構文を厳格にチェックします.エラーが検出された場合、保存が終了したときに警告し、どのプロファイルエラーが発生したかを通知し、プロファイルの正確性を確保します.逆に,他のテキスト編集プログラムを用いると,エラーが発生するとシステムに深刻な結果をもたらす.以下にUbuntuのデフォルトの/etc/sudoersファイルの内容を示します:#User privilege specification root ALL=(ALL)ALL#Members of the admin group may gain root privileges%admin ALL=(ALL)ALL以下では、rootユーザーがsudoコマンドを使用してシステム内の他のタイプのユーザーになることを許可する構成を簡単に説明します.2つ目の構成では、管理グループのすべてのメンバーがrootとしてすべてのコマンドを実行できるようにしています.したがって、デフォルトでインストールされているUbuntuシステムでは、rootとしてコマンドを実行するには、sudoの後に実行したいコマンドを追えばよい.次に、apt-get updateを実行する場合は、コマンドラインに$sudo apt-get update 2と入力する例を示します.プロファイル構文の詳細次に、/etc/sudoersファイルのプロファイル構文を一例で詳細に説明します.jorge ALL=(root)/usr/bin/find、/bin/rmの上の最初の欄で、その適用対象を指定しています.ユーザーまたはグループです.この例では、ユーザーjorgeです.また、システム内のグループとユーザーは名前を変更できますので、ルールの適用対象をユーザーではなくグループとして指定するには、グループオブジェクトの名前をパーセントで始まる必要があります.2番目のバーでは、このルールの適用ホストを指定します.このバーは、複数のシステム間でsudo環境を導入する場合に特に役立ちます.ここのALLはすべてのホストを表します.ただし、デスクトップシステムやsudoを複数のシステムに配備したくない場合は、この欄を対応するホスト名に変更します.3番目の欄の値は括弧内に置かれ、1番目の欄に規定されたユーザがどのような身分でコマンドを実行できるかを示す.この例では、この値をrootに設定します.これは、ユーザーjorgeがrootユーザーとして後述するコマンドを実行できることを意味します.この値はワイルドカードALLに設定することもでき、jorgeはシステム内の任意のユーザとしてリストされたコマンドを実行することができます.最後の欄(すなわち/usr/bin/find,/bin/rm)は、カンマで区切られたコマンドテーブルであり、これらのコマンドは、第1の欄に規定されたユーザによって第3の欄で指摘された身分で実行することができる.この例では、jorgeがスーパーユーザーとして/usr/bin/findおよび/bin/rmの2つのコマンドを実行できるようにします.ここにリストされているコマンドは、絶対パスを使用する必要があります.  3.sudoコマンドの使い方現在の問題は,ユーザjorgeが割り当てられた権限をどのように利用するかである.コマンドラインモードでsudoコマンドを使用すれば簡単です.彼が実行したいプログラムを加えるといいです.例えば、jorge@ubuntu:~$ sudo find . ! -name '*.avi' -exec rm -f//{//}//;jorgeが/etc/sudoersファイルの規定以外のプログラム(findやrmなど)を実行しようとすると、sudoコマンドは失敗に終わり、スーパーユーザーとしてこれらのコマンドを実行する権限がないことを警告します.root以外のユーザーとしてコマンドを実行するには、-uオプションを使用して、実行するユーザーを指定する必要があります.そうでない場合、sudoはrootユーザーとしてデフォルト設定されます.たとえば、fredとしてlsコマンドを実行するには、$sudo-u fred ls/home/fredのように、これらのルールを使用してシステムの特定のロールを作成することができます.たとえば、アカウント管理を1つのグループに担当させるには、これらのユーザーに完全なrootアクセス権を持たせたくない一方で、ユーザーを追加および削除する権利を持たせなければなりません.システム上でaccountsというグループを作成し、そのユーザーをこのグループに追加することができます.その後、visudoを使用して/etc/sudoersに次の内容を追加します:%accounts ALL=(root)/usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin/usermodが完了し、accountsグループの任意のメンバーがuseradd、userdel、usermodコマンドを実行できます.しばらくすると、テーブルの末尾に追加すれば、ロールには他のツールが必要になります.これは本当に便利ですね.ユーザーに実行可能なコマンドを定義する場合は、完全なコマンドパスを使用する必要があります.これは完全に安全な考慮から行われています.もし私たちが与えたコマンドが/usr/sbin/useraddではなく簡単なuseradであれば、ユーザーは自分のスクリプト、useradとも呼ばれ、そのローカルパスに置くことができます.そうすれば、彼はこのuseraddというローカルスクリプトを通じてrootとして任意の彼の望むコマンドを実行することができます.これはかなり危険です!sudoコマンドのもう一つの便利な機能は、実行時にパスワードを入力する必要がないコマンドを指摘することです.これは、特に非インタラクティブスクリプトでスーパーユーザーとしてコマンドを実行する場合に便利です.例えば、ユーザーがスーパーユーザーとしてパスワードを入力する必要がなくkillコマンドを実行し、ユーザーがすぐに暴走したプロセスを殺すことができるようにしたい.そのため、コマンドラインの前にNOPASWD:属性を付ければよい.たとえば、/etc/sudoersファイルに次の行を追加することで、jorgeにjorge ALL=(root)NOPASWD:/bin/kill、/usr/bin/killallという権限を与えることができます.これにより、jorgeは、rootユーザーとして制御不能なrmプロセスを殺すために以下のコマンドを実行することができます.jorge@ubuntu:~$ sudo killall rm   4.rootアカウントを有効にする方法については、上記の説明を通じて、sudoは確かに使いやすいことがわかりましたが、rootで仕事をすることに慣れていたら、過去の感覚を味わってみたいと思います.簡単です.rootにrootパスワードを設定すればいいです.$sudo passwd rootです.rootとして直接ログインできます.
5.コマンドを使用してrootに入る
(1):sudo su(注意:コマンドの前に棒がない)
次のように表示されます.root@ubuntu:/home/jie#
(2):sudo-s rootパスワードを入力すればよい(注意:コマンドの前に棒がある)
root@ubuntu:~#
linuxコマンドroot@ubuntu:/#とroot@ubuntu:~#違い:
root@ubuntu:/#これはルートディレクトリで、一般ユーザーには読み取り専用で、rootユーザーにはすべての権限があります.
root@ubuntu:~#これはホームディレクトリです.root以外のユーザーごとにホームディレクトリがあります.
----------
/はルートディレクトリ、#はrootユーザーを指し、この2つが同時に現れたのはrootで現在のディレクトリにログインするのがルートディレクトリです.
1つは場所1つは権限
linuxディレクトリ構造はツリー状で、最上位のディレクトリは/、その他のファイルシステムです.(ディスクパーティション、および/proc/sysこれらのメモリファイルシステム)は、このディレクトリの下にマウントされ、その次のディレクトリです.linuxが起動すると、システムをマウントするときにマウントポイントをrootに設定したパーティションを/にマウントします.パーティションマウントポイントがhomeである場合は、/下のhomeディレクトリにマウントします.
あなたは~の中でpwdを実行します
もしあなたが普通のユーザーであれば、あなたの~ディレクトリは/home/your_name/、これはあなたの地盤で、好きなようにすることができますが、このディレクトリを出たら、あなたは読み取り専用の権限しか持っていません.
もしあなたがrootユーザーであれば、あなたの~ディレクトリは/root/、権限は制限されません.
 
~ディレクトリには、あなたというユーザーだけのプロファイルがあります.あなたの個性的な構成に相当します.windowsの私のドキュメントのように悪いです.
(3). sudo -i
ubuntuをインストールしたばかりで、まだrootにパスワードを設定していません.sudo suではrootに入れないので、検証に失敗したことを示すので、sudo-iでrootに入ることができます.入ったらsudo passwdと入力します
そしてパスワードを2回入力します.後でsudo suでrootに切り替えることもできます.
6,
端末にrootユーザーでログインした場合:sudo gedit/etc/gdm/custom.confはcustom.confを以下の内容に変更します:[daemon]TimedLOginEnableable=trueAutomaticLoginEnable=trueTimedLogin=rootAutomaticLogin=rootTimedLoginDelay=30保存クローズ、ubuntuを再起動するとスーパーユーザーログインとなります.
Sudoは実行するコマンドに対してログを追加しました(/var/log/auth.log).混乱した場合は、実行したコマンドをまっすぐ帰って見ることができます.これは審査にも役立ちます.
       ,  ctrl+D,      exit   。