Linux如何添加用户(组)及下放权限
1.新建用户(组)
①用户
新建用户需要通过指令useradd来实现。
useradd的一些基本用法如下:
useradd username 新建一个用户
useradd -u uid username 指定用户的uid
useradd -g gid username 指定用户的gid(一定要存在)
useradd -G gid useradd 指定用户的附加组(一定要存在)
useradd -c ‘string’ username 指定用户的说明信息
useradd -d 用户家目录 username 指定用户的家目录
useradd -s /etc/shell username 指定用户所使用的shell(该用户的shell就为/etc/shell)
例:
②用户组
groupadd 123 新建用户组123
groupadd -g 456 789 新建用户组并指定用户组789的ID为456
groupdel 123 删除用户组123
2.用户的切换
1.注销当前用户
注销当前用户需要执行指令:gnome-session-quit --force
在当前用户注销后再使用其他用户登陆。
2.切换用户
切换用户需要用到指令:su - user
注:1.在 su - 指令中,“-”表示在切换用户时,同时切换掉当前用户的环境
2.在执行 su - 指令时,高级用户向低级用户切换不需要密码,如root用户切换至student用户;而低级用户切换至高级用户以及平级用户之间的切换均需要输入密码。
3.用户在系统中的存储方式
/etc/passwd 用户的信息文件。信息格式为“用户名称:密码:uid:gid:说明:家目录:shell”
/etc/group 用户组的信息文件。信息格式为"组名称:组密码:组id:组成员"
/etc/shadows 认证信息文件
/etc/skel/.* 默认开启shell的配置,用户的骨文件
/home/username 用户的家目录
4.用户的查看
①查看当前用户
查看当前用户需要输入指令:whoami
例:
②系统中用户的查看
在系统中实现用户的查看需要用到id指令。
id指令的相关用法:
id user 查看用户user的id信息
id -u user 查看用户user的uid
id -g user 查看用户user的gid
id -G user 查看用户user所在的所有组的id信息
id -n user 显示名字而不显示数字
例:
5.用户信息的修改
用户信息的修改需要用到usermod指令。
具体使用方法如下:
usermod -l SKT IG 更改用户IG的名称为SKT
usermod -u IG 更改IG的uid
usermod -g IG 更改IG的gid(修改的gid也必须是存在的)
usermod -G IG 更改IG附加组(原本的组也在)(默认只有两个组)
usermod -aG IG 添加IG附加组
usermod -c IG 更改用户IG说明信息(如果用户没有说明信息,直接添加)
usermod -d IG 更改用户IG的家目录
usermod -s IG 更改用户IG的shell
usermod -L IG 冻结帐号IG (passwd -L IG也可以)
usermod -U IG 解锁账号IG (passwd -U IG也可以)
例:
6.用户授权
①在系统中超级用户可以下放普通用户不能执行的操作,给普通用户下放权力配置文件:/etc/sudoers
②下放权力的方法
在超级用户中执行visudo命令,进入编辑/etc/sudoers,并跳转到一百行左右。
执行以下命令:
用户(username) 主机名(得到的用户身份)=(获得到的用户身份:root) 命令
例:
tom localhost=(root) /usr/sbin/useradd(下放给tom用户建立新用户的权力)
tom localhost=(root) NOPASSWD: /usr/sbin/useradd(下放给tom用户建立新用户的权力,免密)
注:获取主机名(输入hostname)
③执行下放权限的命令
切换到普通用户后执行以下命令:
sudo useradd username (前面一点要加sudo才可以,不能直接useradd +username)『例如:sudo useradd AA』
8.用户认证信息
①用户认证信息查看
记录用户认证的信息文件是/etc/shadows,
输入以下指令查看
tail -n 2 /etc/shadow
会显示 ght:!!:18084:0:99999:7: : :
ght | !! | 18084 | 0 | 99999 | 7 | |||
---|---|---|---|---|---|---|---|---|
用户名 | 用户密码 | 密码最后一次修改时间 | 密码最短有效期 | 密码最长有效期 | 密码警告期限 | 用户非活跃天数 | 用户到期日 | 暂无 |
②用户密码
用户密码相关指令如下:
passwd username 更改用户密码
passwd -l username 在用户密码前加入“!”
passwd -u username 在用户密码前删除“!”
passwd -L username 在用户密码前加入“!!”
passwd -U username 在用户密码前删除“!1”
passwd-d username 清空用户密码
注:普通用户改密码时:1.必须知道当前用户的原始密码;2.密码不能和账号名称相似;3.密码不能是有序的数字或有序纯字母;4.密码如果是纯数字或者字母要大于8位。
修改以上用户认证信息
用户密码最后一次被修改的时间:
passwd -e ght
chage -d 0
用户密码最短有效期:
passwd -n 1 ght
chage-m 1ght
用户密码最长有效期:
passwd -x 30 ght
chage -N 30 ght
密码警告期限:
passwd -w 2 ght
chage -W 2 ght
用户非活跃天数:
paswd -i 1 ght
chage -I 1 ght
用户到期日:
chage -E 2019-7-7 ght
例: