[unix] 루트와 다른 사용자로 스크립트 실행 [닫힘]

루트 사용자로부터 /root/script.sh 파일을 실행할 수있는 권한을 다른 사용자에게 부여하려면 어떻게해야합니까?

아이디어는 다음과 같이 스크립트를 실행하는 것입니다 sudo -u user1 /root/script.sh



답변

나는 결코 좋아하지 않는다고 말해야합니다 sudo(특히 그 구성). 평범한 옛날 su:

su -c 'command' - user

루트에서 실행되면 암호를 묻지 않습니다.


답변

사용자는 가지고 있어야합니다

  1. 전체 디렉토리 경로에 대한 실행 권한 (여기서 /root만)

  2. 파일에 대한 실행 권한

  3. 파일에 대한 읽기 권한

/root이 목적 을 위해 손대지 않고 다른 디렉토리를 작성 (또는 사용) 하는 것이 좋습니다 (예 🙂 /usr/local/bin. user1스크립트를 파일의 소유자로 지정하거나 root소유자 및 그룹으로 남겨 두어 단순 액세스 권한 ( chmod)을 설정 770하고 user1ACL ( setfacl)로 추가 하여 스크립트를 실행할 수 있는 유일한 사용자를 만들 수 있습니다 .


답변

스크립트가 루트 디렉토리에 있으면

$ 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명령 에 넣을 필요가 없습니다 .

%사용자 그룹을 의미한다. 당신이 그것을 떠나면 사용자 만이 명령을 실행할 수 있습니다. 사용자 그룹이 실행하도록하려면 그대로 두십시오.


답변