用户和用户组
usermod -a -G groupname username // 将已有用户添加到已有用户组
/etc/passwd
michael:x:500:500:CentOS:/home/michael:/bin/bash
字段序号 |
说明 |
1 |
用户名 |
2 |
文件中的x如果不写,就代表没有密码,但是只能在本机登录。 |
3 |
uid 0表示超级用户,1-499系统用户(伪用户),500和以后为普通用户 |
4 |
gid 初始组和附加组,初始组不建议修改 |
5 |
介绍说明 |
6 |
家目录 |
7 |
指定shell,不是/bin/bash 就是/sbin/nologin,尽量别修改。 |
/etc/shadow
michael:$1$UUurzUPh$Y6679rU4I9pBlZhg/V0fM0:17095:0:99999:7:::
字段序号 |
说明 |
1 |
用户名 |
2 |
sha512算法生成(如果是!!或者*,则不可登录) |
3 |
密码最后一次修改日期(距离1970年多少天) |
4 |
密码生效时间 |
5 |
密码到期提醒时间 |
6 |
到期以后几天内还可以登录,即失效时间 |
7 |
密码可以用的时间,一般不写,即使你密码生效时间是100天,这边写3天就3天。用时间戳表示 |
8 |
保留字段 |
时间戳换算为日期
date -d '1970-01-02 18 days'
日期转化为时间戳
echo $(($(date --date='2014/01/06' +%s)/86400+1))
/etc/group
组名:组密码标志:GID:组中附加用户
/etc/gshadow
组名:组密码:组管理员用户名:组中附加用户
/home/ , /root
普通用户的家目录权限为700
root家目录目录权限为550,(root无视权限的限制)
普通用户设置成超级用户,将uid设置为0,而不是设置gid。
看提示符判断是不是根用户:# $
/etc/skel
用户模版目录
在这里面添加文件以后,在home/用户名下也会出现对应的文件。
/var/spool/mail/
用户的邮箱
要发送也需要邮件服务器,但是如果发给linux里的用户直接用内存。
/etc/default/useradd
用户默认值文件

/etc/login.defs

用户默认值文件
命令
useradd |
useradd [选项] 用户名 |
-u UID |
添加用户时候指定用户id |
-d 目录 |
添加用户时候指定用户家目录,必须是绝对目录 |
-c 说明 |
|
-g 组名 |
添加用户时候指定用户初始组 |
-G 组名 |
添加用户时候指定用户附加组 |
-s shell |
添加用户时候指定用户登录shell 。默认是/bin/shell |
passwd |
passwd [选项] 用户名 |
-S |
查询用户密码的密码状态,仅root可用 |
-l |
锁定用户,仅root可用 |
-u |
解锁用户,仅root可用 |
--stdin |
可以通过管道符将输出的数据作为用户密码 |
passwd -S jack
# 输出:jack PS 2016-10-29 0 99999 7 -1 (Password set, MD5 crypt.)
# 2016-10-29 密码最后一次修改时间
# 0 密码修改必须间隔0天
# 99999 密码有效期
# 7 密码失效前第几天进行提醒
# -1 密码不失效
usermod |
usermod [选项] 用户名 |
-u UID |
修改用户id |
-c 说明 |
|
-G 组名 |
|
-L 用户名 |
锁定密码 |
-U 用户名 |
解锁密码 |
chage |
chage [选项] 用户名 (用vi直接编辑shadow文件更直接) |
-l |
列出用户的详细密码状态 |
-d 日期 |
修改密码最后一次修改时间,shadow文件的第三个字段 |
-m 天数 |
两次密码修改间隔,shadow文件第四个字段 |
-M 天数 |
密码有效期,shadow文件的第五个字段 |
-W 天数 |
密码到期前警告天数,shadow文件的第六个字段 |
-I 天数 |
密码过期后宽限天数,shadow文件的第七个字段 |
-E 日期 |
帐号失效时间,shadow文件的第八个字段 |
chage -d 0 michael #将密码修改日期归0了,用户只要一登陆就需要修改密码
userdel 用户名 #删除用户
userdel -r 用户名 #删除用户和家目录
su - 用户名 #连同环境一起切换
id 用户名 #查看用户id
groupadd |
groupadd [选项] 组名 |
-g GID |
添加组时候指定组id |
groupmod |
groupmod [选项] 组名 |
-g GID |
修改组id |
-n 新组名 |
修改组名 |
groupdel 组名 #要想删除组,组一定不能是某用户的初始组。
gpasswd |
gpasswd [选项] 组名 |
-a 用户名 |
把用户加入附加组 |
-d 用户名 |
将用户从附加组删除 |