sudo権限をユーザーに付与する

技術

sudo権限の付与

su と sudo の違いを改めて確認していたところ、自分のユーザーがsudo出来ないことを把握したので設定を書きます。

1.su, sudo, の違い

一般的なsuの使い方の場合ユーザはroot権限を一時的に使えるようになる。
プロンプトは「#」になりexitするまで持続する。

rootを複数で扱う場合は、rootのパスワードを教えないといけなくなるので、その場合はsudoのほうがいい

su使用時にきかれるパスワードは「rootのパスワード」

つまり、

su

rootに変身するが、switch userしたディレクトリのまま。
つまり、変身前(一般ユーザー)の環境設定を引き継いだままrootになるということ。

su –

rootに変身して、rootのホームディレクトリに勝手に移動する。
つまり、変身後(root)の環境設定に切り替えてrootに変身する、ということ。

■sudo

sudoはコマンド単位で一時的にroot権限を使う方法。
「スーパーユーザでdoするからsudo」
コマンド単位で「誰にどのコマンドをrootで実行させることを許可するか」を指定できる。こうすることでrootパスワードを知られることなく、必要なコマンドをroot権限で実行できるようになる

2.sudoの設定

なんの設定もしないでsudoをすると、下記のように怒られる。

[tomoya@ip address ~]$ sudo su -
[sudo] tomoya のパスワード:
tomoya は sudoers ファイル内にありません。この事象は記録・報告されます。

sudoの設定は、/etc/sudoers ファイルを編集することで行う。

やり方は2通り(いずれもroot権限にて行う)

1パターン目

echo ‘{ユーザー名} ALL=(ALL) ALL’ >> /etc/sudoers で編集

# echo '{ユーザー名} ALL=(ALL) ALL' >> /etc/sudoers

例えば、

 # echo 'tomoya ALL=(ALL) ALL' >> /etc/sudoers

2パターン目

直接ファイルに記述

 # visudo
 {ユーザー名} ALL=(ALL) ALL

例えば、

 # vi /etc/sudoers
 tomoya ALL=(ALL) ALL

※vi /etc/sudoers を編集するのだが、visudoコマンドを入れるのが推奨。

ファイルに追記するtomoya ALL=(ALL) ALLは、
ユーザ名 ホスト = (権限) コマンド 

用語まとめ

  • ユーザ名・・・sudo を利用できるようにするユーザ名を指定。グループを指定する場合は % を先頭につける
  • ホスト・・・ホストに対する許可 ( /etc/sudoers にホストに対するエイリアスを書かない限りALL)
  • (権限)・・・sudo されるユーザ名 (ALL ならば全てのユーザ権限, つまりルート権限を使うことができる) 省略可。省略した場合はroot
  • コマンド・・・利用できるコマンドの制限 (ALL なら権限で指定したユーザの使える全てのコマンドを利用できる) /sbin/ とすれば /sbin/以下のコマンド。/sbin/shutdown とすれば shutdown コマンドを指定することができる。

参考

タイトルとURLをコピーしました