良许Linux教程网 干货合集 Linux切换用户具体方法

Linux切换用户具体方法

Linux系统如何切换用户?Linux系统是一个多用户的系统,在日常的工作和学习过程中需要在不同的用户之间来回切换,下面为大家分享一下Linux下切换用户具体方法, 有需要的小伙伴可以参考一下。

Linux切换用户具体方法

一. su

  1. su用于用户之间的切换,但是切换前的用户依然保持登录状态。如果是root向普通切换则不需要密码,反之普通用户切换到其它任何用户则都需要密码验证。

  2. su不加任何参数默认切换到root用户,但没有转到root用户根目录下;su 加参数-,表示默认切换到 root 用户,并转到 root 用户根目录下。

  3. su的明显不足在于如果某个用户需要使用 root 权限、则必须要把root密码告诉此用户。

  4. 退出返回之前的用户:exit

切换到git用户

 [root@iZ2ze9twtxjrbirmldp9owZ ~]# su git
 [git@iZ2ze9twtxjrbirmldp9owZ root]$ pwd
 /root
 [git@iZ2ze9twtxjrbirmldp9owZ root]$ exit
 exit
 [root@iZ2ze9twtxjrbirmldp9owZ ~]# 123456

以下操作是使用haha用户登录客户端操作的

 [haha@centos6-1 ~]$ su
 Password:
 [root@centos6-1 haha]# pwd
 /home/haha
 [root@centos6-1 haha]# exit
 exit
 [haha@centos6-1 ~]$ su -
 Password:
 [root@centos6-1 ~]# pwd
 /root
 [root@centos6-1 ~]# 1234567891011

二. sudo

sudo是为所有想使用root权限的普通用户设计的,可以让普通用户具有临时使用root权限的权利,只需输入自己账户的密码即可。当然这个普通用户必须在/etc/sudoers文件中有配置项才具有使用sudo的权利。

没有配置权限之前,普通用户无法进行 root 权限操作:

 [haha@centos6-1 ~]$ pwd
 /home/haha
 [haha@centos6-1 ~]$ ll /root/
 ls: cannot open directory /root/: Permission denied
 [haha@centos6-1 ~]$ 12345

没有配置权限之前,不能使用sudo

 [haha@centos6-1 ~]$ sudo ls /root/
 [sudo] password for haha:
 haha is not in the sudoers file.  This incident will be reported.
 [haha@centos6-1 ~]$ 1234

使用root用户登录配置haha用户的sudo权限,命令行输入 visudo,打开/etc/sudoers 文件。注意,官方不建议直接vi /etc/sudoers对其进行修改

 ## Allow root to run any commands anywhere
 root    ALL=(ALL)       ALL     //在文件中找到这一行
 haha    ALL=(ALL)       ALL     //并在其下面添加此行,这样haha就可以使用sudo执行root权限的命令了
 ## Allows members of the 'sys' group to run networking, software,
 ## service management apps and more.
 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS123456

用haha用户再次登录客户端操作,发现成功了

 [haha@centos6-1 ~]$ sudo ls /root/
 [sudo] password for haha:
 anaconda-ks.cfg  install.log  install.log.syslog  license  notice
 [haha@centos6-1 ~]$ 1234

sudo的工作过程如下:

 1. 当用户执行 sudo 时,系统会主动寻找/etc/sudoers 文件,判断该用户是 否有执行 sudo 的权限
 2. 确认用户具有可执行 sudo 的权限后,让用户输入用户自己的密码确认
 3. 若密码输入成功,则开始执行 sudo 后续的命令
 123

/etc/sudoers文件中配置的含义

haha ALL=(ALL) ALL 第一个 ALL 是指网络中的主机,我们可以指定主机名,这样 haha 只可以 在此主机上执行后面的命令。第二个括号里的 ALL 是指目标用户,也就是以谁的 身份去执行命令。最后一个 ALL 是指命令名了。

 haha centos6-1=(zaomianbao)/bin/kill //只允许haha用户以zaomianbao用户的身份在centos6-1上执行kill命令
 haha centos6-1=NOPASSWD:/bin/ls, /bin/cat  //只允许haha用户以root身份在centos6-1上执行ls 、cat命令12

我们修改haha为第二个形式haha centos6-1=NOPASSWD:/bin/ls, /bin/cat

 [haha@centos6-1 ~]$ sudo ls /root/
 anaconda-ks.cfg  install.log  install.log.syslog  license  notice
 [haha@centos6-1 ~]$ sudo cat /root/anaconda-ks.cfg
 # Kickstart file automatically generated by anaconda.
 #version=DEVEL
 install
 cdrom
 [haha@centos6-1 ~]$ sudo vi /root/anaconda-ks.cfg
 [sudo] password for haha:
 Sorry, user haha is not allowed to execute '/bin/vi /root/anaconda-ks.cfg' as root on centos6-1.
 [haha@centos6-1 ~]$1234567891011

可以看到,haha用户具有ls和cat的权限,但是没有vi的权限

总结

至此关于Linux下切换用户的方法分享结束,大家如果还有相关疑问可以通过评论区将问题提交给我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部