centos⽤户和⽤户组管理
⽤户和⽤户组及权限管理:
⼀:基本概念
linux是⼀个多任务(multi-task)多⽤户(multi-ur)的操作系统,每个⽤户和⽤户组都有⾃⼰的ID号UID GID,每个⽤户都有⾃⼰的家⽬录不能随意访问其他⽤户的家⽬录,管理员root除外。
⽤户的分类:(以centos7.x为例)
管理员或root:0
普通⽤户:1-6000
系统⽤户:1-999(centos7) 1-499(centos6)
登录⽤户:1000-65535(centos7) 500-65535(centos6)
组的分类:
私有组:组名同⽤户名,⽽且只包含⼀个⽤户,⽤uadd命令创建⽤户是会默认创建⼀个私有组
公共组:组中包含了多个⽤户
linux系统⽤户安全机制:3A机制
authentication 认证--->⽐对/etc/shdow中的单向加密过的密码确定⽤户⾝份
authorization 授权--->通过权限管理控制不同⽤户的权限
audition 审计--->通过linux
加密⽅法:
对称加密:加密和解密使⽤同⼀个密钥
⾮对称加密:加密使⽤私钥解密使⽤公钥
单向加密:只能加密不能解密,⽽且定长输出作⽤于提取⽂件的特征码
算法 md5 sda sha224 sha256 sha384 sha512
⽰例使⽤md5sum命令提取 iso镜像⽂件的特征码和使⽤sha224sum 加密字符串“123456”
[root@localhost zxs]# md5sum CentOS-6.8-x86_64-bin-DVD1.iso
f73c2c4dd333c202ca85ea66120cacdf CentOS-6.8-x86_64-bin-DVD1.iso
[root@localhost zxs]# echo"123456" | sha224sum
ec5abd86603445ecc6f37e2632724f7823cc5f81342060fecc39836d
进程的安全上下⽂
进程是以⽤户的⾝份运⾏的,当进程访问⽂件是,先检查发起进程的⽤户和⽤户所属的组,在检查⽂件的的属主和属组,如果⽂件的属组就是发起进程的⽤户则引⽤前三位的权限,如果⽂件的属组和发起进程的⽤户的属组相同则应⽤中三位的权限,都不是的话及应⽤右三位的权限
查看⽂件的权限命令 ls-l
[root@localhost ~]# ls -al
total 64
dr-xr-x---. 2 root root 219 Apr 2617:31 .
dr-xr-xr-x. 17 root root 244 Apr 2617:46 ..
-rw-------. 1 root root 742 Apr 2710:22 .bash_history
-rw-r--r--. 1 root root 18 Dec 292013 .bash_logout
drwxrwxrwx:
左1位表⽰⽂件的类型
左rwx表⽰所属主(owers)的权限读+写+执⾏
中rwx表⽰所属组(groups)的权限
右rwx表⽰其他(others)的权限
权限组合机制
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
⽰例 r-xr-x--x 551
rwxr-xr-x 755
rw-rw---- 664
⼆:了解⽤户和组相关配置⽂件
/etc/passwd:⽤户的密码⽂件
[root@localhost zxs]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
说明:⽂件⽤户“:”分隔⼀共有7个字段每个字段的含义是
urname:password:UID:GID:GECUS:dircution:shell
⽤户名:x:UID:GID:注释:家⽬录:shell (x表⽰占位符,为了安全表⽰密码保存在/etc/shadow)花蛤的营养价值
/etc/shadow:⽤户的密码⽂件
[root@localhost ~]# cat /etc/shadow | grep"zxs\>"
zxs:$6$vF9dzSd/$dyIJLhXSAR8oB5RxgV2qt4W8eF.zMRX2bAoaxYM6nhbaz5xuhjQQKCRFSfNt1eo5jzdyEv44zDuLe55XakjwA.:17283:2:6:1:3::
⽂件9个字段⽤户“:”分隔分别表⽰
⽤户名:加密后的密码:最后⼀个更改密码的天数(计算机元年⾄修改密码的时候):密码最短使⽤天数:密码最长使⽤天数:警告时间段:禁⽤期限:账户过期时间(从计算机元年开始计算):保留字段
三:⽤户和组管理命令
1
uradd [选项] 登录名
选项和参数说明:
-u:指定⽤户的UID
-s:指定⽤户的shell (系统可⽀持的shell在/etc/shells 下)
额外福
-r:创建⼀个系统⽤户(UID范围centos6为1-499,centos7为1-999可在/etc/login.defs中查看)
-c:关于登录时的简短描述后跟描述的字符串
-d:⾃定义⽤户的家⽬录后跟家⽬录路径
-e:⽤户账户将被禁⽤的期限格式为 YYYY-MM-DD
-f:表⽰过期后彻底禁⽤的天数 0表⽰马上禁⽌ -1表⽰禁⽤这个功能
-G[GROUP1],[GROUP2],... : 添加⽤户的附加组多个组⽤“,”隔开
-M:不创建⽤户的家⽬录默认复制/etc/skel/⽬录下的⽂件到/home/USERNAME/下作为USERNAME的家⽬录都是隐藏⽂件
-N;不创建同名的私有组
2
uradd -D [选项]
注意:⽤ uradd -D 修改后的默认值只对当前shell进程,重启或重新登录⽆效永久⽣效需要修改配置⽂件/etc/default 或 /etc/login.defs ⼀般情况下linux系统下⽤命令⾏修改的设置都只对当前shell进程
有
参数和选项说明:
uradd -D 不带选项:查看创建新⽤户的默认值
GROUP=100 #新⽤户添加到UID为100的公共组
HOME=/home #默认家⽬录路径
INACTIVE=-1 #过期后彻底禁⽤的天数 -1表⽰禁⽤此功能 0表⽰过期后马上禁⽌
EXPIRE= # 账户过期⽇期
SHELL=/bin/sh # 默认shell
SKEL= /etc/skel # 默认家⽬录的复制⽬录
CREATE_MAIL_SPOOL= #默认创建邮箱
带选项就是修改上⾯的默认参数
uradd -D -e 修改变量 EXPIRE=
uradd -D -f 修改变量 INACTIVE=
uradd -D -s 修改变量 SHELL
3
urmod [选项] ⽤户名
幼儿园小朋友参数和选项说明:
-u:修改UID
-g:修改⽤户的基本组
-d:修改⽤户的家⽬录原来的家⽬录⽂件不会转移⾄新⽬录要想移动要与参数 -m ⼀起使⽤
-G:修改⽤户的附加组原来的附加组会被删除要想追加附加组使⽤参数 -a
-c:修改注释信息
-e:修改过期⽇期
-f:修改过期后可使⽤的天数
4
urdel [选项] ⽤户名
-r:删除⽤户⼀起删除其家⽬录
5
groupadd [选项] 组名
-r:创建系统组
-g:指定GID -f:如果指定GID重复强制创建
6
千言万语打一字谜
groupmod [选项] 组名
-g:改UID
-n:改组名
7
groupdel [选项] 组名
8
passwd [选项] ⽤户名
参数和选项说明:
-d:删除密码
-l:锁定⽤户机制是在/etc/shadow ⽂件中⽤户的密码字符串前加“!”
--stdin:与管道⼀起⽤将管道前输出字符串作为密码不需要与⽤户交互⽤于脚本编写⽰例:
[root@localhost ~]# echo"123456" | passwd --stdin zxs
更改⽤户 zxs 的密码。
passwd:所有的⾝份验证令牌已经成功更新。
-u:解锁
-e:密码过期⽇期
-i:密码禁⽤期限
-n:密码最⼩年龄
-x:密码最长年龄
红军长征的路线
-w:密码警告⽇期
⽰例:
[root@localhost zxs]# echo"123456" | passwd -n 2 -x 6 -w1 -i 3 --stdin zxs
调整⽤户密码⽼化数据zxs。
passwd: 操作成功
说明:假设在2号修改了⽤户的密码和其他⽇期设置
-n 2 (表⽰⽤户在这个改的密码⾄少要⽤到4号才能修改 2表天数为两天)
-x 6 (表⽰密码⽤户⽤到8号就到期了使⽤天数为6)
-w 1 (表⽰⽤户密码到期之前的前⼀天也就是7号,系统会提⽰密码即将到期的消息提⽰⽤户修改密码,在到期之前⽤户可以登录系统)
-i 2 (表⽰账号密码过期后,到账号完全禁⽤锁定的天数,为宽限期3天,此期间⽤户必须修改密码才能登录系统,禁⽤后完全⽆法登录需⽤root 解锁⽤户)
93年是什么年9
gpasswd [选项] 组名:
-a:组中添加⽤户
-d:组中删除⽤户
10
newgrp - [组名]
-:表⽰模拟重新初始化⼯作环境同su -
11
id [选项] [⽤户名]
-u 显⽰⽤户UID
-g 显⽰⽤户基本组的GID我的快乐童年
-G 显⽰所有组的GID
-n 显⽰⽤户或组的名称
su:切换⽤户
-:重新读取⽤户的配置⽂件初始化其⼯作环境就是切换⾄⽤户的家⽬录
pwck:检查⽤户密码⽂件
grpck:检查组密码⽂件
四:权限管理命令
三类⽤户:
u owns
g groups
o others
a all
1
chmod u=
g=
o=
a=
电解法2
chmod u+
g+