Linux之用户管理
一.系统中为什么要有用户?
设置用户就是为了系统和用户的安全。通过创建用户,可划分权限,不同用户对系统的操作有不同的权限,保证了系统的相对安全.
二.组的概念.
组,其实就是分组,分类。将不同用户分到不同的组中,方便管理员和系统进行管理。
三.用户的配置文件
四.查看用户信息
id username 查看用户的id 信息
id -u usernmae 查看用户的uid
id -g username 查看用户的gid
id -G username 查看用户所在的组id(附加组)
id -n username 以名称显示用户信息
五.用户的建立与删除
可以先写一条命令,用来查看配置文件中的信息.
显示如下:
- 建立用户
useradd username 使用默认规则建立用户
useradd -u username 指定用户的组id
useradd -g username 指定用户的初始组id
如果添加显示组不存在,先用groupadd groupname命令创建这个组
useradd -G username 指定用户的附加组
如果显示不存在,可以创建一个有附加组id的组
useradd -c username 指定用户的说明文字
useradd -d username 指定用户的家目录
useradd -s username 指定用户的shell
cat /etc/shells 指令查看可用的shell , 指定shell
- 删除用户
userdel uesrname 删除用户身份,并不删除配置文件
userdel -r username 删除用户身份及配置文件
六.用户的更改
usermod -l 新名称 旧名称 修改用户的名字
usermod -u id 修改用户的 uid
usermod -g id 修改用户的初始组id
usermod -G id 修改附加组id
usermod -aG id 增加附加组
usermod -c id 修改用户说明
usermod -s id 修改用户shell
usermod -G "" 清除所有附加组
注意:由上图可知,在更改家目录名称是需要同时更改家目录路径,才可以切换到该用户名.
七.用户的认证信息
/etc/shadow 用户的认证信息
可知道用户的认证消息的组成是用户名称:用户密码:用户密码使用时长:用户密码最短有效期:密码过期警告:密码非活跃期:账号到期日:未设定用户自定义
密码指令:
passwd username 超级用户执行
passwd username 普通用户修改自己的密码
usermod -l username 冻结帐号
usermod -u username 解锁
passwd -l username 冻结帐号
passwd -u username 解锁
密码最后一次被修改时间:当被改为0 时,用户第一次登陆必须改密码
chage -d 0 用户
passwd -e 用户
密码最短有效期:
chage -m 8 用户-d名
passwd -n 0 用户名
密码的最长有效期:
chage -M 20 用户名
passwd -x 20 用户名
密码过期警告:
chage -W 9 用户名
passwd -w
密码非活跃期:
chage -I 6 用户名
passwd -i 0 用户名
帐号到期日:
chage -E "2019-12-12" 用户名
如图所示:
八.用户权利下放
使用普通用户进行某些指令时,由于用户权限太小,所以无法执行.例如adduser的命令:
遇到这种情况就需用对配置文件修改
1.配置文件
/etc/sudoers
2.配置命令
visudo 打开文件编译,有错退出会自动检验报错
用户名称 主机名称=(执行程序的身份) 命令1,命令2,... 执行命令时需要用户验证
用户名称 主机名称=(执行程序的身份) NOPASSWD:命令1, 命令2 执行命令时不要用户验证