用户和用户组的管理
用户管理简介
- 越对服务器安全性能高的服务器,越要建立合理的用户权限等级制度和服务器操作规范。
- 在linux中主要通过用户配置文件来检查和修改用户信息。
概念:
- 初始组:就是指这个用户一登陆就立刻拥有这个用户组的相关权限,每个用户组的初始组只能有一个,一般就是和这个用户的用户名相同的组名作为这个用户初始组。
- 附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。
- shell:shell就是命令解释器,在/etc/passwd当中,除了标准shell是/bin/bash之外,还可以写如/sbin/nologin
- 时间戳换算
- 把时间戳换算成为日期date -d “1970-1-1 16666 days”
- 把日期转换为时间戳echo dallor符((dallor符(date –date=”2016/07/03 +%s”)/86400+1))
用户配置文件
- /etc/passwd
- 第一字段:用户名称。
- 第二字段:密码标志。
- 第三字段:UID.(用户ID)
- 0 超级用户
- 1-49 普通用户(伪用户)
- 500-65535 普通用户
- 第四个字段:GID(用户出事组ID)
- 第五字段:用户说明
- 第六字段:家目录
- 普通用户:/home/用户名/
- 超级用户:/root/
- 第七字段:登陆之后的shell
/etc/passwd文件的部分内容
- /etc/shadow(影子文件)
- 第一字段:用户名
- 第二字段:加密密码(即使连个密码相同,加密后的字符也不同)
- 加密算法升级为SHA512散列加密算法
- 如果密码位是“!!”或“*”代表没有密码,不能登陆
- 第三字段:密码最后一次修改日期
- 使用1970年1月1日作为标准时间,没过一天时间戳加1
- 第四字段:两次密码的修改间隔时间(和第三字段相比)
- 第五字段:密码有效期(和第三字段相比)
- 第六字段:密码修改到期前的警告天数(和第五字段相比)
- 第七字段:密码过期后的宽限天数(和第五字段相比)
- 0:代表密码过期后立即失效
- -1:代表密码永远不会失效
- 第八字段:账号失效时间
- 要用时间戳表示
- 第九字段:保留
/etc/shadow文件部分内容
- /etc/group(组信息文件)
- 第一字段:组名
- 第二字段:组密码标志
- 第三字段:GID
- 第四字段:组中附加用户
/etc/group文件部分内容
- /etc/gshaow(组密码文件)
- 第一字段:组名
- 第二字段:组密码
- 第三字段:组管理员用户名
- 第四字段:组中附加用户
- 用户的家目录
- 普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700
- 超级用户:/root/,所有者和所属组都是root用户,权限是550
- 用户的邮箱:/var/spool/mail/用户名/
- 用户模板目录:/etc/skel
- usradd格式命令
useradd [选项] 用户名
选项:
- -u UID 手工指定用户的UID号
- -d 家目录 手工指定用户的家目录
- -c 用户说明 手工指定用户的说明
- -g 组名 手工指定用户的初始组(尽量不要改初始组)
- -G 组名 指定用户的附加组
- -s shell 手工指定用户的登陆shell。默认是/bin/bash
(注:useradd本质就是修改以上的配置文件)
- passwd命令格式
passwd [选项] 用户名
选项:
- -S 查询用户密码的密码状态。仅root用户可以用。
- -l 暂时锁定用户。仅root用户可用。
- -u 解锁用户。仅root用户可用。
- –stdin 可以通过管道符输出数据作为用户的密码
- usermod 修改用户信息
usermod [选项] 用户名
选项:
- -u UID 修改用户的UID号
- -c 用户说明 修改用户的说明信息
- -G 组名 修改用户的附加组
- -L 临时锁定用户(Lock)
- -U 解锁用户锁定(Unlock)
- chage(修改用户密码状态)
chage [选项] [用户名]
选项:
- -l 列出用户的详细密码状态
- -d 日期 修改密码最后一次更改日期(shadow3字段)
- -m 天数 两次密码修改间隔(4字段)
- -M 天数 密码有效期(5字段)
- -I 天数 密码过后宽限天数(7字段)
- -E 日期 账号失效时间(8字段)
- userdel删除用户
userdel [-r] 用户名
选项:
- -r 删除用户的同时删除家目录(即删除相关的配置文件)
- 查看用户ID
id 用户名
- su(切换用户身份)
su [选项] 用户名
选项:
- -: 选项只使用 - 代表连带用户的环境变量一起切换
- -c: 仅执行一次命令,而不切换用户身份