文件的基本权限

基本权限

  -         rwx       r-x          r-x          user1       user1    filename

类型     拥有者权限  所属组权限    其他人权限    属主         属组       对象

 

对于文件:r     w       x 执行

 

对于目录:r读(看到目录里有什么)

            w  创建文件、删除、移动

            x进入   cd进去

 

 

修改权限的相关命令

chmod

作用 修改文件权限

u+r u+w  u+x

g-w

o=x

  wKioL1csCDLhX9VeAAC2meGVkvk404.jpg可执行权限 绿色

 

同理

chmod g+x/ +w /+x  a.txt  用法同上

 

wKioL1csCEjC0IqnAADIRus-r8k505.jpg

 

修改 other 权限同上

chmod  o+/-/=

 

chmod a+/-/=  a 代表全部  拥有人  拥有组  其他人

也可以  chmod +/-/=   等同于 a+/-/=

 

使用数字表示权限

  -          rwx                     r-x             r-x             user1          user1    filename

类型         拥有者权限    所属组权限    其他人权限    属主                  属组                  对象

rwx

r--              -w-             --x

100            010            001

r=4            w=2           x=1

 

rw-  的值是多少   

rwxr-xr-x 的值是多少

 

 

chown

作用  修改文件拥有者和所属组

语法    chown usergroup  对象      修改拥有人和所有组

                   chownuser 对象              修改拥有人

                  chowngroup  对象          修改所属组

 

-R  递归 (目录下的所有内容全部更改,否则只修改目录)

 

wKiom1csB36xnrI-AADXisYNvwo920.jpg

 

 

一个文件 只有r权限    拥有者  是否可以写这个文件

wKioL1csCKCjFaG2AAAzEl4Wa_o121.jpg


wKioL1csCKvzzo1nAABRMaNrSYo857.jpg

 

 

设置文件默认权限的补码

 

系统用户  umask 022

普通用户  umask 002

 

计算方法

文件默认权限= 666-umask

目录默认权限 =777-umask

工作中可以这么记  但不严谨

 

  umask 033

umask 掩码为033   666-033=633    结果为644

计算方法:

6  6   6       umask  0   3   3

110 110 110              000  011 011 取反

                                                        111  100 100

110 110 110           111  100 100

   \                         /

    \                       /

     \                     /

         110   100   100

           6    4     4

 

了解

/etc/bashrc

wKiom1csB-SiAYMPAACaaWF08JI610.jpg

 

 

特殊权限

                     SUID                         SGID                            stickybit

 

s 对应的数值为     4                               2                                            1

 

SUID

限定: 只能设置在二进制可执行程序上面。 对目录文本设置无效。

功能: 程序运行时 的权限从执行者变成程序的拥有者

wKiom1csCCjQODE7AACYU2icXgU682.jpg

 

任何人对 /etc/shadow 没有任何权限  如何修改密码?

wKiom1csCDKALnqJAABuqKXOhSw262.jpg

 

就是通过 SUID  普通用户使程序运行时  变成拥有者root

 

普通用户运行查看命令 less /etc/shadow  显示 权限不够


 wKioL1csCRSi2i-mAAA0ayGXRGk637.jpg

wKiom1csCIKDZ5ecAABJ4wofUck314.jpg

root 查看less命令的绝对路径  然后给它加上SUID  再用普通用户 less查看

 

wKiom1csCIzT5f1HAAD0EzGJyVQ076.jpg

 

 

另外  chmod 4775 /usr/bin/less 等同于  chomod u+s /usr/bin/less

 

 

 

SGID

限定既可以给二进制可执行程序设置,也可以给目录设置

功能: 在设置了SGID权限的目录下建立文件时, 新创建的文件的所属组会继承上级目录的所属组权限

wKiom1csCJfCs2HSAAEnCiGYGrA873.jpg

 

wKioL1csCXrilgIfAACVCuBSRYM826.jpg

 

总结 改变ceshi 这个文件夹的 所属组为 zhen ,当用root ceshi文件夹下创建a.txt文件时   a.txt 的所属组 继承上级目录

 

 

 

stickybit

限定: 只作用于目录

功能: 目录下常见的文件 只有root、文件创建者、目录所有者才能删除

chmod o+t

wKiom1csCRegXnR4AABbSM99jBk389.jpg

 

扩展ACL

查看  getfacl

 

 

u 设置某个用户拥有的权限

 

wKiom1csCSPwyOZEAACgfR17TLo377.jpg

 

g 设置某个组 拥有的权限

wKioL1csCgbwnWDeAACOtnlhS80550.jpg

 

设置目录 acl

wKioL1csCg6wf_J4AACZn237tIc751.jpg

 

wKioL1csClGiLLTkAAAkWZ62hgc856.jpg去掉单个acl权限

wKiom1csCYODcaQZAAAdhTgJguY418.jpg去掉所有acl权限

 

实战  创建一个让root删除不了的文件

linux 文件系统扩展属性  chattr  lsattr

+a 只能追加内容

+i 不能被修改

 

wKioL1csCmWzXYsHAAEhMosIDIQ001.jpg

 

wKioL1csCm7z5rbaAAE8qA5hlCk663.jpg