나는 2명의 사용자 "tina"와 "lu"가 /bin/chmod와 같은 유틸리티를 실행하기를 원합니다. 이것은 내 /etc/sudoers
파일 의 관련 부분입니다 .
tina,lu ALL=/bin/chmod /bin/chown /bin/chgrp
그런 다음 나 자신으로 로그인한 다음 tina로 로그인했습니다.
su - tina
그런 다음 파일을 chmod하기 위해 tina 사용자 이름을 얻으려고했습니다. Tina의 권한이 작동하지 않는 것 같습니다. 이것이 출력이다sudo -l -U tina
Matching Defaults entries for tina on this host:
requiretty, !visiblepw, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC
KDEDIR LS_COLORS MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE LC_COLLATE
LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER
LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
Runas and Command-specific defaults for tina:
User tina may run the following commands on this host:
(root) /bin/chmod /bin/chown /bin/chgrp
실제로 그녀로 로그인한 상태에서 chmod를 시도할 때. copyf
내가 개발중인 새로운 쉘 스크립트입니다.
tina 118->chmod 770 copyf
chmod: changing permissions of `copyf': Operation not permitted
tina 119->sudo chmod 770 copyf
Sorry, user tina is not allowed to execute '/bin/chmod 770 copyf' as root on xpp.
내가 뭔가를 설정하는 것을 잊었나요?
답변1
쉼표가 누락되었습니다.
tina,lu ALL = /bin/chmod, /bin/chown, /bin/chgrp
쉼표가 없으면 실행 권한이 부여됩니다.
/bin/chmod /bin/chown /bin/chgrp
이것은 물론 의미가 없지만 구문론적으로 유효한 것으로 알려져 있습니다 visudo
.