내 sudoers 파일:
cat /etc/sudoers
...
USERHERE ALL = NOPASSWD: /bin/cp /home/USERHERE/foo/in.csv /home/anotheruser/in.csv
...
또한 좋아 보인다:
USERHERE@notebook:~/foo$ sudo -l
Matching Defaults entries for USERHERE on this host:
env_reset, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User a may run the following commands on this host:
(root) NOPASSWD: /bin/cp /home/USERHERE/foo/in.csv /home/anotheruser/in.csv
(ALL : ALL) ALL
USERHERE@notebook:~/foo$
그런데 시도하면 비밀번호를 묻는 메시지가 표시됩니다. 왜 그럴까요?
USERHERE@notebook:~$ sudo /bin/cp /home/USERHERE/foo/in.csv /home/anotheruser/in.csv
[sudo] password for USERHERE:
우분투 12.04 사용
답변1
visudo를 사용하여 아래와 같이 sudoers 파일을 편집합니다.
USERHERE ALL= (root) NOPASSWD: /bin/cp /home/USERHERE/foo/in.csv /home/anotheruser/in.csv
비밀번호를 묻지 않습니다. 더 많은 정보가 필요하시면 답변을 확인해보세요여기.
시험
내 컴퓨터에서 다음을 수행했습니다. 파일을 visudo
편집하려면 먼저 루트 사용자로 명령을 실행하십시오 . sudoers
그런 다음 사용자가 허용하도록 다음 항목을 추가했습니다.라메쉬네트워크 재시작 명령을 실행하십시오.
ramesh ALL = (root) NOPASSWD: /etc/init.d/network restart
그런 다음 su ramesh
해당 사용자로 로그인합니다. 이제 명령을 실행했는데 /etc/init.d/network restart
암호를 묻는 메시지가 표시되지 않습니다.