Linux下sudo命令详解
sudo命令的作用是让普通用户获得root账户的权限。
默认普通用户不在sudo组,要想用sudo命令就得把普通用户加入sudo组里。
操作
若是root用户,直接操作;若是普通用户,通过su -r(继承root的shell环境)临时切换到root用户。(su是临时让普通用户切换到root账户命令,详细见后文)。
编辑/etc/sudoers文件将普通用户加入sudo组
执行 vim /etc/sudoers
找到root ALL=(ALL)ALL所在行,
在它下面的行输入
你的用户名 ALL=(ALL)ALL
保存时会提示/etc/sudoers为只读文件,无法保存退出,这时需要强制保存退出 :wq!
这样就把普通用户加入了sudo组,可以使用sudo命令了。
默认5分钟后刚才输入的sudo密码过期,下次sudo需要重新输入密码,如果觉得在sudo的时候输入密码麻烦,把刚才的输入换成如下内容即可:
你的用户名 ALL=(ALL) NOPASSWD: ALL
普通用户sudo到root用户时使用的是自己的密码
su
切换用户之后原本用户的shell环境继续使用(还在原用户的目录下),没有转到目标用户家目录下,也就是说这时虽然是切换为目标用户了,但并没有改变目标用户登录环境,还处于原用户的环境中。cd一下可以改变到目标用户的家目录下。
su 加参数 -
切换到目标用户,并且改变到目标用户的环境(目标用户的家目录下)。相当于重新起了一个shell
切换用户后想回到原来的用户,命令行输入exit就可以退出。不要再切回原来用户如su 原来用户。切的方式的话相当于又走了一层。
正常登录用户想退出的话也是exit退出。
root用户uid gid为0。命令行提示符是#号。如[~/root]#
普通用户uid gid默认从1000往后排。 命令行提示符是$号。如[~/home]$
若把普通用户uid gid改为为0。命令行提示符也变为#号。如[~/home]#