特定のグループのユーザーがsudoなしでコマンドを実行できるようにする


11

/ etc / sudoersを編集して、パスワードを入力しなくてもsudoとしてコマンドを実行できるようにする方法を知っていますが、グループのすべてのユーザーがプログラムをsudoなしで完全に実行できるようにする方法はあります。(実行したいプログラムは「mount」と「umount」です)。


あなたのOSは何ですか?NTFSパーティション、EXTパーティション、または光学ドライブをマウントしようとしていますか?
2013

回答:


13

パスワードなしで実行が許可されているユーザーのグループを追加したいmountumountします。最初に「anyname」というグループを追加します

sudo groupadd anyname

次に、を編集し/etc/groupてユーザーを追加する必要があります

anyname:x:407:

存在するため、コンマで区切られたユーザーを追加するユーザーを追加します。

anyname:x:407:user1,user2,...

次に、「anyname」グループのメンバーが実際にmountand umountコマンドを呼び出すことができるように、sudoを設定する必要が あります。

/ etc / sudoersに次の行を追加するだけです

%anyname ALL=NOPASSWD: /sbin/mount, /sbin/umount

これでsudo mountパスワードを尋ねることはありませんが、sudoを入力するのはいつもお尻の痛みなので、次のように入力することで回避できます。

「/ usr / bin / mount」と呼ばれる次のスクリプト(およびumountの同様のスクリプト)を作成できます。

#! /bin/sh
sudo /sbin/mount $*

これを少し安全にするために、これらのスクリプトの所有権を「anyname」グループに変更することが必要になる場合があります。

chgrp anyname /usr/bin/mount /usr/bin/umount

そして、「anyname」グループに対してのみ実行可能にします

chmod g+x /usr/bin/mount  /usr/bin/umount

編集:使用しているOSに応じて、mountコマンドとumountコマンドの場所を確認してください。/ sbinではなく/ bin /にある可能性があるため、必要な変更を行う必要がある場合があります。

重要:すべてのbinフォルダーが相互にシンボリックリンクされているArchベースのシステムでは、スクリプトは実行されません。


1
ありがとう。実際には、次のような関数マウントを含むグローバル.bashrcを使用して実装しました:mount {sudo mount $ *}
w4etwetewtwet
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.