用户和组
多用户多任务的特点
Linux管理模式和私有模式:每一个用户对应一个和用户同名的组
公有模式:
用户的类别:(65525个用户)
管理员:root 0
普通用户:Redhat 1-60000
系统用户:系统安装自动创建 1-200 201-999
一般用户:手动添加 1000-60000
用户
创建用户
useradd [用户名] /usr/sbin/useradd
-u 更改用户ID
-g 更改用户的基本组(主组)
-G 更改用户的附加组
-c 注释信息
-d 更改用户家目录
-s 更改shell字段(可交互式shell,非交互式shell)
修改用户
usermod [option…] [选项参数] 用户名
-l 修改用户登陆名称 #usermod -1 newxiao1 xiao 1 把xiao1改名为newxiao1
-u 更改用户ID #usermod -u 1111 newxiao1 #usermod newxiao1 -u 1111
-g 更改用户的基本组 #usermod -g redhat newxiao1
-G 更改用户的附加组 #groupadd g1 #usermod -G g1 newxiao1
-c 注释信息 #usermod -c woshixiao1 newxiao1
-d 更改用户家目录 #usermod
-s 更改shell字段(可交互式shell,非交互式shell)#usermod -s /sbin/nologin newxiao1
eg: usermod -l newname -u 1234 -g 1000 -c dashazi name
查看用户
grep ‘^用户名’ /etc/passwd
id 用户名
cat /etc/passwd 用户配置文件
sync:x:5:0:sync:/sbin:/bin/sync
用户名:密码占位符:UID:GID:用户注释字段:用户的家目录:shell字段
若shell字段:/sbin/nologin 则不可交互式验证
删除用户
userdel -r 用户 删除用户以及创建用户相关的所有文件
设置密码
passwd [用户名]
-d 删除用户密码
-l 锁定用户密码
-u 解锁用户密码
管理员:可以指定用户名更改系统任意用户的密码不需要输入之前的密码,不严格匹配密码等级设置
echo mima | passwd–stadin 用户名
chpasswd
[root@www ~]# cat users
redhat:1234
xiao1:1234
[root@www ~]# cat users | chpasswd
[root@www ~]# echo redhat:123456 | chpasswd
破解密码
关机->开机->鼠标进入启动界面->第一个引导菜单->找到Linux这一行在行尾添加-> ctrl-x ->mount
-o remount,rw /sysroot -> chroot /sysyroot ->passwd root ->设置密码–确认密码 ->touch /.autorelabel ->exit —>exit(等待)
组
组类别
管理组:root 0
普通组:1-60000
系统组
一般组
主组,私有组,用户的默认组
附加组,额外组 用户默认组之外的组
组的添加
groupadd 组名
cat /etc/group 组配置文件
grep ‘^组名’ /etc/group
删除组
groupdel 组名
sys:x:3:
组名:组密码占位符:GID:组中的用户名
修改组信息
groupmod [option…] [选项参数] [组名]
-n 修改组名 #groupmod -n grp1 g1
-g 修改组id #groupmod -g 2222 g1
gpasswd 组名
-r 删除组密码
-a 把指定用户加入组 #usermod -G g1 redhat == #gpasswd -a redhat g1
-M 指定多个用户加入组(制定新的组成员列表) #gpasswd -M user1,user2,user3 g1
-d 将制定用户从组中移除 #gpasswd -d user1 g1
-A 指定组长(可以在租中添加成员或删除一个组用户)#gpasswd -A user2 g1
-R 锁定组 (用户知道密码也不能验证登录)
登录新组
newgrp 组名 登录
配置用户文件
/etc/shadow 用户密码文件
用户名 加密密码 最后一修改密码的天数(1970) 密码生效最短时间 密码生效最长时间 七天警告时间 过期时间(1970) 保留字段
/etc/gshadow 组密码信息
组名:组密码:组长:组成成员
/etc/default/useradd 用户创建默认加载的配置文件
参数 | 含义 |
---|---|
GR0UP=100 | 这个选项用于建立用户的默认组,也就是说,在添加每个用户时,用户的初始组就是 GID 为 100 的这个用户组。但 CentOS 并不是这样的,而是在添加用户时会自动建立和用户名相同的组作为此用户的初始组。也就是说这个选项并不会生效。 Linux 中默认用户组有两种机制:一种是私有用户组机制,系统会创建一个和用户名相同的用户组作为用户的初始组;另一种是公共用户组机制,系统用 GID 是 100 的用户组作为所有新建用户的初始组。目前我们采用的是私有用户组机制。 |
HOME=/home | 指的是用户主目录的默认位置,所有新建用户的主目录默认都在 /home/下。 |
INACTIVE=-1 | 指的是密码过期后的宽限天数,也就是 /etc/shadow 文件的第七个字段。这里默认值是 -1,代表所有新建立的用户密码永远不会失效。 |
EXPIRE= | 表示账号过期时间,也就是 /etc/shadow 文件的第八个字段。默认值是空,代表所有新建用户没有失效时间,永久有效。 |
SHELL=/bin/bash | 表示所有新建立的用户默认 Shell 都是 /bin/bash。 |
SKEL=/etc/skel | 在创建一个新用户后,你会发现,该用户主目录并不是空目录,而是有 .bash_profile、.bashrc 等文件,这些文件都是从 /etc/skel 目录中自动复制过来的。因此,更改 /etc/skel 目录下的内容就可以改变新建用户默认主目录中的配置文件信息。 |
CREATE_MAIL_SPOOL=yes | 指的是给新建用户建立邮箱,默认是创建。也就是说,对于所有的新建用户,系统都会新建一个邮箱,放在 /var/spool/mail/ 目录下,和用户名相同。 |
/etc/login.defs 登录用户默认匹配的配置文件
注:配置文件中的#表示注释
MAIL_DIR /var/spool/mail \#创建用户时,要在目录/var/spool/mail中创建一个用户mail文件
PASS_MAX_DAYS 99999 \#密码最大有效期
PASS_MIN_DAYS 0 \#两次修改密码的最小间隔时间
PASS_MIN_LEN 5 \#密码最小长度,对于root无效
PASS_WARN_AGE 7 \#密码过期前多少天开始提示
#创建用户时不指定UID的话自动UID的范围
UID_MIN 500\#用户ID的最小值
UID_MAX 60000 \#用户ID的最大值
#自动组ID的范围
GID_MIN 500\#组ID的最小值
GID_MAX 60000 \#组ID的最大值
USERDEL_CMD /usr/sbin/userdel_local \#当删除用户的时候执行的脚本
CREATE_HOME yes \#使用useradd的时候是够创建用户目录
USERGROUPS_ENAB yes \#用MD5加密密码