Linux用户和用户组管理
一,用户管理相关文件
1,用户的家目录:
普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700
超级用户:/root/,所有者和所属组都是root用户,权限是550
2,用户的邮箱
/var/spool/mail/用户名
3,用户模板目录
/etc/skel/
用户模板目录是添加用户的时候家目录下默认生成的文件
二,用户管理常用命令
1,用户添加命令 useradd
useradd命令格式
useradd [选项] 用户名
选项:
-u UID 手工指定用户的UID号
-d 家目录 手工指定用户的家目录
-c 用户说明 手工指定用户的说明
-g 组名 手工指定用户的初始组
-G 组名 指定用户的附加组
-S shell 手工指定用户的登录shell 默认是/bin/bash
添加默认用户 例:useradd Cl0ud
用户默认值文件
1,/etc/defaults/useradd
2,/etc/login.defs
2,修改用户密码 passwd
1,passwd 命令格式
passwd 【选项】用户名
选项:
-S 查询用户密码的密码状态,仅root用户可用
-l 暂时锁定用户,仅root用户可用(lock)
-u 解锁用户,仅root用户可用(unlock)
--stdin 可以通过管道符输出的数据作为用户的密码
2,查看密码状态 passwd -S Cl0ud
3,使用字符串作为用户的密码
echo "123" | passwd --stdin Cl0ud
将输出的123作为Cl0ud的密码,这个命令一般用于shell编程中,批量修改密码
3,修改用户信息 usermod ,修改用户密码状态chage(针对存在的用户)
1,usermod 【选项】用户名
选项:
-u UID 修改用户的UID号
-c 用户说明 修改用户的说明信息
-G 组名 修改用户的附加组
-L 临时锁定用户(lock)
-U 解除用户锁定(Unlock)
2,修改用户密码状态 chage
chage 【选项】用户名
选项:
-l 列出用户的详细密码状态
-d 日期 修改密码最后一次更改日期(shadow第三字段)
-m 天数 两次密码修改间隔 (shadow第四字段)
-M 天数 密码有效期(shadow第五字段)
-W 天数 密码过期前警告天数(shadow第六字段)
-I 天数 密码过期后的宽限天数(shadow第七字段)
-E 天数 账号失效时间(shadow第八字段)
chage -d 0 Cl0ud
这个命令其实是把密码修改日期归0了(shadow第三字段),这样用户一登录就需要修改密码
4,删除用户命令userdel和用户切换命令su
1,删除用户userdel
userdel 【-r】用户名
选项:
-r 删除用户的同时删除用户的家目录
手工删除用户:
vi /etc/passwd
vi /etc/shadow
vi /etc/group
vi /etc/gshadow
rm -rf /var/spool/mail/用户名
rm m-rf /home/Cl0ud
在linux中命令的操作实际上还是对文件的操作,所以我们可以直接通过修改文件达到删除用户的目的,不过为了方便,我们大多数时候还是使用命令,如果手工操作文件没有删除干净的话,再次创建同名用户的时候会提示用户存在,创建失败
2,查看用户ID
id 用户名
3,切换用户身份su(env 查看用户环境变量名)
su 【选项】用户名
选项:
- :选项只使用"-"代表连带用户的环境变量一起切换
-c 命令 :仅执行一次命令,而不切换用户身份
三,用户组管理命令
1,添加用户组
groupadd 【选项】组名
选项
-g GID 指定组ID
2,修改用户组
groupmod 【选项】组名
选项:
-g GID 修改组ID
-n 新组名 修改组名
groupmod -n testgroup group
3,删除用户组
groupdel 组名
4,把用户添加入组或者从组中删除【附加组】
gpasswd 【选项】组名
选项:
-a 用户名 把用户加入组
-d 用户名 把用户从组中删除