番外8.1 Task

---------系统中有两个账号,分别是alex与arod,这两个账号除了支持自己的组,还共同支持一个名为project的组。如这两个账号需要共同拥有/srv/ahome/目录的开发权,且该目录不允许其他账号进入查阅,请问该目录的权限应如何设定?请先以传统权限说明,再以SGID的功能解析。 目标:了解为何项目开发时,目录最好设定SGID的权限。

前提:多个账号支持同一组,且共同拥有目录的使用权。

需求:需要使用root的身份运行chmod、chgrp等命令,帮用户设定好他们的开发环境。这也是管理员的重要任务之一。

--------------

项目分析:

                00:创建共同组(project)

                01:创建2个账户及相关数据;建立共同开发目录/srv/ahome

                02:该目录不允许其他账号进入查阅

=========================================================================

利用chmod命令修改文件的特殊权限(SUID):

只有二进制程序文件才可以设定SUID,其他类型的文件设置没有意义。 在赋予SUID权限后,该文件的执行者仅在程序运行时将拥有该文件拥有者的权限。 执行者必须要拥有该文件的执行权限(x)替换成S。

修改文件与目录的默认权限与隐藏权限

umask指定用户在建立文件或目录时的默认权限值。(我们只关注0 022后三位)

假设我们想要自己创建的文件具有6(r+w),   同组成员具有修改编辑的权限(w)不只是只读权限,   采用下面命令修改文件权限共同编辑项目文件。那么默认的umask初始值022应变成002;

chattr命令(了解就行!)

a:系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件

i:不得任意改动文件或目录。

lsattr  -参数 文件或目录

-a:将隐藏文件的属性也显示出来。 -d:如果是目录,仅列出目录本身的属性而非目录内的文件名。 -R:连同子目录的数据也一并列出来

----------------------------------------------------------------------------------------------------------------------------00+01+02:创建共同组(project):

测试一下,在alex建立文件,让arod去处理这个文件。(这个文件属于组alex,  arod对它是其他人身份只有可读权限r

加入SGID的权限!当目录拥有SGID权限时,用户在该目录下创建的文件的属组都会继承该目录的属组。 字符形式表示:增加权限g+s,移除权限g-s;  数字形式表示:0表示去除SGID权限,2表示添加SGID权限,在数字表达形式开头加0或2, 如:0770移除SGID权限, 2770添加SGID权限;

再测试一下!

alex、arod建立的新文件所属组都是project,加上umask都是002,这样两个账号可以互相修改对方文件;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值