码迷,mamicode.com
首页 > 系统相关 > 详细

linux系统管理属主、属组、授权相关

时间:2020-06-26 09:12:30      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:权限   chown   检测   src   完全   开放   http   如何   限制   

属主、属组、授权相关

需求: /目录下面有一个public目录,每个系统的普通用户都可以往这个目录放东西,对在public目录下自己的文件有完全控制权,不能修改删除别人的文件,jack用户对此目录及目录下所有文件有完全控制权
思路:
1、每个用户都可以在public目录底下放文件,那么这个目录的权限就是 777,所有人可写可读可执行drwxrwxrwx

2、对自己的文件有完全控制权,对于一个普通用户来说,登陆自己的账号建立的文件默认权限应该是664或者775(/etc/profile里面普通用户的umask=002),属主属组都是自己,普通用户对自己的文件是有完全控制权的

3、粘滞位,public目录权限777规定了所有人对目录下的文件有删除剪切移动的权限,那么这里就有一个问题,tom在public底下建立的文件,lucy也是可以删除的,因为tom对于public这个目录是普通用户,lucy也是普通用户,我们权限都是7,一个普通用户可以删除大目录下所有人的文件,显然是不合理危险的,所以我需要对public这个目录在进行一些限制,public目录的权限改成1777,这个1就是粘滞位t,当目录被设置了粘滞位权限以后,即便用户对该目录有写入权限,也不能删除该用户中其他用户的文件数据,而是只有该文件的所有者和root用户才有权将其删除,说白了就是实现了public目录权限和底下文件权限的一个动态平衡。粘滞位只能对目录设置,权限中x会变成t。
验证:
技术图片
技术图片
技术图片
技术图片
技术图片

当需要为用户提供一个开放目录而不希望造成管理混乱时,通过为目录设置粘滞位权限便可以解决
可是如何让jack用户对这个公共目录下的所有其它用户创建的文件有完全控制权呢,这个时候就需要超级管理员root 在/etc/sudoers配置文件授权jack用户chown命令,chown -R jack /public递归更改public目录及其下面子文件的属主为jack, 又因为chown只能针对已经存在的文件做属主更改,把这条命令chown -R jack /public加到jakc用户的系统环境.bashrc文件里,jack用户每次登陆系统对public里面文件刷一遍属主权限,此时实现jack用户对下面所有文件有完全控制权,可是有一个问题,当jack用户修改其他普通用户比如tom用户的文件时,属主会变更成jack,又因为对于普通用户的反其码umask=002,普通用户对自己的文件完全控制权通过属组来控制(属组中只有有自己一个人)
验证:
技术图片
技术图片

注意在root执行chown -R jack /public时候,tom2这个文件并不存在,所以属主属组默认都是自己
技术图片
技术图片
技术图片
技术图片技术图片
技术图片
至此,就通过粘滞位Stickybit实现了公共目录的管理,同时通过root对jack的chown属主授权,更改jack的.bahsrc环境j,让jack成为公共目录的主人,但是jack此时存在chown权限过限的风险,jack对其他所有目录也有chown更改属主的权限,这是visudo授权无法避免出现的问题,只能通过法律与道德进行约束,也可以通过root更改目录属主为jack,不通过授权jack方式,然后通过脚本,检测只要jack一登录root就去执行,这样通过技术就可以解决权限过度问题。

linux系统管理属主、属组、授权相关

标签:权限   chown   检测   src   完全   开放   http   如何   限制   

原文地址:https://blog.51cto.com/14684198/2506988

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!