su
su命令用来切换用户,切换到别的用户需要输入密码进行登录。su命令的切换实际上相当于在用户1中打开用户2的情况,所以使用exit命令退出时会回退到用户1。
通过su切换用户
通过pstree也可以看到进行了多次su切换用户
登出也能够看到退回到之前的用户
su命令及选项
su:后跟用户名不跟用户名默认切换到root,表示切换到其他用户,但是不会切换到该用户的家目录,可能会导致查看用户配置时,将上一个用户的配置认为是当前用户的配置,不建议这么做。
su -:后跟用户名,切换到其他用户的同时,切换到该用户家目录。
查看当前用户的命令
id:查看当前用户,可以查看用户的UID,GID等
whoami:仅仅查看当前用户
调用root权限执行某个命令
当某些用户无法登陆root用户但又需要使用root权限去执行某些命令时,就需要使用sudo命令,sudo通过查看sudo的配置文件/etc/sudoers中的相关配置以决定能否调用root权限执行命令,由于/etc/sudoers文件中没有其他用户的配置,所以需要我们进入文件中编辑。编辑sudo的配置建议使用visudo,当语法错误时,会提醒用户,而vim /etc/sudoers不会提醒。还有一点需要注意,没有修改sudoers文件的权限时默认只能root写入,同时会警告这是一个只读文件。
99行的注释表示允许root在任何地方执行任何权限
100行中第一个all表示可以在任何主机上,第二个(all)表示root权限第三个all表示所有命令
如果想让其他用户调用root权限
在roo下面按照用户 all=命令的格式添加就行,第二个(all)可以不写,不写默认获取root所有权限,命令建议写绝对路径,!后面跟命令表示禁止调用root权限执行命令,多个命令可以用逗号分隔开。如果想调用root权限执行/usr/sbin下的所有命令可以写成/usr/sbin/*
当有多个命令需要调用root权限时可以对命令设置别名减少重复劳动。
wheel组是一个系统内置的GID为10的组,是一个特殊的组,拥有最大权限,对组的设置格式和对用户的设置格式一样,不过组名前需要加%