Linux权限管理

指令:
u:属主    g:属组    o:其他人    a:所有人   r(4):读     w(2):写      x(1):执行
chmod:改变文件的访问权限
chown:修改文件所有者和组别            -R     递归地修改目录及其下面内容的所有权.
chgrp:改变文件的组所有权                -R     递归地修改目录及其下面内容的所有权.
getfacl:获取文件访问控制列表 
setfacl:设置文件访问控制列表  -m:添加acl权限  -x:删除单个acl权限    -b:删除所有acl权限
mask:相交的权限 setfacl -m m::--- 
default(继承):希望alice能够对/dir-alice以及以后在/dir-alice下新建的文件有读、写、执行权限
setfacl -m d:u:alice:r-x /dir-alice
*********************************************************************************************************************************************************************************************
基本权限UGO
权限对象
权限对象:
属主: u
属组: g
其他人: o
所有人:a(u+g+o)
权限类型:
读:r=4
写:w=2
执行: x=1
设置权限
更改权限
使用符号
语法
使用符号:u用户 g组  o其他  r读   w写  x执行
语法: chmod   对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x)    文件/目录
示例
1.了解普通文件的基本权限
[root@localhost ~]# cd  /tmp
[root@localhost ~]# touch     file1
[root@localhost tmp]# ll file1 
-rw-r--r--. 1 root root 0 4月  13 20:49 file1
权限         属主 属组              文件
2.编写程序
[root@localhost tmp]#vim    file1 
echo    "hello 1803"
read    -p     "请输入您的姓名:"     name
echo     "哈哈 $name 是大笨蛋"
3.增加执行权限
[root@localhost tmp]# chmod u+x file1 //属主增加执行
4.运行测试。成功
[root@localhost tmp]# ./file1 
hello 1803
请输入您的姓名:4567
4567 是大笨蛋
5.去除权限。运行失败
[root@localhost tmp]# chmod u-x file1 
[root@localhost tmp]# ./file1
-bash: ./file1: 权限不够
6.更多的修改权限练习

[root@localhost tmp]# chmod a=rwx file1 //所有人等于读写执行
[root@localhost tmp]# chmod a=- file1 //所有人没有权限
[root@localhost tmp]# chmod ug=rw,o=r file1 //属主属组等于读写,其他人只读
[root@localhost tmp]# ll file1 //以长模式方式查看文件权限
-rw-rw-r-- 1 alice it 17 10-25 16:45 file1 //显示的结果
使用数字
4读   2写   1执行
[root@localhost ~]# chmod 644 file1
[root@localhost ~]# ll file1
-rw-r--r-- 1 alice it 17 10-25 16:45 file1
更改属主、属组
=chown: 设置一个文件属于谁,属主
语法:                      chwon   用户名.组名   文件
[root@localhost ~]# chown alice.hr file1 //改属主、属组
[root@localhost  ~]# chown alice file1 //只改属主
[root@localhost ~]# chown .hr file1 //只改属组
=chgrp: 设置一个文件属于哪个组,属组
语法:            chgrp   组名   文件      -R是递归的意思
[root@localhost ~]# chgrp it file1 //改文件属组
[root@localhost ~]# chgrp -R it dir1 //改文件属组
基本权限 ACL
用法
设置
设置:
[root@tianyun ~]# touch /home/test.txt
[root@tianyun ~]# ll /home/test.txt 
-rw-r--r-- 1 root root 0 10-26 13:59 /home/test.txt


[root@tianyun ~]# getfacl /home/test.txt//查看文件有哪些ACL权限。
[root@tianyun ~]# setfacl -m u:alice:rw /home/test.txt //增加用户alice权限
[root@tianyun ~]# setfacl -m u:jack:- /home/test.txt //增加用户jack权限
[root@tianyun ~]# setfacl -m o::rw /home/test.txt
查看/删除:
如何删除一条acl,如何删除所有acl呢?
[root@tianyun ~]# ll /home/test.txt 
-rw-rw-r--+ 1 root root 0 10-26 13:59 /home/test.txt
[root@tianyun ~]# getfacl /home/test.txt


[root@tianyun ~]# setfacl -m g:hr:r /home/test.txt
[root@tianyun ~]# setfacl -x g:hr /home/test.txt //删除组hr的acl权限
[root@tianyun ~]# setfacl -b /home/test.txt //删除所有acl权限
高级用法
mask:
原理
acl权限中有个"mask"的选项,它就是ACL权限的最大权限,现在是rwx,当你设置某个用户或组的ACL权限时,要跟mask的权限“相与”之后产生的权限才是该用户的最终权限,也就是加入mask的最大权限是rx,但是你给st用户设置的是rwx权限,此时st用户它的权限只有rx的权限,因为与最大权限“相与”得出的结果就是rx
图示

示例
生产环境中,常用于临时降低用户或组(除属主和其他人)的权限
1.准备测试用户和组
useradd jack
useradd alice
groupadd  hr 
touch /tmp/file1.txt


2.设置facl权限。
setfacl -m u:jack:rwx /tmp/file1.txt 
setfacl -m u:alice:rw /tmp/file1.txt 
setfacl -m g:hr:r /tmp/file1.txt 


3.查看权限列表。测试成功。
getfacl /tmp/file1.txt


4.切换用户。验证权限读写执行成功。 
su - jack
su - alice


5.设置mask权限为空。切换用户测试,用户写和执行失效。
setfacl  -m m::---  /tmp/file1.txt 
getfacl /tmp/file1.txt 
su - alice
su - jack


6.为什么用户还可以读取文件呢。因为mask无法影响属主和其他用户权限。
去除掉其他人权限。再次使用alice和jack用户访问文件。发现读取无法完成。
chmod o-r  /tmp/file1.txt
default: 继承(默认)
default: 继承(默认)
要求: 希望alice能够对/dir-alice以及以后在/dir-alice下新建的文件有读、写、执行权限


思路:
步骤一: 赋予alice对/dir-alice读、写、执行权限
[root@tianyun ~]# setfacl -m u:alice:r-x /dir-alice


步骤二: 赋予alice对以后在 /dir-alice下新建的文件有读、执行权限 (使alice的权限继承)
d     default     继承  
[root@tianyun ~]# setfacl -m d:u:alice:r-x /dir-alice

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值