我希望 2 个用户“tina”和“lu”执行一些实用程序,例如 /bin/chmod。这是我的/etc/sudoers
文件的相关部分。
tina,lu ALL=/bin/chmod /bin/chown /bin/chgrp
然后我以我自己的身份登录,然后使用 tina 登录
su - tina
然后我尝试获取 tina 用户名来对文件执行 chmod 操作。蒂娜的权限似乎不起作用。这是输出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
是我正在开发的一个新的 shell 脚本。
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
。