作业权限管理

一、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。

首先创建三个组g1,g2,g3,题目要求在/data/testdir目录里创建的文件自动属于g1组那么首先要将这个目录的属组改为g1,然后通过更改SGID的方式来实现在目录里创建文件自动属于g1组,要求g2的组对新文件进行读写权限,在目录里边能写必须要配合x执行权限才能实现写(创建文件,删除文件,更改文件内容),g2组里的成员未必都是这个目录属组的成员,所以这时要用到访问控制列表来设置g2组的成员对目录里的文件有读写权限,最后g3组的成员也未必是属组的成员,要想实现对文件有读权限也需要设置访问控制列表,最后一类用户就是什么权限也没有,我们可以把目录的其他人的权限设为空,这样一来,其他人就没有权限来访问这个文件夹了。

groupadd g1

groupadd g2

groupadd g3

chgrp -R  g1  /data/testdir

chmod -R  g+s  /data/testdir

更改之后,使用root账号在/data/testdir目录下创建一个文件发现属组改成了g1

23.jpg

useradd alice

usermod -G g2 alice

setfacl -Rm d:g:g2:rwx  /data/testdir

QQ截图20160804095635.jpg

QQ截图20160804095722.jpg

setfacl -Rm g:g3:r  /data/testdir 设置了只读权限只能列出目录下的文件

QQ截图20160804095946.jpg

作业权限管理

chmod -R  o=   /data/testdir,更改权限之后我使用hadoop用户来测试,hadoop不属于他们三个组当中的任何一个,属于其他人

6.jpg

二、创建组sales,gid 3000,passwd:centos,sales设置组的管理员为user2,将用户user1,user2,user3加入到sales辅助组
希望user1 创建新文件 默认的所属组为sales,user2将用户user3从sales组移除,删除sales,user1,user2

创建一个组名为sales使用-g选项指定组的gid为3000,并且给组添加密码centos,可以使用gpasswd跟上组名来添加,user2设置成为sales组的管理,组管理命令gpasswd 使用-A选项添加组的管理员,新建三个用户分别将三个用户加入到组里,user1在创建文件时默认是sales组,并且将user1的主组改为sales,那么之后user1创建文件时它的属组就是sales了,之前将user2设置成为了sales组的管理员,那么user2可以管理sales组里的用户,之后随即删除user3

groupadd -g 3000 sales

gpasswd sales

gpasswd -A  user2  sales

usermod    -g  sales  user1

su – user2

gpasswd -d user3 sales

exit

groupdel sales

userdel -r user1

userdel -r user2

6.jpg

三种权限,三种特殊,acl,chattr 总结

三种权限分别是r,w,x

对文件而言

        r:可以查看文件

        w:可以删除修改创建文件

        x:可执行,可在命令提示符下当做命令交给内核运行

对目录而言

        r:仅能列出目录下的文件

        w:需要配置x权限一直使用,能删除创建修改目录里的内容

        x:能进入到目录里面

SUID:运行某程序时,相应进程的文件自身的属主,而不是启动者,加了这项权限后,就以这个文件的属主的权限来执行,一般加到文件上

SGID:运行某程序时,相应进程的文件自身的属组,而不是所启动着的属组,一般这个权限是加到目录上,一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组,通常用在公共目录里。

sticky:在目录设置Sticky 位,只有文件的所有者或root可以删除该文件,通常也是运用到目录上。

acl访问控制列表

    访问控制列表能灵活的实现权限管理,除了文件的属主属组,还可以为其他人来设置权限,方便权限的控制

chattr设置文件特定的属性

        +i 给文件附上这个权限,文件不能删除,重名,更改,就连root也不行

        +a(append)只能想文件里面追加内容

原创文章,作者:fszxxxks,如若转载,请注明出处:http://www.178linux.com/27810

(0)
fszxxxksfszxxxks
上一篇 2016-08-03 16:56
下一篇 2016-08-03 19:01

相关推荐

  • 内核编译及制作Linux系统

        用自己编译的linux内核自己制作一个很简单的启动盘,能够成功启动且能有简单的shell环境。     第一步:从内核官网www.kernel.org 下载相应的内核版本,现在到本地后,将它解压(我是解压到/usr/src目录下),解压后进入目录。由于编译的选项太多,为了…

    Linux干货 2016-11-24
  • shell编程、查找命令、压缩文件工具

    shell编程、查找命令、压缩文件工具  shell编程 一、条件测试  1、判断某需求是否满足,需要由测试机制来实现。    测试命令:  ·test Expression  ·[ EXPRESSION ]  ·[[ EXPRESSION ]]   &nbs…

    Linux干货 2016-08-15
  • 文本处理工具(一)

    文本处理工具 查看工具 cat;tac;rev;more cat 连接文件,并打印到标准输出上。 注意:当文件比较大的时候,文本在屏幕上一闪而过,导致无法看清内容,所以对于较大的文件建议结合着more,less等命令结合来用。 使用方法: -E: 显示行结束符$ -n: 对显示出的每一行进行编号 空行也加行号 -A:显示所有控制符 相当于-ETV -b:非空…

    2017-06-01
  • 集群-ipvsadm和NAT实验(3)

    纠正:报文进入内核空间后,当到达input链时发现是一个集群服务时,则直接发送到postrouting链,不经过forward链。 调度算法: 1、静态方法: rr:轮询,即依照次序从所有RS中进行挑选 wrr:加权轮询,按照权重在RS中进行轮询 sh:source hashing,源地址哈希,即对来自相同客户端的请求发送至同一RS,这样会破坏负载均衡效果。…

    Linux干货 2015-12-15
  • 软件安装包的管理

    rpm安装包的管理 rpm的数据库( 公共) :/var/lib/rpm 程序包名称及版本 依赖关系 功能说明 包安装后生成的各文件路径及校验码信息 安装 rpm:{-i} -v:显示详细信息 -h:以#显示程序包管理执行进度 rpm -ivh PACKAGE_FILE … [install-options] –test :测试安装,但不真正执行安装过程 –…

    Linux干货 2017-04-23
  • Nginx 负载均衡多个nmmp主机

    设计拓扑图 一、Memcache简介 cache(缓存系统) 高性能分布式缓存服务器,缓存所有的“可流式化”数据:livejournal旗下Danga Interacive公司 程序=指令+数据 指令:程序 数据:IO操作 文件系统: 特征:协议简单  基于libevent的事件处理  内置内存存储方式  memcached 不…

    2016-06-14