用户和组
一:安全3A
Authentication: 认证(身份)
Authorization: 授权(权限)
Accounting|Audition:审计(监督)
二:用户user
- Linux用户:Username/UID
- 管理员:root,UID=0
- 登录用户:centos6:500+,centos7:1000+(交互式登录)
4.useradd [option] USER
1》:创建一个用户并指定他的主组
2》:创建一个用户并指定它的辅助组成员
3》:创建一个系统账户,并自动制定一个1000(centos7)以内的ID
4》:创建一个用户并指定它的家目录(但是此家目录必须不存在,因为需要设置权限)
5》:创建用户时的一些默认规则:(可以编辑文件修改默认规则)
5.可以用getent passwd USERNAME 直接显示/etc/passwd 下的用户信息
6.默认已经创建的用户都有邮箱(/var/spool/mail) 图18
7.userdel -r USERNAME 删除用户家目录及其邮箱。正在登陆的用户删不了
三:组group
- Linux组:Groupname/GID
- 管理员组:root,0
- 普通组:centos6:500+,centos7:1000+
- Linux组的类别 用户的主要组:(primary group) 用户必须属于一个且只有一个主组 组名同用户名,且仅包含一个用户:私有组 用户的附加组:(supplementary group) 一个用户可以属于零个或多个辅助组
5.usermod
1》:更改用户ID -u
2》:更改用户主组 -g
3》:增加用户的辅助组 -G
4》:在原来辅助组的基础上增加辅助组 -aG
5》:在原来辅助组的基础上删除其中一个
6》:usermod、gpasswd都能改变组成员关系,也可以实现上述要求
6.主组的改变用只能用usermod,且主组不能删除 辅助组的改变可以用usermod、groupmems、gpaawd
四:用户和组的配置文件
:/etc/passwd:用户及其属性信息(名称、UID、主组ID等) 图1
格式:name:password:UID:GID:GECOS:directory:shell(七个字段) 图2
实验一:修改用户描述信息
chfn+用户名 再查看修改用户的详细信息
实验二:修改用户的shell类型(/bin /bash)
echo $SHELL 查看当前SHELL类型。shell类型不同,其内部命令就不同 图4
查看用户的详细信息 : getent passwd(/etc/passwd) USERNAME
/etc/group:组及其属性信息
1》格式:GROUPNAME : 组的口令 :GID :组成员(即哪些组将此组作为他的辅助组)
2》
3》也可以将多个用户放在同一个组里
4》groupmems -g g1 -l :查看g1组的辅助组成员 /etc/groups 文件里只放辅助组成员。要想查看一个用户的主组在/etc/passwd
/etc/shadow:用户密码及其相关属性
格式:name:password:password time:min:max:warn:inactive:account
whatis shadow查看一下在第几章,然后man 3/5查看帮助文档
1》 sha512机密算法 其他的加密算法:sha1:160bit sha224; sha 256;sha384
2》 更改加密算法 authconfig –passalgo=sha256 –update 其实更改的是 /etc/login.defs
3》新建立的用户查看getent shadow USERNAME时,会显示:USERNAME:!!:XXX:XXXX:XXX 此时用户被锁定,无法登陆。但是可以将用户的口令设置为空口令,更改/etc/login.defs文件,此时用户可以空口令登录
4》 如果用户已经有口令,也可以将其锁定usermod -L USERNAME 解锁:usermod -U USERNAME
5》 设置最短口令有效期
也可以这样改 图7
6》Windows里也可以设置密码永不过期 管理工具–>计算机管理–>本地用户和组–>点击用户即可设置
/etc/gshadow:组密码及其相关属性
格式:/groupname:password:group admins:member
1》组的加密口令 图11
2》将wang用户添加到g1 组中 groupmems -g g1 -a wang
3》将用户添加到新的组之后,只有重新登陆才能获取到自己最新的组信息
4》临时切换用户主组,但是exit之后又会切换回来
5》/etc/gshadow 和/etc/group文件如果手动修改时必须同步,否则会造成临时更改用户主组时不成功
6》组的管理员
但是不建议直接修改配置文件,可以使用vipw(相当 于vim /etc/passwd)
7》另外也有用于语法检查的命令:pwck(对于用户) grpck(用于对组的检查)
8》chage: chage -d 0 tom:设置用户下一次登录时强制修改密码 相当于passwd -e tom
9》:批量创建用户
@1:先进入/etc/passwd文件将需要创建的用户的信息复制下来。例如: wang:x:1001:1001::/home/wang:/bin/bash
mage:x:1002:1002::/home/mage:/bin/bash
jing:x:1003:1004::/home/jing:/bin/bash
libai:x:1004:1005::/home/libai:/bin/bash
@2:在需要建立用户的系统上创建一个文件用于存放这些用户信息。例如创建 user.txt 将用户信息放在此文件里并保存退出
@3.看getent passwd看用户是否存在
@4.虽然用户信息复制过来了,但是口令没有复制过来,所以更改口令,可以用: echo xxx | passwd –stdin wang 或者是 echo wang:xxx | chpasswd
@5:也可以批量改变用户口令,也是将用户口令都放在一个文件里,编辑 username : password 之后保存退出
但是还是存在一些问题
然后使用
cp /etc/skel/.[^.]* . /home libai
10》:id (可以用于判断用户是否存在)
-u:显示UID
-g:显示GID
-G:显示用户的主组
-n:显示名称,需配合ugG使用
11》:su :切换用户 如果需要来回切换用户,最好使用 exit
12:passwd:修改指定用户的密码
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录时修改密码
-n:指定最短使用期限
-x:最大使用期限
-w:提前多少天开始警告
--stdin:从标准输入接受用户密码
echo PASSWORD | passwd --stdin USERNAME
13:将user1添加到g1,g1,g3的方法
@1: usermod -aG g1,g2,g3 user1
@2: gpasswd -a user1 g1 gpasswd -a user1 g2 gpasswd -a user1 g3
@3: grouomems -a user1 g1 grouomems -a user1 g2 grouomems -a user1
g3
将user1从g1,g2,g3组中删除
@1:usermod -G “” user1
@2:usermod -G 主组名 user1