[Linux系统] (2)用户权限管理
示例---普通用户之间的文件共享:
假设公司有2个项目组,共享同一台服务器。
1.为两个项目组各创建一个用户:
useradd leo01
useradd leo02
2.为两个新用户设置密码:
passwd leo01
passwd leo02
3.在这种情况下,各个用户只能自己访问自己的家目录,无法互相访问。只有root用户可以随意访问普通用户的home目录。
4.创建一个共享目录叫share:
cd /
mkdir share
此时share目录的状态为:
drwxr-xr-x root root Oct : share
我们可以看到,由root用户创建的share目录所属root用户,组也是root组。
5.创建一个组,将leo01和leo02用户都加到这个组里:
groupadd leoshare
usermod -a -G leoshare leo01
usermod -a -G leoshare leo02
查看一下用户状态:
id leo01
状态为:
uid=(leo01) gid=(leo01) groups=(leo01),(leoshare)
6.将共享目录share的所属组修改为leoshare组:
chown root:leoshare share
drwxr-xr-x root leoshare Oct : share
7.还需要修改该文件夹的组权限以及其他用户权限:
chmod g+w share
chmod o-rx share
对组加上写权限,对其他用户减去读和进入目录的权限(对于目录来说,x权限即是打开进入目录的权限)。
drwxrwx--- root leoshare Oct : 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-- leo01 leo01 Oct : a.txt
我们发现该文件所属组为leo01,而不是leoshare,对其他用户的权限为只读,所以leo02没有权限修改。
10.要让leo02能够修改,则需要将文件的组权限修改为leoshare所有:
chown leo01:leoshare a.txt
修改之后,leo02就可以对a.txt进行修改了。
11.除了10中所述的修改组权限,也可以修改其他用户权限为rw模式,因为父目录share已经阻止了除leo01和leo02的其他用户进入。
chmod a.txt
-rw-rw-rw- leo01 leo01 Oct : a.txt
最新文章
- IntelliJ IDEA注册码
- select for update行锁
- MS Project 使用之创建项目信息
- jsonp 跨域 能返回数据但 无法返回成功问题
- C#三元运算符
- android大牛高焕堂最新力作-android架构师之路
- HTML5常用标签总结
- Timer类的schedule和scheduleAtFixedRate 简单应用
- Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器)
- ASP.NET Aries 高级开发教程:使用存储过程(番外篇)
- 我爱Java系列之《JavaEE面试宝典》---【IO流面试总结】
- 深入并发包 ConcurrentHashMap 源码解析
- ACM-ICPC 2018 焦作赛区网络预赛 I Save the Room
- jenkins原理
- package.json版本号
- ECMAScript 6 入门之变量的解构赋值
- [翻译]第三天- 在 Mac 上运行 .NET Core 应用程序
- 【POJ】1835:宇航员【模拟】【三维行走】
- .vs目录有什么用?
- [学习笔记]Spring依赖注入