Linux用户、组管理(7月27,28)

基本正则表达式
字符匹配
. :匹配单个任意字符
[ ] :匹配指定范围内的单个任意字符
[^] :匹配指定范围外的任意字符
[:digit:] :数字
[[:digit:]] :匹配范围外的任意数字
[[:lower:]] :小写字母
[[:upper:]] :大写字母
[[:alpha:]] :字母
匹配次数
* :匹配前面字符任意次数(也可以匹配0次)
.* :匹配任意长度的任意字符 x.*y
? :匹配前面字符1次或者0次
* :匹配前面一次或者多次
{m,n} :匹配前面字符至多m次,至少n次
位置锚定
^ :行首锚定 grep ^r…t /etc/passwd
$ :行尾锚定 grep bash$ /etc/passwd
^$ :空行,空白行 或者 1$:
< \b :词首锚定 grep “\root” /etc/passwd
词尾锚定 grep “root” /etc/passwd
分组和引用
() :
(xy)ab (xy)(zd)ab\1,\2
(xy)是第一组 (zd)是第二组 \1 的意思是匹配第一组 \2的意思是匹配第二组
1.- 用户组基本概念
(1)用户和组:
系统上的每个进程(运行程序)都作为特定用户运行
每个文件都由特定的用户拥有
用户对文件和目录的访问受到限制
与运行中的进程相关联的用户确定该进程可访问的文件和目录
用户:用户标识符、密码
组:用户组、用户容器
用户的类别:管理员、普通用户、登录用户、系统用户
(2)使用者标识符 UID:属主 GID:属组
UID
二进制数字:0-65535
管理员:0
普通用户:1-65535
系统用户:1-499 (CentOS6),1-999(CentOS7)
登录用户:500-60000 (CentOS6),1000-60000 (centos7)
名称解析:名称转换
Username<------>UID
根据名称解释库 /etc/passwd
GID
管理员组:0
普通用户:1-65535
系统用户:1-499 (CentOS6),1-999(CentOS7)
登录用户:500-60000 (CentOS6),1000-60000 (centos7)
名称解析:groupname<------>gid
根据名称解释库 /etc/group
组类别:用户的基本组、用户的附加组
密码的使用策略:
使用随机密码
最短长度不要低于 8位
应该使用大写、小写字母、数字和标点符号四类字符中至少三类
定期更换
2.用户组管理
(1)安全上下文:进程是以发起者的身份运行,进程对文件的访问权限。取决于发起此进程的用户的权限。
(2)groupadd 创建组
groupadd [option] group
-g GID :指定组ID,默认情况是一个组ID+1
-r :创建一个系统组
(3)groupmod 修改组属性
groupmod [选项] GROUP
-g GID :修改GID
-n new_name :修改组名
修改i组属性
(4)useradd 创建新用户
useradd [选项] LOGIN
-u : 指定UID
-g : 指定基本组ID
-G :指定用户的附加组
-c :添加注释信息
-d : 指定用户的家目录,通过复制 /etc/skel 目录,并改名
-s : 指定用户的默认shell
-r : 创建系统用户
-D :显示创建用户的配置
创建新用户
(5)userdel 删除
userdel 登录名
-r : 删除用户时一并删除家目录
(6)usermod 修改用户属性
-u : 修改用户ID
-g: 修改用户的基本组
-G: 修改用户的附加组
-c : 修改用户的注释信息
-d : 修改用户的家目录
-m : 与-d选项一起使用,用于将原来的家目录的文件移动到新的家目录下
-a : 与-G 一起使用,追加用户的附加组
-l : 修改用户名
-s : 修改默认shell
-L : 锁定用户密码
-u : 解锁用户密码
修改用户属性
(7)/etc/passwd
root : x : 0 : 0 : root : /root : /bin /bash
用户名 密码(占位符) 用户标识符 组标识符 注释信息 家目录 登录shell
3. passwd 命令
(1)passwd : 修改 用户 自己的密码
(2)passwd username :修改指定用户的密码,但仅root有此权限
passwd -l : 修改用户
-d : 清楚密码串
-e DATE : 指过期期限
-i DAYS : 非活动期限(指多长时间不用)
-n DAYS : 密码最短使用期限
-x DAYS : 密码最长使用期限
-w DAYS : 告警期限(密码过期前几天提醒)
–stdin : 非交互式创建密码(echo “PASSWD” | passwd --stdin username)
gpasswd 组密码
-a username : 向组内添加用户
-d username : 从组内删除用户
newgrp 临时切换指定组为基本组
4. change命令: 更改密码过期信息
change [选项] 登录名
-d : 指定密码最后修改日期
-E : 密码到期日期
-w : 密码过期警告天数(告警天数)
-m : 密码可以更改的最小天数
-M: 密码保持有效的最大天数
5. id 命令 :显示用户的真和有效 ID
id [OPTION]… [USER]
-u : 仅显示有效的UID
-g : 仅显示用户的基本组 ID
-G :仅显示用户所属的所有组的 ID
-n : 显示名字而非 ID
文件系统权限管理
6. 权限对象:文件拥有者、群组、其他人
7. 权限类型 :-rw-r–r-- 1 root root 32342 04-02 00:23 install.log
-rw-r–r-- 文件类型、权限
第一个 root 属主
第二个 root 属组
r =4 w = 2 x = 1
8.r 、w 、x 权限说明
对于文件而言:
r : 可获取文件的数据
w : 可修改文件数据
x : 可以将此文件运行为进程
对于目录而言:
r : 可以使用 ls 命令获取其下的所有文件列表
w : 可修改此目录下的文件列表;即创建或删除文件
x : 可 cd 至此目录中,且可以使用 ls -l 来获取所有文件的详细属性信息
8. 权限判断逻辑
(1)判断用户对文件的权限 :前提条件,用户能够进入到文件所在目录
删除文件:看用户是否具备对目录的 w 权限(判断用户身份以owner |group |other哪个身份来删除文件)
若是目录的属主,目录权限的左三位有w权限,删除文件成功,无w权限,删除失败
若不是目录的属主,但在目录的属组中,目录权限中三位有w权限,删除文件成功,无w权限,删除失败
若不是目录的属主,也不在目录权限的右三位有w权限,删除文件成功,无w权限,删除失败
创建文件:和删除一样,先判断用户身份
修改文件:看用户是否具备对需改五年间的w权限
(2)目录 :前提条件,判断用户是否能够成功进入目录所在目录 ,即对操作的目录所在的目录有x权限
删除目录和创建目录与文件一样
9.权限管理命令
(1)chmod 命令
chmod [OPTION]… MODE [MODE]… FILE…
chmod [OPTION]… OCTAL-MODE FILE…
chmod [OPTION]… --reference=RFILE FILE…
三类用户
u :属主 g : 属组 o : 其他 a :所有
chmod [OPTION]… MODE [MODE]… FILE…
MODE表示法:
赋权表示法:u= g= o= a=
授权表示法:u+ u- g+ g- o+ o- a+ a-
注意:只有用户自己修改属主为自己的文件
(2)从属关系命令
chown 命令:chown [OPTION]… [OWNER] [:[GROUP]] FILE…
chown [OPTION]… --reference=RFILE FILE…
选项 -R :递归修改
chgrp 命令:chgrp [OPTION]… GROUP FILE…
chgrp [OPTION]…–reference=RFILE FILE…
注意:仅管理员可以修改文件的属主和属组
chown username:groupname dirname(目录名)
chown username:dirname
chown :groupname dirname
chgrp groupname name
10.进程安全上下文:进程对文件的访问权限模型
进程的属主与文件的属主是否相同:
如果相同,则应用的是属主权限;
如果不相同,就检查进程的属主是否属于文件的属组,如果是,就应用属组权限,否则使用other权限
11.基本权限ACL(访问控制列表)
可以针对用户来设置权限
可以针对用户组来设置权限
子文件/目录继承父目录的权限
(1)加盟差系统是否支持ACL
[root ___________/]#tune2fs -1 /dev/sda2 |grep “Default mount option”
(2)设置ACL
setfacl [-bkrd] [{-m |-x} acl 参数] 文件/目录名
setfacl [-bkndRLPvh] [{-m |-x} acl _spec] [{-m |-x} acl_file] file…
-m : 配置后面的acl参数给文件/目录使用;不可与-x合用
-x : 删除后续的acl参数;不可与 -m使用
-b:移除所有的acl 配置参数
-k : 移除默认的acl参数
-R :递归配置acl参数
-d : 配置默认acl参数,只对目录有效;在该目录新建的数据会引用此默认值
权限
12.权限继承
13.权限掩码:umask
(1)默认文件权限 (666-022) 644
目录权限 (777-022) 755
(2)特殊权限
SUID(set uid):当在文件所有者的x权限上属主位出现s时,当前这个文件具有SUID权限 s
SUID权限仅仅对二进制程序有效
执行者对于该程序有x权限
本权限仅仅在执行程序的过程中有效
程序的执行者具有该程序的拥有者的权限
SGID (set gid):如果文件所有者出现在属组位上则拥有SUID权限 s
SUID权限仅仅对二进制程序有效
执行者对于该程序有x权限
主要用在目录上
SBIT (sticky Bit)在other位上 t
主要针对other位
作用于目录
在该目录下创建新的文件或目录,只有自己和root可以删除
(3) SUID SGID SBIT
字符表示法 :s s t u+s(给属主权限加s)
数字表示法:4 2 1
chmod 0 7 5 5
1 7 5 5
14.chattr (修改文件隐藏属性)
a : append 只能够向文件添加数据,不能删除数据
i : 当前文件不能被删除,改名,链接,同时不能写入内容
A :atime 访问时间不能被修改


  1. [:space:] ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值