Webとデザインのあれこれ

プログラミングとUIデザインの学習記録です。

sudoのインストール

sudoの初期設定をしましょう

なぜsudo?

sudoってなんでしょうね。

一般ユーザーとしてログインしているけど、スーパーユーザー(rootユーザー)の権限を使って操作したいときってありませんか? ファイルを削除したり、中身を編集したいときとか・・

sudoコマンドを使うと、rootユーザーとしてログインしなくても、必要な時にroot権限を持った状態で操作ができるようになります!

sudoのインストール

インストール自体は、かなり簡単です。rootユーザーでログインし、

#apt install sudo

ここからある作業が必要となります。これだけではsudoコマンドは使えないんです。

visudoコマンドの実行

sudoの設定ファイルがあるので、rootユーザーでvisudoを実行しましょう。

このコマンドを実行すると自動的にnanoエディタでsudoの設定ファイルが開きます。

#が頭にある文字列の羅列が続きます。下記画面に記載されているUser Prvilege specificationという項目を探します。

f:id:b_leiu:20190215194356p:plain

root ALL=(ALL:ALL) ALLの下にユーザーを追加しましょう!

ユーザー名 ALL=(ALL:ALL) ALL #ユーザ名は変更しましょう。

この権限を表す式は「ユーザー ホスト=(誰々として) コマンドパス」という意味です。 コマンドパスの部分については、ALLの場合、すべてのコマンドを実行可能という意味になりますね。 したがって、

test ALL=(ALL) /usr/sbin/useradd #ユーザー(test)は、useraddコマンドをsudoで実行可能という意味

このような設定も可能です。

これでユーザーの追加は終了です。ところが、最後に編集の終了の仕方がわからない・・・ 画面の後半が文字化けしていて、何を押したら良いのか不明なのです。

f:id:b_leiu:20190215201056p:plain

^G ヘルプ      
^O 書き込み    
^W 検索        
^K 切り取り    
^J 均等割付    
^C カーソル位置^Y 前のページ
^X 終了        
^R 読み込み    
^\ 置換        
^U 貼り付け    
^T スペル確認  
^_ 行を指定    
^V 次のページ

「Ctrl + X」で終了できます。最後、YesかNoを聞かれますが、YでOK

今回は、rootユーザーとしてファイルをいじったので、su -で一般ユーザーに戻って、sudoコマンド実行できるか試してみましょう。

また、Rootユーザーでvi /etc/sudoersを実行すると同じファイルをviで修正することも可能です。

(補足)パスワードの制御

実は、visudoコマンドでファイルを編集する際に、パスワードの入力の制御も設定可能です。

test ALL=NOPASSWD:  /usr/sbin/useradd

例えば、これでユーザー(test)はuseraddコマンドを実行した際に、パスワードの入力が必要なくなります。

便利ですね。

最後に

sudoのインストールはこれで終了です。