Linux切换用户的方法是什么

来源:互联网转载和整理 2024-04-23 14:05:10

linux切换用户

一. su

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

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

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

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

切换到git用户

[root@iZ2ze9twtxjrbirmldp9owZ~]#sugit[git@iZ2ze9twtxjrbirmldp9owZroot]$pwd/root[git@iZ2ze9twtxjrbirmldp9owZroot]$exitexit[root@iZ2ze9twtxjrbirmldp9owZ~]#123456

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

[haha@centos6-1~]$suPassword:[root@centos6-1haha]#pwd/home/haha[root@centos6-1haha]#exitexit[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:cannotopendirectory/root/:Permissiondenied[haha@centos6-1~]$12345

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

[haha@centos6-1~]$sudols/root/[sudo]passwordforhaha:hahaisnotinthesudoersfile.Thisincidentwillbereported.[haha@centos6-1~]$1234

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

##AllowroottorunanycommandsanywhererootALL=(ALL)ALL//在文件中找到这一行hahaALL=(ALL)ALL//并在其下面添加此行,这样haha就可以使用sudo执行root权限的命令了##Allowsmembersofthe'sys'grouptorunnetworking,software,##servicemanagementappsandmore.#%sysALL=NETWORKING,SOFTWARE,SERVICES,STORAGE,DELEGATING,PROCESSES,LOCATE,DRIVERS123456

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

[haha@centos6-1~]$sudols/root/[sudo]passwordforhaha:anaconda-ks.cfginstall.loginstall.log.sysloglicensenotice[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 是指命令名了。

hahacentos6-1=(zaomianbao)/bin/kill//只允许haha用户以zaomianbao用户的身份在centos6-1上执行kill命令hahacentos6-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~]$sudols/root/anaconda-ks.cfginstall.loginstall.log.sysloglicensenotice[haha@centos6-1~]$sudocat/root/anaconda-ks.cfg#Kickstartfileautomaticallygeneratedbyanaconda.#version=DEVELinstallcdrom[haha@centos6-1~]$sudovi/root/anaconda-ks.cfg[sudo]passwordforhaha:Sorry,userhahaisnotallowedtoexecute'/bin/vi/root/anaconda-ks.cfg'asrootoncentos6-1.[haha@centos6-1~]$1234567891011

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

关于“Linux切换用户的方法是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Linux切换用户的方法是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。