somemo programming etc.

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【Linux】sudo設定

あまり使っていなかったsudoについてのメモ。

rootユーザでログインすることが多いので使っていなかったのですが、 現在の仕事先ではrootユーザのパス隠蔽のためにsudoコマンドをよく使っています。

 

・読み方

気になったので調べてみた。

今まで:エスユードゥ

一般的:スードゥ

yumのときと同じように勘違いしてました。 ちなみに、suは「エスユー」で合ってました。 suはおもにスーパーユーザになるために使いますが、 スーパーユーザ以外にも切り替えられるので、 Swtch Userっていう覚え方もあるみたいです。

 

・設定

sudoの設定は「/etc/sudoers」ファイルに記載されています。 しかし、このファイルを直接編集するのではなく、 「visudo」コマンドを用いて編集するようです。構文チェックまでしてくれるすばらしいコマンドです。

書式は以下のとおりです。

ユーザ名 ホスト名=(実行ユーザ名) 

「NOPASSWD:」コマンド ユーザ名:許可する「ユーザ名、またはグループ名、またはALL」 ⇒基本ユーザ名。

開発ごとプロジェクトなどの場合、グループ名が便利そう。ALLは使わないでしょう。 ホスト名:許可する「ホスト名、またはIPアドレス、またはALL」

⇒特に気にしなくてよさそう。接続時点でユーザ単位の許可をしているはず。 実行ユーザ名:「省略時root、またはALL」 ⇒ALLってなんだろう。調べても出てこない・・・

NOPASSWD:後述のコマンドを実行するときにパスワードを入力する必要がなくなる ⇒危険なので、記述しない コマンド:「コマンドのパス、またはALL」 ⇒!コマンドのパスで対象外にできる 他にも、いろいろ設定できるそうです。

 

参考:http://linux.kororo.jp/cont/intro/sudo.php

 

とりあえず、以下の初期で追加。

ユーザ名 ALL=(ALL) ALL

 

・設定の確認

sudo -lを実行

結果 User ユーザ名 may run following command s on this host: (ALL) ALL ただし、パスが通っているユーザでないとrootのようにbin/sbinなしで実行できない。