0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

一般ユーザにシステム管理コマンドの使用許可方法(sudo・/etc/sudoers・visudoコマンド)

Last updated at Posted at 2022-11-03

Linuxを勉強し始めて約1ヶ月経過。
ずっとrootユーザでコマンド叩いてたので、そろそろ一般ユーザで作業してパーミッションに慣れようと決意。
「管理ユーザコマンド実行したい時にはとりあえず’sudo’をコマンドの前に打てばいいんだろ? 」
と横柄な態度で望んでいたらコマンド弾かれて痛い思いしたのでその記録

理解すること

・ただsudoをコマンド文頭に打てば使えるわけでない
・システム管理コマンドの使用を一般ユーザにも許可する
⇒ /etc/sudoersを編集する
/etc/sudoersは特殊ファイルなので、visudoコマンドで編集
viコマンドは使わない
・コマンドレベルの許可・ユーザレベルの許可ができる

$sudo date 121020002018で弾かれた

システククロックの変更のため、

[yuzo@localhost ~]$ ls -l `which date`
-rwxr-xr-x. 1 root root 108640 10月 21  2021 /usr/bin/date
[yuzo@localhost ~]$ sudo date 121020002018
[sudo] yuzo のパスワード:
yuzo は sudoers ファイル内にありません。この事象は記録・報告されます。

エラーに
「yuzo は sudoers ファイル内にありません。この事象は記録・報告されます」

sudoersファイルに「現在ログインしてるユーザー(yuzo)にsudoの実行権限を付与」しないといけないようです。

話はそれますが、エラーの後半部分「この事象は記録・報告されます」のログを確認します。

tail -f /var/log/secure
Nov  3 15:05:09 localhost sudo[6381]:    yuzo : user NOT in sudoers ; TTY=pts/1 ; PWD=/home/yuzo ; USER=root ; COMMAND=/bin/date 121020002018

しっかり認証が弾かれたユーザー名とコマンドがログに残っています。

一般ユーザに管理コマンドの実行権付与する

[root@localhost] ~ 15:30:56 # ls -l /etc/sudoers
-r--r-----. 1 root root 4328  4月 20  2022 /etc/sudoers

パーミッションが440の特殊ファイルなのでvisudoコマンドで編集します

visudo
#ファイル最終行に「システム管理コマンド"date" を"yuzo"でも使用可能にする設定」
yuzo ALL=(ALL) /usr/bin/date

設定が終わったので、yuzoでログインしてターミナルで再度sudo date 121020002018コマンド実行

[yuzo@localhost ~]$ sudo date 121020002018
2018年 12月 10日 月曜日 20:00:00 JST

一般ユーザーyuzoにdateコマンドを使用可能にしたので今回は打てました。

ただこれだと一つ一つの管理コマンドをvisudoで追加で手間なので全てのシステム管理コマンドを付与する場合には次のように設定

visudo
#ファイル最終行に「システム管理コマンド"date" を"yuzo"でも使用可能にする設定」
#yuzo ALL=(ALL) /usr/bin/date //コメントアウト
user2 ALL=(ALL) ALL

動作確認

一般ユーザに参照権限与えられていないログファイルやpwハッシュ化された/etc/shadowファイルが一般ユーザでsudo付ければ見れることの確認

[yuzo@localhost ~]$ sudo tail -n 1 /var/log/{messages,secure}
[sudo] yuzo のパスワード:
==> /var/log/messages <==
Nov  3 16:06:40 localhost systemd[1]: Started Fingerprint Authentication Daemon.
==> /var/log/secure <==
Nov  3 16:00:53 localhost sudo[7606]: pam_unix(sudo:session): session closed for user root

※ここで求められるパスワードはrootユーザーのpwではなく、ログインしているユーザー自身のpw

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?