管道/linux权限管理

“|”,竖线

作用:管道是一种通信机制,通常用于进程间的通信。它表现出来的形式将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)

xargs命令扩展

xargs命令就相当于对管道命令进行了一个扩展,让所有命令都支持管道

案例:

搜索/etc目录下的所有".conf"结尾的文件信息,然后以详细列表形式显示

find /etc -name "*.conf" | ls -l

find /etc -name "*.conf" | xargs ls -l

文件或文件夹权限设置

第一个数字7,代表文件拥有者权限

第二个数字7,代表文件所属组内用户权限

第三个数字7,代表其他用户权限

rwx = 4 + 2 + 1 = 7

rw = 4 + 2 = 6

rx = 4 + 1 = 5

练习:

使用root 用户设置文件夹/root/shop 的权限为:属主全部权限,属组拥有读和执行权限,其他用户没有权限,请使用数字权限的形式设置
rwx=7,rx=4+1=5,0
# chmod -R 750 /root/shop

文件/root/readme.txt 的权限,权限要求为:
属主拥有**全部**权限,属组要求可以**读写**,其他用户**只读**,要求使用数字形式;
rwx=7,rw=4+2=6,r=4
# chmod 764 /root/readme.txt

请设置/root/email.doc权限,权限要求只有属主可以读写,除此之外任何人没有权限;
属主拥有**全部**权限,属组要求可以**读写**,其他用户**只读**,要求使用数字形式;
rwx=7,rw=4+2=6,r=4
# chmod 764 /root/readme.txt    

请设置/root/email.doc权限,权限要求只有属主可以读写,除此之外任何人没有权限;
rw=6,0,0
# chmod 600 /root/email.doc

特殊权限说明

在Linux 中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在的目录是否有写权限,如果有才可以删除(同时必须具备执行权限)。

/shell/readme.txt
我们想删除readme.txt文件,必须要对shell目录具有可写权限,否则文件无法删除

文件拥有者:属主
文件所属组:属组

属主:所属的用户,文档所有者,这是一个账户
属组:所属的用户组,这是一个组
在这里插入图片描述

chown同时修改属主与属组

# chown [选项] 文件拥有者名称:文件所属组名称 文件名称# chown [选项] 文件拥有者名称.文件所属组名称 文件名称
选项说明:
-R : 代表递归修改,主要针对文件夹

特殊权限

设置位S(针对二进制文件)
作用:为了让一般使用者临时具有该文件所属主/组的执行权限。
主要针对二进制文件(命令)

/usr/bin/passwd在执行它的时候需要去修改/etc/passwd和/etc/shadow等文件,这些文件除了root外,其他用户都没有写权限,但是又为了能让普通用户修改自己的密码

whereis命令,主要功能就是查询某个命令所在的路径,基本语法 => whereis passwd

普通账号 => 执行/usr/bin/passwd => 修改/etc/shadow文件(存放用户的密码)

/etc/shadow文件比较特殊,其权限为— — —(000),除root外,其他人都没有权限

# chmod u+s /usr/bin/passwd
或者
# chmod 4755 /usr/bin/passwd

沾滞位T(针对文件夹)

# chmod -R o+t 文件夹的名称# chmod -R 1777 文件夹的名称

主要功能:只允许文件的创建者和root用户删除文件(防止误删除权限位)

/tmp文件夹,拥有最高权限777,比如普通用户创建了一个文件在此目录,user用户可以对其进行删除操作,这种显然不太合适。

7 = r + w + x = 可读、可写、可执行

案例:使用ls -l命令查看/tmp目录权限

# ls -ld /tmp# ll -d /tmp

移除粘滞位

# chmod -R o+t /tmp# chmod -R 1777 /tmp

ACL访问控制

ACL,是 Access Control List(访问控制列表)的缩写,在 Linux 系统中, ACL 可实现对单一用户设定访问文件的权限。
扩展:ACL权限可以针对某个用户,也可以针对某个组。ACL优势就是让权限控制更加的精准。

获取某个文件的ACL权限

getfacl 文件或目录名称

给某个文件设置ACL权限

# setfacl [选项] 文件或目录名称
选项说明:
-m : 修改acl策略
-x : 去掉某个用户或者某个组的权限
-b : 删除所有的acl策略
-R  :递归,通常用在文件夹
针对readme.txt文件给linuxuser设置一个权限=>可读
setfacl -m u:linuxuser:r readme.txt	=>  针对某个用户开通ACL权限

针对shop文件夹给itheima组设置一个权限=>可读可写权限rw
setfacl -R -m g:itheima:rw shop	=> 	针对某个用户组开通ACL权限

把linuxuser用户权限从readme.txt中移除掉
setfacl -x u:linuxuser readme.txt

把itheima用户组权限从shop中移除掉
setfacl -x -R g:itheima shop

把readme.txt文件中的所有ACL权限全部移除
setfacl -b readme.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韶博雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值