Linux使用SGID实现某个目录下文件对目录所属组的用户共享
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux使用SGID实现某个目录下文件对目录所属组的用户共享,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1275字,纯文字阅读大概需要2分钟。
内容图文
![Linux使用SGID实现某个目录下文件对目录所属组的用户共享](/upload/InfoBanner/zyjiaocheng/1309/273acc1cc3ae484e858de0ef9b6c5e93.jpg)
要共享的用户所属组设置为zp_group
添加这个用户组:
groupadd zp_group
要共享的目录名设置为zp_group_publicDir, 暂时放在/tmp目录下:
cd /tmp
mkdir -m 2770 zp_group_publicDir #数字2是为了给zp_group_publicDir目录设置SGID权限
chgrp zp_group zp_group_publicDir #将zp_group_publicDir目录所属组设置为 zp_group组
ls -ld ./zp_group_publicDir
可以看到zp_group_publicDir目录有了SGID并属于 zp_group群组, 到这里就成功了,
只要某用户所属组包含zp_group组就可以共享zp_group_publicDir目录了.
接下来进行测试:
新建两个用户user1和user2; user1添加到zp_group组, user2暂时不添加:
useradd -G zp_group user1
useradd user2
查看user1和user2的信息:
id user1 && id user2
可以看到user1含有zp_group组, user2不含有zp_group组.
切换到user1用户并进入zp_group_publicDir, 用vim创建文件 a.txt 并写入内容”a.txt file”, 然后用cat查看文件内容, 用ll(ls -l的别名)显示文件信息, 命令如下:
su
user1
cd zp_group_publicDir
vim a.txt
cat
a.txt
ll
由于zp_group_publicDir设置了SGID权限, 因此该目录下创建的文件默认的群组与该目录的群组一致, 都为zp_group;
然后切换到user2用户, 进入zp_group_publicDir目录报Permission denied表示权限不足:
因为zp_group_publicDir目录对other用户没有rwx权限, user2对于zp_group_publicDir目录属于other身份, 所以无法查看编辑与进入zp_group_publicDir目录;
然后切换到root用户把user2也加入到zp_group群组:
然后切换到user2用户, 进入zp_group_publicDir目录并创建b.txt文件:
现在user2也可以进入zp_group_publicDir目录了, 只要某用户所属组包含zp_group组就可以共享zp_group_publicDir目录, 并且在zp_group_publicDir目录下创建的文件也会自动属于zp_group组, 由此可见SGID对于项目开发来说是非常重要的.
原文:https://www.cnblogs.com/zp106/p/12885372.html
内容总结
以上是互联网集市为您收集整理的Linux使用SGID实现某个目录下文件对目录所属组的用户共享全部内容,希望文章能够帮你解决Linux使用SGID实现某个目录下文件对目录所属组的用户共享所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。