A、首先创建hehe用户
[root@Centos01 ~]# useradd -M -s /bin/sh -u 1000 hehe //创建hehe用户
[root@Centos01 ~]# cat /etc/passwd //查看hehe信息
B、创建haha组
[root@Centos01 ~]# groupadd –g 2000 haha //新建haha组
[root@Centos01 ~]# cat /etc/group //查看haha组信息
[root@Centos01 ~]# gpasswd -a hehe haha //把hehe用户加入haha组
[root@Centos01 ~]# cat /etc/group //查看添加成功与否
用户管理
1.用户信息文件
1)/etc/passwd:用户信息
例:
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
用户名:密码占位符:UID:GID:描述信息:家目录:使用的Shell(常见/bin/bash、/sbin/nologin不允许登录系统,一般用于程序用户)
2)/etc/shadow:用户密码(加密)
例:
root:$6$FHdPVQ1:17211:0:99999:7:::
用户名:
密码信息($开头为密码正常状态,!!开头则当前用户未设置密码, 不允许登陆系统):
上次修改密码的时间(1970-01-01自动统计):
密码最短使用期限(多少天后方可更改密码,0可随时更改密码):
密码最长使用期限(多少天后必须强制更改密码,才可继续使用、99999账户永不过期):
密码提前提醒天数:
账号失效时间(到达时间,账号自动禁用):
未使用
1)新建用户
useradd [] 用户名
选项:
-d:指定新建用户家目录;默认为/home/目录(例:useradd -d /tmp/u01 u01)
-s:指定新建用户shell;默认为/bin/bash(例:useradd -s /sbin/nologin vsftpd)
-u:指定新建用户UID;默认为500-∞(例:useradd -u 10000 u02)
-g:指定新建用户的GID;默认为500-∞(该组必须存在)
-M:指定新建用户不需要家目录;默认为-m效果,新建目录
注:默认新建用户时如不指定新建选项,则执行/etc/login.defs(UID、GID、密码等信息)文件内容、并读取/etc/default/useradd文件(创建用户家目录并拷贝默认文件(/etc/skel))
.bashrc:用户每次登录时,自动执行的文件(一般存放用户);/etc/bashrc:针对所有用户生效
.bash_profile:用户每次登录时,自动执行的文件(一般定义变量或别名);/etc/profile:针对所有用户生效
.bash_logout:用户每次退出登录时,自动执行的文件
2)更改用户
usermod [] 用户名
-d:指定已存在用户的家目录,主要用于迁移家目录(迁移时需手动迁移家目录)
-s:指定已存在用户的Shell
-u:指定已存在用户的UID
-g:指定已存在组的GID
注:所有新建用户,必须设置密码后方可登录
组管理
1.组信息文件
1)/etc/group:组名及组员
例:
adm:x:4:adm,daemon
组名:密码占位符:GID:成员
2)/etc/gshadow:组的密码及组员
haldaemon:!::haldaemon
组名:当前组未设置密码::成员
GID:组标识ID
0:root组默认值,代表超级管理员组
1-499:程序组(专用于存储程序用户)
500-接近∞:普通用户组(专用于普通用户)
注:新建用户,如不指定组名,则新建与用户同名的组
2.组管理
1)新建组
groupadd [选项] 组名
选项:
-g:指定新建组GID,默认从上一个组+1
2)更改组GID
groupmod [选项] 组名 //更改组
选项:
-g:更改组GID
3)将用户加入指定组
gpasswd [选项] 用户名 组名
选项:
-a:将指定用户加入组
-d:将指定用户从组中移除
-M:批量添加、删除组成员,用于定义成员列
密码管理
1)设置密码
passwd [] 用户名
选项:
-d:清空指定用户密码,可空密码登录
-l:锁定用户,不允许登录
-u:解锁用户,允许用户登录(如用于原为空密码,则需先设置密码或添加-f选项)
注:useradd、userdel、usermod、passwd密码只能root用户或具有管理员权限用户执行(普通用户可直接执行passwd更改当前用户密码)
-x:指定密码最长使用时间,默认永久
-n:指定密码最短使用时间,默认为0,任意时间都可更改密码
chage -E "时间" 用户 //设置账号失效时间
chage -d 0 用户 //强制用户密码过期,用户下次登录时必须强制更改密码
chage -l 用户 //查看账号的密码控制信息(如最短、最长密码使用时间等)
查询账号信息
id [ 用户名 ] //查询用户的信息;如UID、GID、所属组
groups [ 用户名 ] //查询用户所属组
finger [ 用户名 ] //查询用户的详细信息