在root用户下执行visudo,相当于vi /etc/sudoers
eg.限制run用户的rm权限(不需要密码)
echo 'run ALL=(ALL) NOPASSWD:ALL,!/bin/rm' >> /etc/sudoers
eg.设置某个用户组的权限
##############################
扩展:外部命令和内部命令
sudo只能执行诸如创建、启动等外部命令,不能执行内部命令;
比如说执行sudo cd ..... 这时候会提示command not found
再比如说执行sudo mkdir ...... 这时候能正常执行
内部命令:属于shell程序的一部分,是在linux系统加载运行shell时就驻留在内存中的命令(通过/root/.bashrc /etc/profile去调取PATH路径)
外部命令:系统加载时不随系统加载进内存,需要时才调用
判断命令是否为内部命令:
enable -a可以看到所有的内部命令
此外enable 命令,如果结果显示为 “命令is a shell builtin”则表明该命令为内部;其他结果表示该命令为外部命令
诸如cd那种内部命令,直接敲就行了,有权限就执行,否则就只能通过改权限来执行,想使用sudo cd 某个无权限路径是徒劳的
##############################
网友评论