7月28日学习总结

7月28日总结

(附带本日总结以及相关知识点练习题和本人联系练习实况 见尾部)

一.基本正则表达式元字符:
分四类:1.字符匹配:.: 匹配任意单个字符
[]: 匹配指定范围内的任意单个字符
[^]: 匹配指定范围外的任意单个字符(脱字符)
[:digit:]: 数字
[[:digit:]]: 匹配[所有数字]
[[:alpha:]]:匹配[所有字母]

    2.匹配次数: *:匹配其前面的字符任意次数
                .*: 匹配任意长度的任意字符
                \?:匹配其前面的字符0次或1次
                \*:匹配其前面的字符1次或多次

    3.位置锚定:^:行首锚定(用于模式的最左侧)
                $:行尾锚定(用于模式的最右侧)
                ^$:空白行
                ^[[:space:]]$: 空行或包含空白字符的行
                \<  \b: 词首锚定

    4.分组和引用:\(\): 将一个或多个字符捆绑在一起,当作一个整体
                  \(xy\)*ab: 命令行中括号有特殊意义所以用转义符
                  
      eg:做一个经典的例子: vi loves.txt
          He loves his lover.
          He likes his lover.
          She likes her liker.
          She loves her liker.

二.Linux用户,组管理
1.用户和组:(1)系统上的每一个进程都是由一个特定的用户发起
(2)系统上的文件都是由特定的用户所拥有
(3)用户对系统上的文件访问时收到权限控制

        (4)与运行中的进程相关联的用户确定该进程可访问的文件与目录

2.用户:用户标识符,密码,用户的分类(管理员 普通用户等)

3.组:用户组、用户容器

4.用户标识符:属主UID: 0-65535
管理员用户:root:0
普通用户:1-65535
系统用户:1-499(Centos6),1-999(Centos7)
登录用户:500-60000(Centos6),1000-60000(Centos7) 名称解析:名称转换
Username<----->UID
根据名称解析库 /etc/passwd

          属组GID:

          组类别:用户的基本组
                  用户的附加组
                  /etc/group

认证信息:密码 /etc/shadow /etc/gshadow
应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类;
使用随机密码;
最短长度不要低于8位;
定期更换

5.用户组管理:

(*)安全上下文:进程以其发起者的身份运行;进程对文件的访问权限 取决于发起此进程的用户的权限
(1)groupadd: 添加组
groupadd [option] group
-g : 指定GID;默认是上一个组的GID+1

groupmod: 修改组属性
-g :修改GID

         -n :修改组名

groupdel: 删除组

(2)useradd:创建用户
useradd [option] 登录名
-u: 指定UID
-g:指定基本组ID
-G:指定用户附加组,附加组要事先存在
-c:修改注释信息
-d:修改用户的家目录;用户原有的文件不会被转移至新位置
-r:创建系统用户
-D:显示创建用户的默认配置

userdel:删除用户
userdel 登录名
-r:删除用户时一并删除家目录

usermod:修改用户属性
-u: 修改用户ID
-g: 修改用户的基本组
-G: 修改用户的附加组
-c: 修改注释信息
-d: 修改用户的家目录
-m: 只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
-a: 与-G一同使用,用于为用户追加新的附加组
-l: 修改用户名
-L: 锁定用户密码
-U: 解锁用户的密码

(3)/etc/passwd:
root❌0:0:root:/root:/bin/bash
(*)用户名:密码(x占位符):用户标识符:组标识符:注释信息:家目录:登录shell

passwd:直接修改自己的密码
passwd username:修改指定用户的密码,仅root用户有此权限
-l: 锁定用户
-d:清除用户密码串
-e DATE: 过期期限,日期
-n DAYS:密码的最短使用期限
-x DAYS:密码的最长使用期限
-w DAYS:警告期限
–stdin:非交互式创建密码 echo “PASSWORD” | passwd --stdin username

chage: 更改用户密码过期信息
-d: 指定密码最后修改日期
-E:密码到期的日期
-W:密码过期前收到警告信息的天数

(4)/etc/shadow:
root:2189e0y2981ye9we902e921:17859:0:99999:7:::
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动 时间:失效时间:标志

(最后一次修改时间表示的是从某个时刻起,到用户最后一次修改口令时的天数这个 时间起点是1970年1月1日)

(5)id: 显示用户的有效ID
-u: 显示有效的UID
-g: 显示用户的基本组ID
-G:仅显示用户所属的所有组的ID

Linux文件系统权限:
一.权限对象:文件拥有者(属主)
群组(属组)
其他人

二.权限类型:-rw-r- r- . 1 root root 0 Dec 1 06:15 a_c
r:4 w:2 x:1
eg: r–r--r-- 444
rw-rwx-r 700

三.rwx权限说明:
1.对于文件而言:r:可以获取文件数据
w:可以修改文件数据
x:可以将此文件运行为进程
2.对于目录而言:r:可以使用ls名利不过获取文件列表
w: 可以修改文件列表(创建和删除)
x: 表示可以cd此目录,并可以用ls -l获取文件详细信息

四.权限判断逻辑:
文件:前提条件为用户可以进入到文件所在目录
删除文件:看用户户是否具备对目录的w权限
1.判断用户是以什么身份,按照owner->group->other匹配
2.若是文件的属主,文件权限的左三位有w权限,修改成功,无则失败
3.若不是文件属主,但在文件的属组中,如果文件权限的中三位有w权限,修改成 功,无则失败
4.若不是文件属主,也不在文件的属组中,如果文件权限的右三位有w权限,则修 改成功,无则失败
(创建文件和删除文件逻辑相同)

  目录:前提条件为用户可以进入到目录所在目录

五.权限管理命令:
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表示法:
    赋权表示法,后跟rwx
      u=   u=r
      g=
      o=
      a=
    授权表示法,后跟rwx
      u+   u-r
      g+   g-
      o+   o-
      a+   a-

从属关系:chown chgrp   -R:递归修改
          chown username:groupname  name
          chown :groupname name
      chgrp groupname name
         
  (注意:只有管理员可以修改)

六.进程安全上下文:
进程对文件的访问权限应用模型:
进程的属主与文件的属主是否相同;如果相同,则应用属主权限;
否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组权限;
否则,就应用other的权限

七.基本权限ACL:
1.可以针对单个用户设置权限
2.可以针对用户组设置权限
3.子文件/目录继承父目录的权限

查看系统是否支持ACL:
[root@nebulalinux03 /]# tune2fs -l /dev/sda2 |grep “Default mount options:”
Default mount options: user_xattr acl

设置ACL:setfacl [-bkRd] [{-m|-x} acl参数] 文件/目录名
-m:配置acl权限
-x:删除acl配置
-b:移除所有的ACL配置
-R: 递归配置acl

        -d:配置默认acl

八.权限掩码umask:

九.特殊权限SUID、SGID、SBIT:
Set UID:当在文件所有者的x权限上出现s时,表示当前这个文件具有SUID权限
1.SUID权限仅对二进制程序有效;
2.执行者对于该程序需要具有x的可执行权限;
3.本权限仅在执行该程序的过程中有效;
4.执行者具有该程序拥有者(owner)的权限;
如果当前这个文件属主位没有x权限,显示大写S

Set GID:当s这个标志出现在文件所有者的x权限上时,表示具有SGID权限
1.SGID权限仅对二进制程序有效;
2.执行者对于该程序来说,需具备x的权限;
3.SGID主要用在目录上;

SBIT: 针对others来设置的
1.主要针对other位
2.作用于目录
3.对文件无效
4.在该目录下创建新的额文件或者目录,只有自己和root可以删除

           SUID    SGID    SBIT

字符表示法: s s t
数字表示法: 4 2 1

十.隐藏属性chattr,lsattr:
chattr:修改文件隐藏属性
a:append 只能够向文件添加数据,不能删除数据
i: 文件不能被删除,改名,链接同时不能写入内容

(*)附:个人针对知识练习 (核心过程如下):

1.新建用户gentoo,要求其家目录为/users/gentoo:
[root@node1 ~]# useradd gentoo
[root@node1 ~]# usermod -d /users/gentoo

2.新建用户fedora,其家目录为/users/fedora:
[root@node1 ~]# useradd fedora
[root@node1 ~]# usermod -d /users/fedora

3.为用户gentoo和fedora新增附加组nebulaedu:
[root@node1 ~]# usermod -G nebulaedu(fedora) gentoo

4.复制目录/var/log至/tmp/目录,修改/tmp/log及其内部的所有文件的属组为nebulaedu,并让属组对 目录本身拥有写权限:
[root@node1 ~]# cp var/log/ /tmp/
[root@node1 ~]# chown -G nebulaedu /tmp/log/
[root@node1 ~]# chmod g=w nebulaedu

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值