本文参考链接:Linux文件特殊权限
实践:文件特殊权限- 在/opt目录下创建Project目录,作为项目目录
sudo mkdir /opt/Project
- 创建一个用户组groupadd TestGroup
sudo groupadd TestGroup
- 创建两个测试用户,TestUser1和TestUser2,请使用下面的命令
sudo useradd -G TestGroup TestUser1 -s /bin/bash -m sudo useradd -G TestGroup TestUser2 -s /bin/bash -m
- 实现以下功能:
- 只能TestUser1,TestUser2, root三个用户,和其他TestGroup用户组的用户才能进入该目录,其他用户对这个文件夹没有任何权限
- TestUser1和TestUser2创建的文件,所属组为TestGroup
- 在此目录下,所有用户只能删除自己创建的文件,root除外
sudo chgrp -R TestGroup /opt/Project #修改所属组,此时的权限是755 sudo chmod 770 /opt/Project # 修改权限为770,其他用户对这个文件夹没有权限
sudo chmod o+s /opt/Project/ #所有用户只能删除自己创建的文件
sudo chmod g+s /opt/Project/ #组内文件互通
sudo chmod o+t /opt/Project/ #其他用户无法删除
- 粘滞位,当⽬录被设置了粘滞位权限以后,即便⽤户对该⽬录有写⼊权限,也不能删除该⽬录中其他⽤户的⽂件数据,⽽是只有该⽂件的所有者和root⽤户才有权将其删除。设置了粘滞位之后,正好可以保持⼀种动态的平衡:允许各⽤户在⽬录中任意写⼊、删除数据,但是禁⽌随意删除其他⽤户的数据。
ls -l -a - i -h cd pwd mv cp -i -r -f rm -i -r -f文件夹
mkdir rmdir查看文件内容
cat -n -b # -n 所有行 -b 空行不编号 tac more #只能向下翻页,无法定位到查找内容,自动退出 less # man手册就是基于此实现的,可以上下翻页,可以定位到查找内容,不会自动退出 head -n tail -n nl -b (a t) -n (ln rn rz) -w #设定行编号的宽度三个时间
- atime=access
- ctime= change
- mitime=modify
lsattr chattr文件的特殊权限
#二进制可执行程序 #执行程序,临时获得程序所有者的权限 set_uid: u+s #二进制可执行程序,文件夹 #进入到该文件夹下,有效组变为该文件夹的所属组 set_gid: g+s #文件夹 #进入到该文件夹里的用户只能删除自己创建的文件 sticky_bit: o+t 字母大小写判断文件原来是否有可执行权限文件的查找和定位
which #在PATH中,找二进制可执行文件 whereis #二进制可执行文件,man手册,库函数 locate #索引库 find #文件的名字、大小、所属组、类型、时间、文件权限



