用户管理相关配置文件
用户信息文件/etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:口令:UID:GID:备注:家目录:shell
用户名:。。。用户的名称,没什么说的
口令:此处的口令只是一个标示,标识该用户是否有密码,有,为x,没有,不填。没密码的用户是无法进行远程登录的
真正的口令在/etc/shadow文件中,
UID:用户id,0-超级用户,1-499 系统自用 500-65535 普通用户
把普通用户uid改成0即可将其变成超级用户
GID:初始组id,即用户的缺省组,用户一建立就加入该组,初始组默认与用户同名,每个用户只能有一个初始组
用户还可以加入其他组,这些组叫附加组,附加组可以有多个
备注:对用户的一个说明,可以没有
家目录:普通用户:/home/用户名 超级用户 /root
shell:linux标准shell:bash
暂时禁用某个用户,可以将其shell改为/sbin/nologin 该用户将无法登录
影子文件/etc/shadow
保存各个用户的密码
shadow 的权限为000,所以只有root能打开。用vim修改后要用:wq!来强制保存
yin:
6
<script type="math/tex" id="MathJax-Element-12">6</script>BYwIl.Tt$7….xLzKcN4m/:17370:0:99999:7:::
用户名:加密密码:密码最后修改日期:两次密码修改时间间隔:密码有效期:警告天数:宽限天数:账号失效时间:保留
用户名:
加密密码:加密算法为sha512散列算法,如果密码为!!或*代表没有密码,不能登录
密码最后修改日期:linux以1970年1月1日为标准时间0,每过一天时间戳加一,
两次密码修改时间间隔:密码修改后间隔多长时间后才能修改
密码有效期:过期后会禁止登录
警告天数:密码到期之前的警告时间
宽限天数:密码过期后的宽限天数,0代表立即失效,-1代表永不失效
账号失效时间:改用户可以登录的天数,到期即禁用,不管有效期。要用时间戳表示
时间戳计算命令
date -d “1970-01-01 n days”
组信息文件/etc/group
yin:x:1000:
组名:组密码标识:GID:组附加用户
这里只能看到附加用户,看不到初始用户,只能通过passwd与group中的相关信息来看
组密码文件/etc/gshadow
组名:组密码:组管理员用户:组附加用户
用户管理相关文件
用户默认值文件/etc/default/useradd /etc/login.defs
用户家目录
普通用户:/home/用户名 所有者所属组都是此用户,权限700
超级用户:/root 所有者与所属组都是root,权限550,
但要注意,权限对root用户没用,root拥有对所有文件目录的全部权限
把普通用户uid改成0即可将其变成超级用户,改为超级用户后,该用户的家目录没变
用户邮箱目录/var/spool/mail
用户模版/etc/skel
没建立一个用户,就会将该目录下的文件复制到用户家目录下
建立一个用户,会影响如下文件
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/var/spool/mail/username
/home/username
手工修改这些文件也可以起到修改用户的作用
用户管理命令
useradd 选项 用户名
添加用户
-u uid: 手工指定uid
-d home 手工指定家目录
-c 说明: 手工指定用户说明
-g group: 手工指定初始组
-G group: 手工指定用户的附加组,逗号分隔
-s shell: 手工指定shell
passwd 选项 用户名:
修改用户密码
不写用户名表示操作当前用户
-S 查询用户密码状态。仅限root
-l 暂时锁定用户。仅限root
-u 解锁用户。仅限root
--stdin 可以通过管道符输出的数据作为用户密码
usermod 选项 用户
修改用户状态
useradd可用的usermod都可用
-L 锁定用户
-U 解锁用户
chage 选项 用户名
修改用户密码状态
-l 显示用户密码信息
-d 日期 修改密码最后一次修改日期3
-m 天数 修改密码修改间隔4
-M 天数 密码有效期 5
-W 天数 密码过期前警告天数6
-I 天数 宽限天数7
-E 日期 失效时间8
要求用户一登录就修改密码:
chage -d 0 username
userdel 选项 用户名:
删除一个用户
-r 删除用户的同时删除用户家目录
id 用户名
查看用户的uid,gid等id信息
su 选项 用户名
- : 切换环境变量
-c: 仅执行一次命令,而不切换用户
通常情况需要这样执行
su - root #切换为root且使用root的环境变量,不加 - 会不改变环境变量
su - root -c "some commend" #不切换用户,执行一次该用户的命令
whoami
我是谁
groupadd 选项 组名
添加用户组
-g 指定gid
groupmod 选项 组名
修改用户组
-g 修改gid
-n 新组名 修改组名
groupdel 组名
删除用户组,如果组中有初始用户,那么无法删除,附加用户不影响
gpasswd 选项 组名
-a 用户 向组中加用户
-d 用户 从组中删除用户