云计算应用管理(01)——权限

  • 基本权限归属
  • 附加权限
  • ACL策略管理

1.基本权限归属

  • 访问权限

    • 读取 -read(r)
    • 写入(不涵盖读取)(write -w)
    • 可执行(excute -x)
  • 对于文本文件:

    • r读取权限:cat、less、grep、head、tail
    • w写入权限:vim、> 、 >>
    • x可执行权限:Shell与Python 对于目录:
  • 对于目录

    • r读取权限:ls命令查看目录内容
    • w写入权限:能够创建、删除、修改等目录的内容
    • x 执行权限:能够cd切换到此目录下(进入此目录)
  • 归属关系

    • 所有者(属主):拥有此文件/目录的用户-user
    • 所属组(属组):拥有此文件/目录的组-group(默认是基本组)
    • 其他用户:除所有者、所属组以外的用户-other
      例如:zhangsan(所有者) zhangsan(所属组) 1.txt
  • 查看数据权限
    执行 ls -l或者ls -ld 命令查看:

    • 第一位:
      - 以-开头:文本文件
      - 以d开头:目录
      - 以l开头:快捷方式

    • 2-10位(共9位,3位为一组)

      • 第一组 :表示用户权限
        rwx分别表示读、写、执行 -表示没有权限 t代表附加权限
      • 第二组:表示所属组权限
      • 第三组:表示其他用户权限
    • 数字

      • 文件和快捷方式表示硬链接的个数
      • 目录表示子目录的个数
    • root root 表示用户和组

[root@localhost ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2510 4月   8 16:01 /etc/passwd
[root@localhost ~]# ls -ld /etc/
drwxr-xr-x. 142 root root 8192 4月   8 16:03 /etc/
[root@localhost ~]# ls -ld /dev/cdrom 
lrwxrwxrwx. 1 root root 3 4月  24 14:14 /dev/cdrom -> sr0
[root@localhost ~]# ls -l /etc/shadow
----------. 1 root root 1348 4月  24 15:35 /etc/shadow #密码文件,不允许其他人查看(root除外)

root用户拥有所有权限

  • 修改权限
    chmod命令
    • 格式 chmod [ugoa] [±=][rwx] 文件…
    • 选项 -R:递归修改权限
[root@localhost ~]# mkdir   /nsd10
[root@localhost ~]# ls   -ld   /nsd10
[root@localhost ~]# chmod   u-w    /nsd10    #所有者去掉w权限
[root@localhost ~]# ls -ld    /nsd10    
[root@localhost ~]# chmod   u+w  /nsd10     #所有者加上w权限
[root@localhost ~]# ls  -ld   /nsd10
[root@localhost ~]# chmod   g+w   /nsd10     #所属组加上w权限
[root@localhost ~]# ls   -ld    /nsd10
[root@localhost ~]# chmod    g=r    /nsd10    #所属组重新定义权限
[root@localhost ~]# ls    -ld    /nsd10
[root@localhost ~]# chmod    a=rwx    /nsd10   #a表示所有人
[root@localhost ~]# ls   -ld     /nsd10
[root@localhost ~]# chmod  u=---,g=rx,o=rwx     /nsd10
[root@localhost ~]# ls   -ld   /nsd10

o设置为rwx时表示颜色为绿色

-R递归修改权限

[root@localhost ~]# mkdir -p /opt/aa/bb/cc
[root@localhost ~]# chmod -R -o=rwx /opt/aa #设置所有子相同的权限,从aa开始

不要对根目录递归修改权限!!!

  • 新建标签页 :ctrl shift t
    w权限:可以修改目录下面的内容,但不能修改目录本身
    一个目录至少拥有执行权限,才能对其子目录和文件进行操作

权限利用数字方式表示

• 权限位的8进制数表示

– r、w、x分别对应4、2、1,后3组分别求和

分组: User权限 Group权限 Other权限

字符: r w x r - x r - x

数字: 4 2 1 4 0 1 4 0 1

求和: 7 5 5

[root@localhost ~]# mkdir   /nsd14
[root@localhost ~]# ls  -ld   /nsd14
[root@localhost ~]# chmod   700    /nsd14
[root@localhost ~]# ls   -ld   /nsd14
[root@localhost ~]# chmod   007   /nsd14
[root@localhost ~]# ls   -ld   /nsd14
[root@localhost ~]# chmod    750    /nsd14
[root@localhost ~]# ls   -ld   /nsd14
[root@localhost ~]# chmod    755    /nsd14
[root@localhost ~]# ls   -ld   /nsd14
  • 修改归属关系
    chown命令
    • chown 属主 文件…
    • chown 属主:属组 文件…
    • chown :属组 文件…
[root@localhost ~]# mkdir  /nsd15
[root@localhost ~]# ls -ld   /nsd15
[root@localhost ~]# groupadd   tmooc   #创建组tmooc
[root@localhost ~]# useradd  lisi     #创建用户lisi
[root@localhost ~]# chown   lisi:tmooc  /nsd15   #修改所有者与所属组
[root@localhost ~]# ls  -ld  /nsd15
[root@localhost ~]# chown   zhangsan   /nsd15   #仅修改所有者
[root@localhost ~]# ls   -ld   /nsd15
[root@localhost ~]# chown   :root  /nsd15     #仅修改所属组
[root@localhost ~]# ls   -ld    /nsd15

Linux中判断用户具备的权限:

1.查看用户,对于该数据所处的身份,顺序所有者>所属组>其他人,原则是匹配及停止

2.查看相应身份的权限位

例如:

1.192.168.1.1可以进入

2.所有客户端不可以进入

2.ACL策略管理

•acl访问策略作用:

能够对个别用户、个别组设置独立的权限

•setfacl命令

  • 格式:

setfacl [选项] u:用户名:权限 文件…

setfacl [选项] g:组名:权限 文件…

•常用命令选项

  • m:修改ACL策略

  • x:清除指定的ACL策略

  • b:清除所有已设置的ACL策略

  • R:递归设置ACL策略

[root@localhost ~]# mkdir    /nsd19
[root@localhost ~]# chmod    770   /nsd19        
[root@localhost ~]# ls   -ld   /nsd19
[root@localhost ~]# useradd  dc
[root@localhost ~]# su  -   dc
[dc@localhost ~]$ cd     /nsd19
-bash: cd: /nsd19: 权限不够
[dc@localhost ~]$ exit
[root@localhost ~]# setfacl   -m   u:dc:rx   /nsd19   #单独赋予dc用户权限
[root@localhost ~]# getfacl   /nsd19         #查看ACL策略
[root@localhost ~]# su  -   dc 
[dc@localhost ~]$ cd    /nsd19
[dc@localhost ~]$ pwd
[dc@localhost ~]$ exit

Linux中判断用户具备的权限(完全体)

1.首先查看该用户或者组是否有ACL策略

2.查看用户,对于该数据所处的身份,顺序所有者>所属组>其他人,原则是匹配及停止

3.查看相应身份的权限位

[root@localhost ~]# mkdir     /nsd22                    
[root@localhost ~]# setfacl  -m  u:dc:rx    /nsd22
[root@localhost ~]# setfacl  -m  u:zhangsan:rwx    /nsd22
[root@localhost ~]# setfacl  -m  u:lisi:rx     /nsd22
[root@localhost ~]# setfacl  -m  u:gelin01:rwx    /nsd22
[root@localhost ~]# getfacl    /nsd22    
[root@localhost ~]# setfacl   -x  u:zhangsan  /nsd22  #删除指定用户ACL
[root@localhost ~]# getfacl   /nsd22
[root@localhost ~]# setfacl   -x  u:dc   /nsd22     #删除指定用户ACL
[root@localhost ~]# getfacl   /nsd22
[root@localhost ~]# setfacl   -b   /nsd22    #清除目录所有ACL策略
[root@localhost ~]# getfacl    /nsd22
[root@localhost ~]# mkdir  /home/public                
[root@localhost ~]# chmod  777  /home/public
[root@localhost ~]# setfacl  -m   u:lisi:---    /home/public  #单独拒绝某些用户
[root@localhost ~]# getfacl   /home/public
  • R:递归设置ACL策略
[root@localhost ~]# setfacl -Rm    u:dc:rwx    /opt/aa

mask权限掩码:在设置了
ACL策略后,组位置权限表示的是权限掩码

3.附加权限

•粘滞位,Sticky Bit 权限

–占用其他人(Other)的 x 位

–显示为 t 或 T,取决于其他人是否有 x 权限

–适用于目录,用来限制用户滥用写入权

–在设置了t权限的目录下,即使用户有写入权限,也不能删除或改名其他用户文档
设置了粘滞位的目录只能对自己创建的文件修改

[root@localhost ~]# mkdir    /nsd26   
[root@localhost ~]# chmod  777    /nsd26
[root@localhost ~]# ls   -ld    /nsd26
[root@localhost ~]# chmod   o+t    /nsd26
[root@localhost ~]# ls   -ld    /nsd26

•Set GID权限(SGID权限)

–占用属组(Group)的 x 位

–显示为 s 或 S,取决于属组是否有 x 权限

–对目录有效

–在一个具有SGID权限的目录下,新建的文档会自动继承父目录的属组身份
设置了SGID的目录,新建文件会自动继承父目录所属组

[root@localhost ~]# mkdir   /nsd18                    
[root@localhost ~]# chown   :tmooc   /nsd18   #修改所属组
[root@localhost ~]# ls  -ld   /nsd18
[root@localhost ~]# chmod  g+s  /nsd18     #赋予SGID特殊权限
[root@localhost ~]# ls -ld    /nsd18
[root@localhost ~]# mkdir    /nsd18/abc01
[root@localhost ~]# ls   -ld   /nsd18/abc01
[root@localhost ~]# mkdir   /nsd18/abc02
[root@localhost ~]# ls   -ld  /nsd18/abc02
[root@localhost ~]# touch    /nsd18/1.txt
[root@localhost ~]# ls  -ld  /nsd18/1.txt
  • Set UID(SUID)权限(了解)

占用属主(User)的 x 位

显示为 s 或 S,取决于属主是否有 x 权限

仅对可执行的程序有意义

当其他用户执行带SUID标记的程序时,具有此程序属主的身份和相应权限
即在普通用户执行有SUID权限的程序时,会以root的身份执行

  • 总结补充
    请问实现lisi用户可以读取/etc/shadow文件内容,您有几种办法?(至少写出三种以上)
  1. 利用其他人身份

chmod o+r /etc/shadow

  1. 利用所属组身份

chown :lisi /etc/shadow

chmod g+r /etc/shadow

  1. 利用所有者身份

chown lisi /etc/shadow

chmod u+r /etc/shadow

  1. 利用ACL策略

setfacl -m u:lisi:r /etc/shadow

  • 手动建立用户家目录

/etc/skel是新建用户时,会以此目录作为模板建立用户家目录

]# useradd    natasha
]#  rm  -rf   /home/natasha
]# cp  -r    /etc/skel     /home/natasha
]# chown   -R   natasha:natasha   /home/natasha
]# ls   -lA    /home/natasha
]# su  -  natasha
[natasha@localhost ~]$
  • 权限掩码mask

  • 新建文件/目录的默认权限

    • 一般文件默认均不给 x 执行权限

    • 其他取决于 umask(权限掩码) 设置

    • 新建目录默认权限为755

    • 新建文件默认权限为644

[root@localhost ~]# umask            
0022
[root@localhost ~]#  umask -S   #显示新建目录的默认权限
u=rwx,g=rx,o=rx
[root@nb ~]# mkdir -m  777  /nsd26   #-m无视umask值创建数据指定数据的权限
[root@nb ~]# ls   -ld   /nsd26
实现natasha用户新建数据,目录权限为700文件为600
[root@nb ~]# useradd  natasha
[root@nb ~]# vim   /home/natasha/.bashrc  #修改家目录配置文件
umask   077         #新增配置,指定权限掩码值
[root@nb ~]# su  -  natasha
上一次登录:四 2月 23 17:26:16 CST 2023pts/0 上
[natasha@nb ~]$ umask 
0077
[natasha@nb ~]$ mkdir    abc
[natasha@nb ~]$ ls   -ld   abc
drwx------. 2 natasha natasha 6 2月  23 17:27 abc
[natasha@nb ~]$ exit
  • 常见故障:递归设置权限错误
[root@nb ~]#  mkdir  /nsd26
[root@nb ~]#  mkdir  /nsd26/haha
[root@nb ~]#  mkdir /nsd26/xixi
[root@nb ~]#  touch  /nsd26/1.txt
[root@nb ~]#  touch   /nsd26/2.txt
[root@nb ~]#  chmod   -R  a=---    /nsd26
[root@nb ~]#  ls  -ld   /nsd26
[root@nb ~]#  ls   -l   /nsd26
[root@nb ~]#  find   /nsd26   -type   d  -exec  chmod  755  {}   \;
[root@nb ~]#  ls   -l   /nsd26
[root@nb ~]#  find   /nsd26   -type  f  -exec  chmod  644   {}    \;
[root@nb ~]#  ls   -l   /nsd26
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值