查询文件夹权限
stat -c “%a %n” /root/test
输出 755
755分别表示什么意思,下面解释一下:
7:表示目录所有者的权限,用二进制角度去看,1=执行 2=写 3=读,所以7表示目录所有者拥有读+写+执行的权限。
5:表示目录所有者同组用户的权限,5=读+执行
5:表示其他用户的权限,5=读+执行
你也可以用 ls 命令查询权限
ls -l /root
root@ser769757624469:~# ls -l /root
total 12
drwxr-xr-x 3 root root 4096 May 28 10:38 snap
drwxr-xr-x 3 tanyong root 4096 May 29 13:35 test
drwxr-xrwx 3 root root 4096 May 31 03:38 test2
drwxr-xrwx 是什么意思呢,
首先,第一个d表示这是个文件夹,不是文件 ;
然后,往右数三个字母,表示所有者权限 ;
再往右三个字母,是同组用户权限,r-x r=读 x=执行, 中间本来是w=写,现在是 - 横杠,表示没有写权限;
再往右三个字母,是其他用户权限。
ls -l -d /root
加上-d则是查询 /root 本身的权限,而不是查询它的子目录
设置文件夹以及所有子文件夹和文件的权限
chmod -R 755 /root/test
-R 表示循环设置 /root/test 子文件夹的意思
更改文件夹所有者
chown -R username /folderpath
如何让一个普通用户可以读写某个目录
循环设置这个目录以及上面每一级目录的读取和执行权限
sudo chmod -R o+rx /opt/software/yourdir
然后设置指定用户user1可以读写这个目录
sudo setfacl -Rm u:user1:rwx /opt/software/yourdir
读取acl
sudo getfacl -R /opt/software/yourdir
-R 是循环读取子目录和文件的意思
安装setfacl
sudo apt-get update
sudo apt-get install acl