linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。
一、配置文件
其和用户相关的配置文件如下:
- 保存用户信息的文件:/etc/passwd
- 保存密码的文件:/etc/shadow
- 保存用户组的文件:/etc/group
- 保存用户组密码的文件:/etc/gshadow
- 用户配置文件:/etc/default/useradd
1、/etc/passwd格式
用户名 |
用户登陆系统的用户名 |
密码 |
密码位 |
UID |
用户标示号 |
GID |
默认组标示号 |
描述信息 |
存放用户的描述信息 |
宿主目录 |
用户登陆系统的默认目录,默认是在/home/下 |
命令解析器 |
用户使用的Shell,默认是bash |
2、/etc/shadow格式
用户名 |
登陆系统的用户名 |
密码 |
加密密码 |
最后一次修改时间 |
用户最后一次修改密码距现在的天数,从1970-1-1起 |
最小时间间隔 |
两次修改密码之间的最小天数 |
最大时间间隔 |
密码有效天数 |
警告时间 |
从系统警告到密码失效的天数 |
账号闲置时间 |
账号闲置时间 |
失效时间 |
密码失效的天数 |
标志 |
标志 |
3、/etc/group格式
组名 |
用的所在的组 |
组密码 |
密码位,一般不使用 |
GID |
主标示号 |
组内用户列表 |
属于改组的用户列表 |
二、Linux用户分类
- 超级用户:(root,UID=0)
- 普通用户:(UID在500到60000)
- 伪用户:(UID在1到499)
系统和服务相关的:bin、daemon、shutdown等
进程相关的:mail、news、games等
伪用户不能登陆系统,而且没有宿主目录
三、用户组
每个用户至少属于一个用户组。每个用户组可以包含多个用户。同一个用户组的用户享有该组共有的权限
四、操作用户(组)命令
添加用户命令:useradd
-u 指定组ID(uid)
-g 指定所属的组名(gid)
-G 指定多个组,用逗号“,”分开(Groups)
-c 用户描述(comment)
-e 失效时间(expire date)
例子:
useradd -u 888 -g users -G sys,root -c "hr zhang" zhangsan
passwd zhangsan
修改用户命令:usermod(user modify)
-l 修改用户名 (login)usermod -l a b(b改为a)
-g 添加组 usermod -g sys tom
-G添加多个组 usermod -G sys,root tom
–L 锁定用户账号密码(Lock)
–U 解锁用户账号(Unlock)
删除用户命令:userdel(user delete)
-r 删除账号时同时删除目录(remove)
添加组:groupadd
-g 指定gid
修改组:groupmod
-n 更改组名(new group)
删除组:groupdel
groups 显示用户所属组