LoginSignup
0
0

定時帰る術-Linux sudo管理(sudo、visudoコマンド)

Posted at

rootでSSHする環境もあるし、非rootでSSHする環境もがある。

非rootユーザーでrootコマンドを実行したい時や、root権限しか見れないファイル(すべてがファイルである)をみる時、尚且つrootパスワードがモレたくない時は、sudoで対応できる。

ユーザー、グループでコマンドの許可/拒否できるのが便利
(更に、ホスト名での制限もできるが、あんまりやらない)

visudo

visudoだけかもしれないが、visudoすると、他のセッションやユーザでのvisudoが排他になる

セッション1でvisudoを実行すると、普通にvi /etc/sudoersと同じ感じでviできる状態になる。
↑visudoのままで、visudoを実行すると、↓が表示され、開けない]

[root@mgmt ~]# visudo
visudo: /etc/sudoers がビジー状態です。後で再試行してください

が、が、が
visudoではなく、vi /etc/sudoersでやると普通にいける。
:wqすると↓エラーがでるが、 :wq!をやれば保存できる。
visudoは、/etc/sudoersしてくれるし、排他だし、すすめ
/etc/sudoersを編集する時にvisudoを使うようにしよう

設定考え方

許可するユーザ、グループ、コマンドを許可すればいい(ホワイトリスト)
難しいことを考えなくてもいい
例えば、逆の考えで、ブラックリストの考え方だと、
↓の設定でsnowユーザ以外は、sudoで全コマンドが許可されることとなる。
何が問題だというと、想定外のユーザが許可されてしまう可能がある
川口的にはセキュリティ的にはアウトな設定だと思う

!snow ALL=(ALL)       ALL

/etc/sudoers

上から下までマッチする。同じコード(設定)がある場合、下の方が有効になる。
/etc/sudoersの最後行に#includedir /etc/sudoers.dが記載されている

[root@mgmt ~]# tail -n 1 /etc/sudoers
#includedir /etc/sudoers.d
[root@mgmt ~]# ll /etc/sudoers.d
合計 0

ここでの「#」はコメントアウトの意味ではない
ここでの「#」はコメントアウトの意味ではない
なので、sudo設定が/etc/sudoers.d配下にもみるよ
定時帰られない方は多分grep -v #とかで、コメントアウト行を表示させないようにしたことがあるだろう
はっきりいいと、確認モレだよ
「#=コメントアウト」の場合もあるよ
/etc/sudoers.d配下もみようよ

(グラウト環境では、デフォルトで/etc/sudoersファイルではなく、/etc/sudoers.d配下sudo設定することが多い)
↓がgoogleクラウドの場合
/etc/sudoersにはユーザID、(visudo的にはチェックが大丈夫だが)グループIDが書いても無駄のため、ユーザ名とグループ名でgrep /etc/sudoersした方がいい
%がついているので、google-sudoersグループに対して、sudoですべてのコマンドをパスワードなしで実行可能

[snow@instance-1 ~]$ id
uid=1000(snow) gid=1001(snow) groups=1001(snow),4(adm),39(video),1000(google-sudoers)
[snow@instance-1 ~]$ sudo egrep "snow|adm|video|google-sudoers" /etc/sudoers
[snow@instance-1 ~]$
[snow@instance-1 ~]$ sudo ls /etc/sudoers.d/
google_sudoers
[snow@instance-1 ~]$ sudo egrep "snow|adm|video|google-sudoers" /etc/sudoers.d/google_sudoers
%google-sudoers ALL=(ALL:ALL) NOPASSWD:ALL

注意

sudo xxxで実行するとパスワードが聞かれたら、Ctrl+Cでやめましょう。パスワードを入力してしまうと、ログに出てしまうことがある。
なので、Ctrl+Cでやめで、とりあえず/etc/sudoersの設定を見てみよう

考えられる原因:
①/etc/sudoersファイルの設定間違い
②/etc/sudoersの設定でセキュリティ的にダメ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0