您的当前位置:首页正文

权限管理--visudo

来源:华佗小知识

在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 某个无权限路径是徒劳的

##############################