示例---普通用户之间的文件共享:
假设公司有2个项目组,共享同一台服务器。服务器
1.为两个项目组各建立一个用户:ui
useradd leo01
useradd leo02
2.为两个新用户设置密码:spa
passwd leo01 passwd leo02
3.在这种状况下,各个用户只能本身访问本身的家目录,没法互相访问。只有root用户能够随意访问普通用户的home目录。code
4.建立一个共享目录叫share:blog
cd /
mkdir share
此时share目录的状态为:class
drwxr-xr-x 2 root root 6 Oct 20 16:00 share
咱们能够看到,由root用户建立的share目录所属root用户,组也是root组。权限
5.建立一个组,将leo01和leo02用户都加到这个组里:密码
groupadd leoshare
usermod -a -G leoshare leo01
usermod -a -G leoshare leo02
查看一下用户状态:数据
id leo01
状态为:项目
uid=1001(leo01) gid=1001(leo01) groups=1001(leo01),1003(leoshare)
6.将共享目录share的所属组修改成leoshare组:
chown root:leoshare share
drwxr-xr-x 2 root leoshare 6 Oct 20 16:00 share
7.还须要修改该文件夹的组权限以及其余用户权限:
chmod g+w share chmod o-rx share
对组加上写权限,对其余用户减去读和进入目录的权限(对于目录来讲,x权限便是打开进入目录的权限)。
drwxrwx--- 2 root leoshare 6 Oct 20 16:00 share
此时,用户leo01和leo02均可以对该文件夹进行访问读写,将须要互通的文件和数据放入该目录,就实现了共享。
8.从新链接leo01和leo02用户(很重要,由于若是leo01和leo02是在修改share目录权限只前登录的,权限设置没有刷新,会致使没法访问,从新登录该用户后就能够了)
9.咱们使用leo01用户在share中建立一个文件a.txt
cd /share vi a.txt
当咱们使用leo02用户来修改a.txt时,会提示没法保存,文件为只读状态。
查看一下文件的元数据:
-rw-rw-r-- 1 leo01 leo01 16 Oct 20 16:17 a.txt
咱们发现该文件所属组为leo01,而不是leoshare,对其余用户的权限为只读,因此leo02没有权限修改。
10.要让leo02可以修改,则须要将文件的组权限修改成leoshare全部:
chown leo01:leoshare a.txt
修改以后,leo02就能够对a.txt进行修改了。
11.除了10中所述的修改组权限,也能够修改其余用户权限为rw模式,由于父目录share已经阻止了除leo01和leo02的其余用户进入。
chmod 666 a.txt
-rw-rw-rw- 1 leo01 leo01 35 Oct 20 16:20 a.txt