欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux切换用户

程序员文章站 2022-07-11 08:26:43
...

普通用户缺少一些权限,有些命令不能进行操作,这时候我们就需要拿到root权限才可以,拿到root权限有两种方式

*- 方式一:使用su - 或者su
此时就会提示你输入密码,输入密码成功以后就能以root权限操作,变成root以后会从$变成#

su- 和su 虽然都能切换到root权限,但两者还是有区别的

使用su切换到root身份,读取的变量设置方式为non-login shell的方式,这种方式下很多原本的变量不会被改变,比如主文件夹,和PATH变量都没有成为root的环境。可以通过 env | grep ‘dayday’查看。

[email protected]:~# env | grep 'dayday' 
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/dayday
GPG_AGENT_INFO=/home/dayday/.gnupg/S.gpg-agent:0:1
SESSION_MANAGER=local/dayday-Lenovo-U41-70:@/tmp/.ICE-unix/1432,unix/dayday-Lenovo-U41-70:/tmp/.ICE-unix/1432
XAUTHORITY=/home/dayday/.Xauthority
OLDPWD=/home/dayday

所以切换用户的时候请用su -

su - 的用法和su差不多,但是su - 可以加入-c这个参数,使得执行一次root命令以后切换回原来的身份

例:

[email protected]:~$ su - -c "head -n 3 /etc/shadow "
密码: 
root:$6$kIGPIZX0$QXvfpPIywXHqeh1aJeBXe0zgs.GTJarFokRYNGYnnLDYIs80fOjElfFLoKWVXXkjmC/FPDN..ksVYRVhX7Rr9.:17459:0:99999:7:::
daemon:*:17212:0:99999:7:::
bin:*:17212:0:99999:7:::
[email protected]:~$ 

- 方法二:使用sudo
sudo默认只有root身份使用,使用sudo可以让你切换身份进行某项任务

若想除了root之外的其他帐号使用sudo执行属于root的权限命令,则root需要先使用visudo去修该/etc/sudoers,让该帐号能够使用全部或部分的root命令功能

- 切换用户:
exit,回到原先的用户上面

相关标签: linux