su的全称并不是super user,而是switch user,是不是就突然明白了?是切换用户的意思。su的一般使用方法是su或者su -,两种方法虽然只差了1个字符,但也是有比较大的差异的。
创新互联建站专注于彭州企业网站建设,成都响应式网站建设公司,成都商城网站开发。彭州网站建设公司,为彭州等地区提供建站服务。全流程按需定制,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
加入了-参数,就是login-shell的方式,也就是说切换到另一个用户之后,当前的shell会加载对应的环境变量和各种设置;
如果没有加入-参数,就是non-login-shell的方式,也就是说当前的shell还是加载切换之前的那个用户的环境变量以及各种设置。
如果不想因为切换到另一个用户导致自己在当前用户下的设置不可用,那么就可以用non-login-shell的方式;如果切换用户后,需要用到该用户的各种环境变量,那么使用login-shell方式即可。
su并不是真正地切换用户,它只是改变身份的一个命令而已,你可以把它当做一种嵌套,当你以root身份执行su yph命令时,下面的命令便会以yph用户的身份执行,但是值得注意的一点是当前的环境变量、工作目录等全都没有改变,也就是说仍在root使用的环境变量中,此时执行pwd查看当前工作目录应该会输出“/root”,当再以yph身份执行su - root命令后,你便又是以root身份执行命令了,可是此时的情况应该是:
root环境/yph身份/root身份
即当你输入logout时便会返回到:“/root环境/ypt身份”下,在此环境再输入logout则可能会显示“bash: logout: not login shell: use `exit'”,即当前yph用户所用的shell中没有logout,因为logout命令需要以root身份执行,此时正确的做法是执行exit命令,便会到退出到root下,即为刚进入root用户时的状态
su表示切换用户命令命令,如:
输入:su命令后回车表示切换当前的用户到root用户,或者:
输入:su
-
root(或者其他用户名)这里加了"-"后表示也切换的当前的环境变量到新用户的环境变量,su
root(或者其他用户名)表示不切换环境变量到当前用户下。
sudo
表示获取临时的root权限命令,如:
sudo
gedit
/etc/shadow,表示临时使用root权限来编辑/etc/shadow密码文件,因为/etc/shadow密码文件需要使用root权限才能打开与编辑。所以这里使用了sudo命令临时使用root权限来做一些普通账户无法完成的工作~
网站题目:linux基本命令su linux基本命令实验心得
本文来源:https://www.cdcxhl.com/article36/dosdssg.html
成都网站建设公司_创新互联,为您提供网站收录、品牌网站制作、虚拟主机、网站策划、营销型网站建设、手机网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联