回答:
はい、これは可能です。
/ etc / sudoersのすぐ等しい次の項目のコマンドは次のように実行を許可されることをユーザがあります。
tom ALL=(oracle) /bin/chown tom *
ユーザー(tom)はsudo -u oracle / bin / chown tom / home / oracle / oraclefileと入力できます
/ etc / sudoersに次のように追加します
tom ALL=(oracle) ALL
次に、ユーザーtomは、sudoを使用して、tomを許可せずに-uオプションを使用してユーザーoracleとして実行できる必要があります。
つまり、ユーザーoracleとしてシェルを取得します(sudoが-iオプションを使用するのに十分に新しい場合)。
sudo -u oracle -i
tom ALL=(oracle)NOPASSWD:ALL
パスワードを要求しないようにsudoを作成するために構文を使用する必要がありました
たとえば、DBAのトムにoracleユーザーへのsuを許可しますが、tomcatユーザーまたはrootには許可しません。
最近システムにこれをする必要があったので、構文を許した何年も前に使った代替セットアップでメモを見つけるのに苦労しましたsu <user>
。私の状況ではsu
、特定のユーザーに対して複数のユーザーを許可する必要がありました。
addgroup <groupName>
他のユーザーがsu
パスワードなしでアクセスできることを使用して、グループを作成します。次にsu
、パスワードなしでそのユーザーに許可したい各ユーザーにそのグループを追加します:(
usermod -a -G <groupName> <userName>
またはusermod -a -G oracle tom
)。グループの変更は、次のログインまで有効にならない場合があります。
注:あなたの場合、グループをすでに持っoracle
ているのは、でoracleユーザーを作成したときにグループが作成されていたからですadduser oracle
。
次に/etc/pam.d/su
、以下を編集します。
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
..authルール行を追加して、セクションが次のようになるようにします。
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
auth [success=ignore default=1] pam_succeed_if.so user = <groupName>
auth sufficient pam_succeed_if.so use_uid user ingroup <groupName>
交換する<groupName>
とoracle
、この場合には。これはの一部である任意のユーザーことができます<groupName>
へのsu <groupName>
今すぐtom
ことができsu oracle
ますが、他のユーザーに同じアクセス権を与える必要がある場合や、それらを追加するoracle
グループ。
ここで同様の質問