特定の一般ユーザーが/etc/fstab
を編集できるようにSudo
を設定するにはどうすればよいですか?これを行うには/etc/sudoers.d
ファイルを編集するつもりですが、このファイルの/etc/fstab
をどのように編集しますか?
editfstab
という名前の簡単なスクリプトを作成し、/usr/local/bin
に配置し(シェルコマンドとしてアクセス可能)、実行可能にします。
echo -e '#!/bin/sh\nnano /etc/fstab' | Sudo tee /usr/local/bin/editfstab && Sudo chmod +x /usr/local/bin/editfstab
コマンドSudo visudo -f /etc/sudoers.d/editfstab
を実行し、新しく作成されたファイルのコンテンツとして次のルールを追加します。
ALL ALL=NOPASSWD: /usr/local/bin/editfstab
この時点で、各システムユーザーは、次のコマンドにより、パスワードなしで/etc/fstab
を編集できます。
Sudo editfstab
編集前にバックアップコピーを作成する機能を追加することにより、/usr/local/bin/editfstab
の機能を拡張できます。
#!/bin/sh
cp /etc/fstab /etc/fstab.bak
nano /etc/fstab
Cmdエイリアスでお気に入りの編集ソフトウェアを使用してsudoers.dに行を追加すると、トリックが実行されます。
Cmnd_Alias EDITFSTAB = /etc/bin/vim /etc/fstab
username ALL = (user) EDITFSTAB
エスケープ特権の大きなリスクがあることに注意してください。エディターを使用せずにfstabの変更を制限/制御する基本的なシェルスクリプトを作成する必要があります(つまり、「その変更のため、1を押して」fstabでエコーします)。