目录
用户
Linux是一个多用户、多任务的服务器操作系统。Linux用户是根据角色定义的,具体分为三种角色:
超级用户:拥有对系统的最高管理权限,默认是 root 用户。
普通用户:只能对自己目录下的文件进行访问和修改,具有登录系统的权限。
虚拟用户:也叫“伪”用户,这类用户最大的特点是不能登录系统,它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。
用户UID | 系统含义 |
0 | 超级用户,拥有系统的最高权限 |
1-200 | 系统用户,系统分配给系统程序使用,不需要登陆系统 |
201-999 | 系统用户,用来运行服务,不需要登陆系统的 |
1000+ | 普通用户 |
用户组
在Linux系统中,每新建一个用户,就会对应新建一个与用户名同名的用户组,有以下两种角色的用户组:
主组:每个用户有且只有一个主要组,创建用户时默认创建。
附属组:用户可以是零个或多个附属组成员。一般用于帮助确保用户具有对系统中文件及其他资源的访问权限。
用户配置文件
用户配置文件 /etc/passwd
从左到右一次是:
用户名:用户登录系统时使用的用户名。
口令:存放加密的口令,被/etc/shadow 文件保护。
用户标识号(UID):系统内部用它来标识用户,每个用户的 UID 都是唯一的。
用户组标识号(GID):系统内部用它来标识用户所属的组,这里的 GID 是主组 GID。
注释性描述:为了方便管理和记忆该用户而添加的信息。
用户主目录:也称家目录,用户登录系统后所进入的目录。
命令解释器:指示该用户使用的 Shell,CentOS Linux 7 默认的是 bash。如果指定 Shell 为/sbin/nologin,则代表用户无法登录系统。所以查看系统中可以登录的所有用户命令是# cat /etc/passwd | grep /bin/bash
用户密码配置文件 /etc/shadow
从左到右依次是:
用户名:用户账户名。
密 码:用户的加密密码。
最后一次修改的时间:从 1970 年 1 月 1 日起,到用户最后一次更改密码的时间。
最小时间间隔:两次改变密码间相距的最小天数
最大时间间隔:两次改变密码间相距的最大天数,超过则过期,99999为永不过期。
警告时间:在密码过期之前多少天提醒用户更新,默认值是 7 天。
密码过期日期:密码到过期的天数
密码失效日期
保留位:无实际意义
用户组配置文件
组配置文件 /etc/group
从左到右依次是:
组名:组的名称。
组口令:用户组的口令,用 x 表示口令是被/etc/gshadow 文件保护的。
组标识号(GID):系统内部用它来标识用户组,每个用户组的 GID 都是唯一的。
组成员:该组的成员。
组密码配置文件 /etc/gshadow
从左到右依次是:
组名:组的名称。
组口令:用户组的口令,保存已加密的口令。
组的管理员帐号:组的管理员帐号,管理员有权对该组添加、删除帐号。
组成员:该组的成员,多个用户用“,”分开。
用户管理命令
useradd(创建新用户)
useradd 用户名 :新建用户,在home目录下产生相同名字的住、主目录和基本组以及邮箱。
-d 指定用户主目录
-g 指定用户组
-m 若主目录不存在,则创建
-M 不创建主目录
-s 指定登录时使用的 Shell 类型,默认为/bin/bash,如果为/bin/nologin 就是虚拟用户
-c 设置对该账号的注释说明文字
-r 创建系统账号(用户ID 小于 1000,从 999 起按照递减的顺序创建),默认不创建主目录
-u 手工指定新用户的 ID 值,该值必须唯一,且大于 999。
passwd(管理用户密码)
passwd用户名 :为该用户设置密码
passwd -S用户名 :查看用户密码是否为空
passwd -l用户名 :锁定用户(其他用户不能登录到该用户)
passwd -u用户名 :解锁用户
passwd -d用户名 :删除用户密码
usermod(修改用户属性)
-l 修改用户名
-c 修改用户描述信息
-d 修改主目录
-L 锁定帐号,临时禁止用户登录
-U 对帐号解锁
-g 修改用户所属组
-G 修改用户附加组
-s 修改用户登录的 shell 类型
-u 修改用户 ID 号
-e 修改用户有效期
-f 修改用户密码在多少天后过期
例如将用户名wang改为li :usermod -l li wang
userdel(删除用户)
userdel 用户名 :删除用户(默认只删除用户和基本组)
userdel -r用户 :还会删除主目录和邮箱
chage(修改用户密码期限)
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码
-W 用户密码到期前,提前收到警告信息的天数
-M 密码保持有效的最大天数
-E 账号到期的日期。过了这天,此账号将不可用
-d 上一次更改的日期
-I 停滞时期。如果一个密码已过期这些天,那么此账号将不可用
-l 列出当前的设置。由非特权用户来确定他们的密码或账号何时过期
比如设置用户wang的密码最大有效期为 40 天,提前 7 天警告,失效时间 50 天:
chage -M 40 -W 7 -E 50 wang
chfn(修改用户注释信息)
-f 真实姓名
-o 办公号码
-p 办公电话
-h 住宅电
chsh(修改用户登录类型)
-s 指定登录 shell
1、例如将用户wang的登录shell修改为/sbin/nologin:
chsh wang -s /sbin/nologin
2、例如统计可以登录系统的用户个数:
cat /etc/passwd | grep /bin/bash$|wc -l
id(查看用户id)
id 用户名
用户组管理命令
groupadd(创建用户组)
groupadd 组名称
groupmod(修改用户组属性)
-n 修改组名
-g 修改组标识号 GID
groupdel(删除用户组)
groupdel 组名称
gpasswd(管理组成员)
-a 添加用户到组。
-d 将用户从组中删除。
-A 设置用户为组管理员。
将用户wang添加到组qqq :gpasswd -a wang qqq
groups(输出指定用户所在组)
groups 用户名