rootとは別のユーザーとしてスクリプトを実行する[終了]


11

rootユーザーから、/ root / script.shファイルを実行する権限を別のユーザーに与えるにはどうすればよいですか?

アイデアは、次のようにスクリプトを実行することです sudo -u user1 /root/script.sh


1
「あなたはrootであり、スクリプトをuser1として実行したいのですか」または「user1であり、スクリプトをrootとして実行したいのですか」という質問は完全に明確ではありません。最初のケースがそうである場合、作成したsudoコマンドの問題は何ですか?
michas 2014年

チェックアウトsu(1)
フォンブランド2014年

回答:


10

私は好きではなかったと言わなければなりませんsudo(特にその構成)。普通の古いsu

su -c 'command' - user

ルートから実行され、パスワードの入力を求められません。


0

ユーザーが持っている必要があります

  1. ディレクトリパス全体の実行権限(ここ/rootのみ)

  2. ファイルの実行権限

  3. ファイルの読み取り許可

そのままにし/rootて、この目的のために別のディレクトリを作成(または使用)することをお勧めします(例:)/usr/local/bin。あなたが作ることができuser1、それをファイルや休暇の所有することにより、スクリプトの実行を許可されたユーザのみrootの簡単なアクセス権限(設定、所有者とグループなどをchmodする)770と、追加user1のACLで(setfacl)。


0

スクリプトがルートディレクトリにある場合、

$ LC_ALL=C ls -ld /root
drwx------ 17 root root 4096 Mar  5 20:14 /root

user1 ルートになることができます。

あなたの/etc/sudoersエントリは次のようになります

Cmnd_Alias SCRIPT=/root/script.sh

# user who is allowed executing /root/script.sh
%user ALL = (ALL) SCRIPT

通常は、ファイルを編集します visudo

その後-u root、あなたのsudo命令に置く必要もありません。

%ユーザグループを意味しています。省略すると、ユーザーのみがコマンドを実行できます。ユーザーのグループに実行させたい場合は、そのままにしておきます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.