跟高手学习LINUX笔记-7

第七章 Centos7-文件权限管理
本节所讲内容:
7.1文件的基本权限:r w x (UGO)
7.1.1对于文件与文件夹r w x的不一样含义
[root@node-1 ~]# ll /etc/passwd
-rw-r--r-- 1 root root 1076 Jan 19 19:40 passwdnode

  • : 文件类型
    主要文件类型有如下几种
  • 表示普通文件
    d 表示文件夹
    c 表示字符型设备文件如键盘等
    b 表示块型设备文件如硬盘、光驱等
    p 表示命名管道文件
    l 表示符号连接文件
    s 表示socket套接口文件

例:列举一些文件说明
#ll /dev/sda /bin /etc/passwd /dev/tty0
lrwxrwxrwx. 1 root root 7 May 19 2018 /bin -> usr/bin
brw-rw---- 1 root disk 8, 0 Feb 5 2020 /dev/sda
crw--w---- 1 root tty 4, 0 Feb 5 2020 /dev/tty0
-rw-r--r-- 1 root root 1076 May 19 2018 /etc/passwdsocket

1)对文件来说:
r:读取内容
w:写入内容
x:执行
2)对文件夹来说:
r:查看目录里有什么
w:在目录中删除、新建、重命名、移动等操做
x:能够进入目录ide

7.1.2文件拥有者
UGO:全部者(owner)--用户组(group)--其它用户(other)
全部者: 文件全部及建立者
用户组: 是具备相同权限用户的逻辑集合,为了管理方便
其它用户:除了owner与group外的用户都包含在内
7.1.3分解认识权限与用户ui

  • rw- r-- r-- 1 root root 1076 Jan 19 19:40 passwd
    文件类型 文件全部者权限 文件所属组权限 其余用户权限 硬连接数 文件拥有者 文件所属组 文件大小 文件建立时间 文件名

例2: 你以什么用户身份登陆,那么你建立的文件或目录,自动成为该文件的所属主和组
#su - wangtao
$ pwd
/home/wangtao
$ touch aa.txt
$ ll
-rw-rw-r-- 1 wangtao wangtao 0 Feb 4 16:12 aa.txt继承

7.1.4 更改文件的属主和属组
改变文件的所属关系用到命令:
chown:能够用来改变文件(或目录)的属主
-R:能够修改目录拥有者及属组,包括目录下的文件
主要格式以下:
chown :wangtao /opt/password --将/opt/password所属组修改成wangtao这个组
chown wangtao :wangtao /opt/password --将/opt/password修改成wangtao用户为拥有者,所属组修改成wangtao这个组
chown -R :wangtao /opt --将/opt文件夹所属组修改成wangtao这个组接口

文件全部者必定能够写文件。 就像root能够对shadow强制写。 因shadow的拥有者是rootget

7.1.5修改权限
7.1.5.1 使用字符设定
修改权限用的命令:chmod
做用:修改文件,目录的权限
语法:chmod [对谁操做] [操做符] [赋于什么权限] 文件名
对谁操做:
u----> 用户user,表示文件或目录的全部者
g---->用户组group,表示文件或目录所属的用户组
o---->其它用户others
a---->全部用户all
操做符:
操做符 + #添加某个权限 ;
操做符 - # 减小某个权限 ;
操做符 = #直接给定一个具体权限
权限:r w x
此法是添加或减小权限,也可用数值表示
使用八进制(0-7)数字表示权限法it

  • rw- rw- r-- 1 wangtao wangtao 0 Feb 4 16:12 aa.txt
    数值:421 421 421
    例3:
    #chmod g+x /opt/passwd
    #chmod 644 /opt/passwd

7.1.6有三种权限能够应用:读取,写入与执行,这些权限对访问文件和目录的影响以下:
权限 对文件的影响 对目录的影响
r(读取) 能够读取文件的内容 能够列出目录的内容(文件名)
w(写入) 能够更改文件的内容 能够建立或删除目录中的任意文件
x(执行) 能够做为命令执行文件 能够访问目录的内容(取决于目录中文件的权限)class

7.1.7umask值对权限的影响
文件的默认最大权限:666
文件夹的默认最大权限:777
根据设置的umask值去掉相关的权限,对于umask值为奇数时,相应位上减1后再用默认最大权限减去相应的值便可
umask值为偶数用默认最大权限减去相应的值便可
如:umask=033 则算默认文件的权限是:666-(033-011)=666-022就能够了
umask=044 则算默认文件的权限是:666-(044)=622就能够了
7.2文件的特殊权限:suid sgid sticky和文件扩展权限ACL
7.2.1 文件的特殊权限:suid sgid sticky
一、SUID(set uid设置用户ID):限定:只能设置在二进制可执行程序上面。对目录设置无效
功能:程序运行时的权限从执行者变动成程序全部者的权限
说明:/usr/bin/passwd 具体此权限,这样普通用户也能够修改密码
二、SGID:限定:既能够给二进制可执行程序设置,也能够对目录设置
功能:在设置了SGID权限的目录下创建文件时,新建立的文件的所属组会,继承上级目录的所属组
说明:若是想目录下新建文件继承上级目录权限,设置此权限位
三、Stickybit:粘滞位权限是针对目录的,对文件无效,也叫防删除位
限定:只做用于目录
功能:目录下建立的文件只有root、文件建立者、目录全部者才能删除。
说明:/tmp目录有此权限位,其目录下的文件也只有root与owner能够删除test

7.2.2 文件扩展权限ACL
扩展ACL :access control list
目的是解决用rwx权限没法解决的权限需求
查看扩展权限:getfacl 文件名
#getfacl /home/wangtao/aa.txt
getfacl: Removing leading '/' from absolute path names
[root@node-1 ~]# file: home/wangtao/aa.txt
[root@node-1 ~]# owner: wangtao
[root@node-1 ~]# group: wangtao
user::rw-
group::rw-
other::r--
设置扩展权限:setfacl 【参数】 文件名
-d:增长个默认的扩展访问权限
-m:新建扩展权限
-R:必定要在-m前面,表示目录下全部文件
-x:去掉单个权限
例1:
[root@node-1 ~]# setfacl -R -m u:lee:rw- testdirectory/  #-R必定要在-m前面,表示目录下全部文件
[root@node-1 ~]# setfacl -x u:mk /tmp/a.txt # 去掉单个权限
[root@node-1 ~]# setfacl -b /tmp/a.txt # 去掉全部acl权限
例2:
[root@node-1 ~]# mkdir /opt/test
[root@node-1 ~]# setfacl -m d:u:wangtao:rwx /opt/test
[root@node-1 ~]# getfacl /opt/test
getfacl: Removing leading '/' from absolute path names
[root@node-1 ~]# file: opt/test
[root@node-1 ~]# owner: root
[root@node-1 ~]# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:wangtao:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

[root@node-1 ~]# touch /opt/test/aa.txt
[root@node-1 ~]# getfacl /opt/test/aa.txt
getfacl: Removing leading '/' from absolute path names
[root@node-1 ~]# file: opt/test/aa.txt
owner: root
group: root
user::rw-
user:wangtao:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--

7.3没法‘删除’文件之谜--扩展属性命令:chattr 设置文件属性参数: a 只能追加内容 ; i 不能被修改若是增长属性则用:+若是去掉属性则用:-例:[root@node-1 ~]# chattr +i /opt/passwd 增长不能修改属性[root@node-1 ~]#chattr -i /opt/passwd 去掉不能修改属性命令:lsattr 设置文件属性例:[root@node-1 ~]#lsattr /opt/passwd ----i----------- /opt/passwd

相关文章
相关标签/搜索