Linux用户管理
1.为什么要进行用户管理?
- 计算机可以通过用户权限机制实现用户对计算机资源的访问。
2.基本知识
当我们登录Linux时,需要以某个用户的身份的登录。
每个用户拥有唯一的UserId,操作系统实际使用的是uid而非用户名。
- 每个组拥有唯一的GroupId, 用户组用来组织和管理用户。
- 每个用户属于某个主组,同时属于若干个附属组。
- 每个可登陆用户拥有指定的shell。
- 每一个进程都需要以某个用户的身份运行,同时受该用户权限的限制。
- 用户信息保存在 /etc/passwd 文件里,组信息保存在 /etc/group里,
密码信息一般保存在 /etc/shadow 里。可以通过编辑这些信息文件来改变用户即用户组等信息。 - 用户id为32位,从0开始,为了和老式系统兼容,用户id限制在60000以内。
- 用户分为以下三种
- root用户:用户id强制为0
- 系统用户:用户id为1~499,一般是为某些服务创建的,限制进程使用资源
- 普通用户:用户id为500以上
- 系统中的文件都有一个所属用户和所属组
- 使用id命令可以查看当前用户的信息
- 使用passwd命令可以修改当前用户的密码
常用的用户管理命令
1.获取超级用户权限
su //获取超级用户权限,不改变当前目录
su - //获取超级用户权限,同时改变当前目录为/root
sudo //以超级用户权限执行某个命令
2.添加/删除用户
useradd [-u uid] [-g gid] [-d home] [-s shell] username
// -u 指定用户id -g 指定组id -d 指定家目录 -s 指定shell
userdel -r username //删除用户,同时删除其家目录等
3.修改用户信息
usermod [-u uid] [-g gid] [-d home] [-s shell] username
passwd username //修改用户密码
passwd //缺省参数表示修改当前用户密码
4.添加/删除用户组等
groupadd groupname //添加用户组
gpasswd -a username groupname //将指定用户添加到指定用户组里
gpasswd -d username groupname //将指定用户从指定用户组里删除
groupdel groupname //删除用户组
5.用户密码期限
- 用户密码具有时限
chage -l username //查看用户密码信息
chage username //设置用户密码信息