Linux目录及文件权限

drwxrwxr-x,从左到右第一个字母表示文件系统对象的类别,这里d表示为目录(文件夹)。其它文件系统对象:

-(常规文件)、d(目录)、l(符号链接)、c(字符特殊设备)、b(模块特殊设备)、p(FIFO)、s(套接字)

drwxrwxr-x 除出去第一个字母d后的rwxrwxr-x表示的是三种用户关系对文件或文件夹的操作权限。从左到右每三个一组,依次表示所有者权限、组权限、其他用户权限。每组的顺序均为rwx,如果用户有相应的操作权限就用相应的字母表示,如果不具有相应的操作权限就用-表示。比如: rwxrwxr-x表示文件或文件夹的所有者具有rwx(可读,可写,可执行)的操作权限,组用户也具有rwx(可读,可写,可执行)的权限,其他用户具有r-x(可读,可执行,没有可读)的操作权限。

所以可以通过 sudo chmod 777 -R /var/www/ 修改其他用户操作权限或者sudo chown -R ubuntu:adm /var/www/ 修改文件夹的所有者和组。

  • 多用户对同一个目录享有不同权限的问题

home下有两个用户分别是a和b用户
他们共同享有同一个家目录/home/user
目录下有两个文件夹:
/home/user/dirA
/home/user/dirB

想要实现:
a用户对dirA目录有增删改权限,对dirB目录有复制权限
b用户对dirA目录有复制权限,对dirB目录有增删改权限

为了实现这样的要求,首先需要将两个用户附属到同一个用户组下。
root用户登录
先新建用户组:groupadd usergroup
检查创建是否成功
cat/etc/group。文件最后一列应该是刚才创建的用户组名称
创建用户A:useradd -d /home/userA -m -g usergroup userA
设置权限:chmod -R 770 /home/userA
设置密码:passwd userA
userA登录:su - userA
查看用户路径是否正确:pwd
创建文件夹:mkdir userA
设置目录访问权限:chmod -R 750 userA
查看权限是否正确:ls -l

切换到root目录:exit
创建用户userB:useradd -d /home/userB -m -g usergroup userB
设置权限:chmod -R 770 /home/userB
设置密码:passwd userB
切换到userB:su - userB
查看用户路径是否正确:pwd
创建文件夹:mkdir userB
设置目录访问权限:chmod -R 750 userB
查看权限是否正确:ls -l

这样userA和userB都拥有了自己目录的访问权限,同时相同用户组下的用户也只能读取该用户下共享的文件,不能修改和删除。

在用户userA中添加用户userB的连接:
用户userA登录:ln -s /home/userB/userB userB
查看连接是否正确:readlink userB

在用户userB中添加用户userA的连接:
用户userB登录:ln -s /home/userA/userA userA
查看连接是否正确:readlink userA

这样,用户userA登录后就能看到
-userA
-userB
目录结构了,同时对userA有读写权限,对userB只有读权限

用户userB登陆后也能看到:
-userA
-userB
目录结构,同时对userB有读写权限,对userA只有读权限。

参考:
【1】https://segmentfault.com/a/1190000002595882
【2】https://segmentfault.com/a/1190000002723259

你可能感兴趣的:(Linux目录及文件权限)