作业权限管理

一、在/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

相关推荐

  • 简单shell脚本编程示例

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 脚本内容: 执行结果: 2、编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 脚本内容: 执行结果: 3、编写脚本/roo…

    Linux干货 2016-08-15
  • 第十八周博客作业

    1、为LNMP架构添加memcached支持,并完成对缓存效果的测试报告; 操作系统: CentOS 7.210.0.0.51 nginx+php+mysql10.0.0.52 memcached 一. 环境准备: 搭建LNMP编译安装环境 1. 配置163的yum源和阿里云的epel源 [root@localhost ~]# mv /etc/yum.rep…

    2017-07-12
  • 集中管理利器-puppet快速入门-下

    Puppet配置 1.    文件管理 file 文件服务器写法: /etc/puppet/ fileserver.conf 定义 [files] path /tmp/files  ## puppet数据存放目录 =è后面远程备份实战会用到 allow *.example.com 实战1: 备份master机…

    Linux干货 2015-05-07
  • RAID+LVM详解

                                        一.RAID篇 一.什么是RAID   磁盘阵列全名是『Redundant Arrays…

    Linux干货 2016-09-07
  • Nginx相关配置及其应用

    LB Cluster: 传输层:lvs、nginx、haproxy 应用层:nginx(http, https, smtp, pop, imap), haproxy(http), httpd(http/https), ats, perlbal, pound, … nginx load balancer: tcp/udp   nginx …

    Linux干货 2016-11-11
  • lnmp部署实验

    Lnmp部署 实验环境: 1、Centos 7主机一台,客户机一台。 2、在centos 7主机上部署:    Nginx  php-fpm  php-mysql  mariadb-server 实验步骤: 1、启动nginx服务,确保80端口打开,启动mariadb-server,确保3306端口…

    Linux干货 2016-10-30