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


11

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

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


1
"루트이고 스크립트를 user1로 실행하고 싶다"또는 "user1이고 스크립트를 루트로 실행하고 싶다"라는 질문은 완전히 명확하지 않습니다. 첫 번째 경우라면, sudo작성한 명령 의 문제점 은 무엇입니까?
michas

체크 아웃su(1)
vonbrand

답변:


11

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

su -c 'command' - user

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


0

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

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

  2. 파일에 대한 실행 권한

  3. 파일에 대한 읽기 권한

/root이 목적 을 위해 손대지 않고 다른 디렉토리를 작성 (또는 사용) 하는 것이 좋습니다 (예 :) /usr/local/bin. user1스크립트를 파일의 소유자로 지정하거나 root소유자 및 그룹으로 남겨 두어 단순 액세스 권한 ( chmod)을 설정 770하고 user1ACL ( 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.