Linux学习 - 普通用户和root切换

切换用户

如本机使用普通用户登录,很多命令是执行不了的,如使用ifconfig命令设置网络。此时需要使用root权限,方法有两个,sudo和su两个命令;

su命令

su命令可进行账户切换,命令使用方法为:su username
1)su后面可不加用户名,则为切换到root用户,需要输入root的密码。
2)su username,则切换到username用户。

sudo命令

sudo可临时切换到root权限执行某命令,使用方法为:sudo [-u username] 命令名称
[-u username]也可以不指定,则为临时切换到root账户。举例:sudo ifconfig xxx.xxx.xxx.xxx,此时也需要输入密码,但输入的是本用户的密码,而不是root用户的密码。

但是,我在第一次切换是报错了:【用户 isin the sudoers file. This incident will be reported.】,原因是,用户必须添加到到/etc/sudoers配置文件中,才可以使用sudo切换到root账户,设置方法如下:
1)使用root账户登录,输入visudo命令
2)在文件中找到如图所示位置,在root ALL=(ALL) ALL下面新增一行,参照此行格式设置本用户拥有权限:
Linux学习 - 普通用户和root切换
3)切换回普通用户
4)再次试验一下,发现设置成功,该用户可以使用sudo命令临时获取root权限进行命令操作啦!

sudo和su切换到root的区别

sudo:
1、sudo为临时性的切换,有时效的,5分钟内有root权限,过时间后则无法操作。
2、sudo切换到root只输入本用户密码,不需要输入root密码。

su:
1、su可永久切换到root账户,但需要root密码。
2、需谨慎操作,因为切换到root后将无所不能。

(本人正参考鸟哥私房菜学习Linux中,如有错误,欢迎指正)