Linux中最大权限用户为root用户(超级管理员)
su 命令 (Switch User)用于账户切换的系统命令
语法:su [-] [用户名]
-符号可选,表示是否在切换用户后加载环境变量。建议带上
用户名:表示要切换的用户,用户名可省略,省略表示切换到root
切换用户后,可以通过exit命令退回到上一个用户,也可以用快捷键ctrl+d
(使用普通用户,切换到其他用户需要输入密码,使用root用户切换无需密码,切换root时需输入密码,且密码不显示。)
sudo 命令:为普通命令授权,临时以root身份执行
语法:sudo 其他命令
在其他命令前带上sudo,可为这条命令临时赋予root授权
普通用户需要配置sudo认证才能使用
普通用户配置sudo认证
切换root用户,执行visudo命令,通过vi编辑器打开/etc/sudoers
shift+g 移动光标到最后一行,按o
在文件的最后添加 用户 ALL=(ALL) NOPASSWD: ALL
(nopasswd 无需密码)
用户,用户组
Linux系统中可以配置多个用户,配置多个用户组,用户可以加入多个用户组
Linux中关于权限的管控级别有两个
针对用户的权限控制,针对用户组的权限控制。
比如针对某文件可以控制用户权限,也可以控制用户组权限。
以下命令需要root用户执行
创建用户组:groupadd 用户组名
删除用户组:groupdel 用户组名
创建用户: useradd [-g -d] 用户名
(-g指定用户的组,不指定-g会创建同名用户组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g。 -d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名)
删除用户: userdel [-r] 用户名
(-r 删除用户的HOME目录。不使用-r,删除用户时,HOME目录保留)
查看用户所属组:id [用户名]
(不输入用户名则查看自身)
修改用户所属组:usermod -aG 用户组 用户名
getent命令:查看系统用户/组
语法:getent passwd /group
用户共有七份信息,分别是:
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
组包含三份信息:
组名称:组认证(显示为x):组ID