1.什么是用户
用户指的是能够正常登录Linux或windows系统
那Linux与windows系统的用户有什么区别?
本质都是登录系统的,只不过Linux支持多用户同时登录,windows默认不支持,但是修改组策略的情况下也是可以多用户登录的
2.Linux下用户有什么作用
1.系统上的每一个进程(运行的程序)都需要特定的用户运行
2.每一个文件都有特定的用户拥有,所以访问一个文件或目录受到用户的限制
3.进程能够以何种方式访问某一个文件或目录, 与进程所关联的用户有关
3.Linux系统中存在三种用户
第一种:超级管理用户 root用户,此用户唯一,UID是0 (其他用户其实也可以通过更改UID来成为超级管理员用户,但是此法很危险,不提倡)
第二种:是虚拟用户 虚拟用户的UID是1~499 虚拟用户是不能登录到系统的,虚拟用户的作用是用来管理某个软件的进程启动运行的。
第三种:是普通用户 ,这一类用户是有超级管理员创建,可以登陆系统,但是权限较小。此用户的UID CentOS6为500起 CentOS7为1000起。
4.用户组的管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就对/etc/group文件的更新
基本组,用户只能有一个基本组,创建时可通过-g指定,如未指定则创建一个默认的组(与用户同名)
附加组,基本组不能满足授权要求,创建附加组,将用户加入该组,用户可以属于多个附加组
5.创建、删除、修改、组用户
useradd创建用户
-u:指定要创建用户的UID,不允许冲突 -g:指定要创建用户默认组 -G:指定要创建用户附加组,逗号隔开可添加多个附加组 -d:指定要创建用户家目录 -s:指定要创建用户的bash shell -c:指定要创建用户注释信息 -M:给创建的用户不创建家目录 -r:创建系统账户,默认无家目录 -l:指定要修改用户的登陆名 -e:帐号终止日期。日期的指定格式为 MM/DD/YY -f:帐号过期几日后永久停权。当值为0时帐号则立刻被停权,而当值为 -1时则关闭此功能,预设值为 -1 -n:预设值使用者群组与使用者名称会相同,此选项将取消此预设值
userdel删除用户
-r:删除用户同时删除它的家目录
usermod修改用户
-u:指定要修改用户的UID -g:指定要修改用户基本组 -G:指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组 -d:指定要修改用户家目录 -s:指定要修改用户的bash shell -c:指定要修改用户注释信息 -l:指定要修改用户的登陆名 -L:指定要锁定的用户(锁定一个用户的帐号. 这个操作是放一个感叹号在你的密码前,禁用密码.你不能配合-p或-U使用) -U:指定要解锁的用户(解锁一个用户的帐号.这个操作是在加密密码前取消感叹号,恢复帐号登录.你不能配合-p或-L使用)
groupadd建立新群组
-g:指定组id -o:一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
groupdel删除组
groupmems用户主组的管理员成员
-a:用户名 将一个用户添加到组成员列表 -d:用户名 从组成员列表中删除用户 -g:组 名 超级用户可以指定修改哪个组的组成员列表 -l -g:组名 列出组成员 -p -g:组名 从组成员列表中删除所有用户
groupmod修改群组
-g GID:为用户组指定新的组标识号。 -o 与-g:选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。 -n:新用户组 将用户组的名字改为新名字
groups显示用户所在的组
创建组
[root@dmxsp ~]# groupadd -g 666 dmxsp (-g可填可不填) [root@dmxsp ~]# groupadd dmxspl
创建用户(需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特别用户,一般0到499之间的值留给bin、mail这样的系统账号)
[root@dmxsp ~]# useradd dm -u 1234 -g dmxsp -G dmxspl -c cs [root@dmxsp ~]# id dm uid=1234(dm) gid=666(dmxsp) groups=666(dmxsp),1000(dmxspl)
创建系统用户
[root@dmxsp ~]# useradd zq -r -M -s /sbin/nologin [root@dmxsp ~]# id zq uid=995(zq) gid=665(zq) groups=665(zq)
创建用户(可登录)
[root@dmxsp ~]# useradd dmxsp -s /bin/bash [root@dmxsp ~]# id dmxsp uid=1001(dmxsp) gid=1001(dmxsp) groups=1001(dmxsp)
修改 dm的注释信息, 用户家目录, 登录shell, 登录名
[root@dmxsp ~]# tail -2 /etc/passwd dm:x:1234:666:cs:/home/dm:/bin/bash zq:x:995:665::/home/zq:/sbin/nologin [root@dmxsp ~]# usermod dm -c "dmxspcs" -s /sbin/nologin -d /tmp/dm -l qq [root@dmxsp ~]# tail -2 /etc/passwd zq:x:995:665::/home/zq:/sbin/nologin qq:x:1234:666:dmxspcs:/tmp/dm:/sbin/nologin [root@dmxsp ~]# id qq uid=1234(qq) gid=666(dmxsp) groups=666(dmxsp),1000(dmxspl)
删除用户
[root@dmxsp ~]# tail -1 /etc/passwd qq:x:1234:666:dmxspcs:/tmp/dm:/sbin/nologin [root@dmxsp ~]# userdel qq [root@dmxsp ~]# tail -1 /etc/passwd zq:x:995:665::/home/zq:/sbin/nologin
[root@dmxsp ~]# userdel -r dm
修改组
[root@dmxsp ~]# id qq uid=1234(qq) gid=666(dmxsp) groups=666(dmxsp),1000(dmxspl) [root@dmxsp ~]# groupmod dmxsp -n z [root@dmxsp ~]# groupmod dmxspl -n x [root@dmxsp ~]# id qq uid=1234(qq) gid=666(z) groups=666(z),1000(x) [root@dmxsp ~]# groupmod -g 4321 z [root@dmxsp ~]# id qq uid=1234(qq) gid=4321(z) groups=4321(z),1000(x)
6.相关目录
/etc/passwd:使 用 者 帐 号 资 讯 /etc/shadow:使 用 者 帐 号 资 讯 加 密 /etc/group:群 组 资 讯 /etc/default/useradd:定 义 资 讯 /etc/login.defs:系 统 广 义 设 定 /etc/skel:内 含 定 义 档 的 目 录
/etc/passwd用户信息
[root@dmxsp ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash 第一列: 用户名称 第二列: 用户的密码; x --> 不可见--> /etc/shadow 第三列: 用户的UID 第四列: 用户组的GID 第五列: 用户的描述信息 第六列: 用户的家目录 第七列: 用户的登录Shell; /bin/bash -->正常登录 /sbin/nologin 禁止登录
/etc/shadow密码信息
[root@dmxsp ~]# cat /etc/shadow root:$6$hwo99RlkqzsfnUPo$1coB8NYDZAA9eu3PuXn7SbxA7RTZG3OYIRdMcCexW09hvKVc8VwgZ4FFHLvB8bMQQstxO/lc2g6yJ57KXDp85/ ::0:99999:7::: 第一列: 用户名称 第二列: 用户的密码;(一串不可读的字符串; ( * !! 没有密码; ) ) 第三列: 用户从1970-18701 过了多少天; 年 第四列: 密码最少使用的天数; 0 不限制 第五列: 密码最长使用的天数; 99999 不限制 第六列: 密码到期前7天警告 第七列: 密码到期后两天,强制让你更新密码; ( 登录系统就修改密码;无法取消; )
/etc/group组配置文件
[root@dmxsp ~]# cat /etc/group root:x:0: 第一列:组名 第二类:密码 第三列:组ID
7.设置密码
使用passwd命名来实现
超级管理员
1.随意修改任何人的密码
2.密码强度可以随意
普通用户执行
1.仅修改自己的密码,不可以修改其他人
2.密码强度必须满足8个字符及以上
passwd
-k:保持未过期身份验证令牌 -l:关闭账号密码。效果相当于usermod -L,只有root才有权使用此项。 -u:恢复账号密码。效果相当于usermod -U,同样只有root才有权使用。 -g:修改组密码。gpasswd的等效命令。 -f:更改由finger命令访问的用户信息。 -d:关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码, 只有具备 root 权限的使用者方可使用. -S:显示指定使用者的密码认证种类, 只有具备 root 权限的使用者方可使用.
交互式
[root@dmxsp ~]# passwd zz Changing password for user zz. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all authentication tokens updated successfully.
非交互式
[root@dmxsp ~]# echo "2" | passwd --stdin zz Changing password for user zz. passwd: all authentication tokens updated successfully.
强度较高的密码
-l:(密码的长度定义, 默认是 9) -d:(数字个数, 默认是 2) -c:(小写字符个数, 默认是 2) -C:(大写字符个数, 默认是 2) -s:(特殊字符个数, 默认是 1) -v:(详细。。。) -p:(程序设置密码, 默认是 passwd)
[root@dmxsp ~]# yum install -y expect [root@dmxsp ~]# mkpasswd -l 10 -d 3 -c 3 -C 3 -s 1 X>5qNSx41q [root@dmxsp ~]# mkpasswd -l 10 -d 3 -c 3 -C 3 -s 1 F!Gsu52n4D