2016-06-24 5 views
1

루트가 아닌 사용자가 sudo 정책을 통해 루트가 아닌 사용자에게 상위 권한의 명령을 실행하는 동안 sudo 단어를 피할 수 있습니까? 그가 높은 권한의 명령을 실행하고 또한 sudo의 사용법이 복잡 할 수도 있다는 것을 알 수 없습니다.비 루트 사용자가 높은 권한의 명령을 실행하기 위해 sudo 단어를 피하는 방법

예 : 정상적인 Sudo 명령 실행.

$ sudo -u root /usr/bin/tcpdump 

비 루트 사용자는 아래와 같이 tcpdump를 실행해야합니다.

$ tcpdump 

미리 감사드립니다.

참고 : 루트가 아닌 사용자를위한 Sudo 정책을 정의했습니다. 따라서 루트가 아닌 사용자가 tcpdump를 실행하면 백엔드에서 sudo -u root tcpdump로 실행해야합니다.

+1

별칭 tcpdump = 'sudo tcpdump'를 정의 할 수 있습니다. – melpomene

+0

비 루트 사용자 bash 프로파일의 별명을 추가하려고합니까? – sach

+1

왜이 질문은'perl'으로 태그 되었습니까? – dgw

답변

4

예. 것이 가능하다.

당신이해야 :

2.1- :

groupadd nonroot 

2는 그룹에 특권 사용자를 추가

1 일부 사용자가 속하는하는 새로운 특정 새 그룹 만들기/etc/group 편집 :

vim /etc/group 

2.2- 찾기 새로 만든 그룹의 라인. 그것은처럼 보일 것입니다 :

nonroot:x:127: 

2.3-을 끝에서, 당신의 privilaged 사용자 추가 :

nonroot:x:127:user1,user2 

3 변경 이진의 그룹 :

chgrp nonroot /usr/bin/tcpdump 

3- 내놔 바이너리에 대한 그룹 실행 권한 :

chmod g+x /usr/bin/tcpdump 

바이너리가 user1에 권한이없는 파일을 읽거나 쓰거나 실행하는 경우 같은 방식으로 수정해야합니다.

당신이 이진의 그룹을 변경할 수없는 경우, 유사한 방법 후 울부 짖는 소리의 정답 확인 :

Allow users of a certain group to run a command without sudo

는 희망이 도움을.

참고 : Linux/UNIX 배포판마다 명령이 다를 수 있습니다.

+0

은 nicof의 답을 고맙게 생각하지만 이것은 내가 찾고있는 것이 아닙니다. – sach

+0

@sach - 이것이 당신이 찾고있는 답변이 아니라고 말하면 만족스러운 답변을 얻을 수있는 가능성이 크게 높아질 것입니다. –

+0

@nicof, 나는 사용자가 정책에 정의 된 명령을 실행할 수있는 권한을 가질 수 있도록 몇몇 사용자를 위해 sudo 정책을 정의 할 것입니다. 사용자에게 sudo를 입력하지 못하게하는 방법이 필요합니다. 따라서 사용자가 sudo 사용법을 입력하지 않고 명령을 실행하는 방법을 찾고 있습니다. – sach

0

나는 적어도 두 가지 가능성을 볼 수

  1. 별칭도 가능하지만, 사용자가 다른 쉘을 사용하거나 수동으로 시작할 수 있다면, 그것은 maintenence로 설정할 수 있습니다 (스크립트에서 랩 지옥)

  2. tcpdump에서 suid 비트를 설정합니다. 즉, tcpdump를 호출 할 수있는 모든 사람이 항상 소유자로 사용됩니다.