系统基础之权限管理作业题

1.问题:

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

[root@wen-7 testdir]# mkdir -p /data/testdir
[root@wen-7 testdir]# ll -d /data/testdir
drwxr-xr-x 2 root root 6 8月   4 10:58 /data/testdir
[root@wen-7 testdir]# chmod g+s /data/testdir
[root@wen-7 testdir]# groupadd g1
[root@wen-7 testdir]# groupadd g2
[root@wen-7 testdir]# groupadd g3
[root@wen-7 testdir]# chown :g1 /data/testdir/
[root@wen-7 testdir]# touch /data/testdir/f1
[root@wen-7 testdir]# ll /data/testdir/f1
-rw-r--r-- 1 root g1 0 8月   4 10:59 /data/testdir/f1
[root@wen-7 testdir]# setfacl -m d:g:g2:rw /data/testdir/
root@wen-7 testdir]# setfacl -m d:g:g3:r /data/testdir/
[root@wen-7 testdir]# getfacl /data/testdir/
getfacl: Removing leading '/' from absolute path names
# file: data/testdir/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:g2:rw-
default:group:g3:r--
default:mask::rwx
default:other::r-x
[root@wen-7 testdir]# chmod o=  /data/testdir/
[root@wen-7 testdir]# ll -d /data/testdir/
drwxr-s---+ 2 root g1 15 8月   4 10:59 /data/testdir/

2、三种权限rwx对文件和目录的不同意义

   文件:

     r:可获取文件的数据

     w:可修改文件的数据 (不可删除文件)

     x:可将此文件运行为进程(针对二进制程序或脚本)

      X:不会增加X(前提本身无X权限)

   目录:

     r:可使用ls命令获取其下的所有的文件列表

     w:可修改此目录下的文件列表:即创建或删除文件      不看文件权限  

     x:可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息

     X:不会增加X(前提本身无X权限)

3、umask和acl mask 的区别和联系

区别:

 1.本质不同.umake是文件权限的反向掩码,屏蔽最大权限位,反向得出文件的默认权限,而make是直接定义文件权限的最大值.某些用户不能超过mask权限.

 2.对象不同,umake针对的是属主,属组和other,但mask针对的对象是排除属主和other的所有人

 3.标识不同.umake只是单纯的对比数值,没有相对的权限表达位.而mask会替代属组的权限位

 4计算方式不同.umake是用最大权限减去umake值得到文件实际权限,而mask是直接用mask的权限与指定用户权限最对比,屏蔽最大权限.  

联系:

  1.都是文件的默认权限.

  2.都能针对某个对象实现权限控制

4、三种特殊权限的应用场景和作用

 SUID:  

   应用场景:默认情况下,用户发起的进程,进程的属主是其发起者,因此,其以发起者的身份在运行,想使用更大的权限运行程序

   功用: 用户运行某程序时,如果此程序拥有SUID权限,那些二进制程序运行为进程时,其属主不是发起者,而是程序文件自己的属主

 SGID:

   应用场景:同一属组的用户,可以更改或删除组内其他用户的文件

   功用:当某目录属组有写权限,且有SGID权限时,那么所有属于此目录的属组的用户,且以属组身份再此目录中新建文件或目录时,新文件的属组不是用户的基本组,而是此目录是属组;

 STICKY:

   应用场景:同一属组的用户,可以更改或阅读组内其他用户的文件,但不可删除

      功用:对于属组或全局可写的目录,组内所有用户或系统上的所有用户对在此目录中都能创建新文件或删除所有的已有文件;如果为此类目录设置Sticky权限,则每个用户都能创建新文件,且只能删除自已的文件

5、设置user1,使之新建文件权限为rw——-

[user1@wen-7 ~]$ umask
0002
[user1@wen-7 ~]$ touch asd
[user1@wen-7 ~]$ ll asd
-rw-rw-r-- 1 user1 user1 0 8月   4 13:50 asd
[user1@wen-7 ~]$ umask 066
[user1@wen-7 ~]$ umask
0066
[user1@wen-7 ~]$ touch asdf
[user1@wen-7 ~]$ ll asdf
-rw------- 1 user1 user1 0 8月   4 13:51 asdf

6、设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写

/testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:—

备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原

root@wen-7 testdir]# touch f1
[root@wen-7 testdir]# setfacl -m u:user1:0 f1
[root@wen-7 testdir]# setfacl -m g:g1:rw f
[root@wen-7 testdir]# getfacl f1
# file: f1
# owner: root
# group: root
user::rw-
user:user1:---
group::r--
group:g1:rw-
mask::rw-
other::r--


[root@wen-7 testdir]# mkdir dir
[root@wen-7 testdir]# setfacl -m d:u:user1:rw dir/
[root@wen-7 testdir]# setfacl -m d:g:g1:0  dir/
[root@wen-7 testdir]# getfacl dir
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:user1:rw-
default:group::r-x
default:group:g1:---
default:mask::rwx
default:other::r-x

[root@wen-7 testdir]# touch dir/qwe 
[root@wen-7 testdir]# cd dir/
[root@wen-7 dir]# getfacl qwe
# file: qwe
# owner: root
# group: root
user::rw-
user:user1:rw-
group::r-x			#effective:r--
group:g1:---
mask::rw-
other::r--



[root@wen-7 testdir]# getfacl /testdir/* > acl.txt
getfacl: Removing leading '/' from absolute path names
[root@wen-7 testdir]# setfacl -R -b /testdir/*
[root@wen-7 testdir]# getfacl f1
# file: f1
# owner: root
# group: root
user::rw-
group::r--
other::r--

[root@wen-7 testdir]# getfacl dir
# file: dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

[root@wen-7 testdir]# setfacl -R --set-file=acl.txt /testdir/* 
[root@wen-7 testdir]# getfacl -R /testdir/*
getfacl: Removing leading '/' from absolute path names
# file: testdir/acl.txt
# owner: root
# group: root
user::rw-
user:user1:---
group::r--
group:g1:rw-
mask::rw-
other::r--

# file: testdir/dir
# owner: root
# group: root
user::rw-
user:user1:---
group::r--
group:g1:rw-
mask::rw-
other::r--
default:user::rwx
default:user:user1:rw-
default:group::r-x
default:group:g1:---
default:mask::rwx
default:other::r-x

# file: testdir/dir/qwe
# owner: root
# group: root
user::rw-
user:user1:---
group::r--
group:g1:rw-
mask::rw-
other::r--

# file: testdir/f1
# owner: root
# group: root
user::rw-
user:user1:---
group::r--
group:g1:rw-
mask::rw-
other::r--

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

(0)
wencxwencx
上一篇 2016-08-04 14:39
下一篇 2016-08-04 14:39

相关推荐

  • Linux系统命令使用格式已经如何查看帮助

    在Linux 系统中有非常多的命令一般的命令格式:“COMMAND OPTIONS ARGUMENTS” 下面有一些基础命令可以体验下命令的基本格式用法 ifconfig命令    作用: 配置网络接口,查看网络接口信息    基本语法:     ifconfig  […

    Linux干货 2016-08-15
  • 习题

    1、找出ifconfig命令结果中本机的所有IPv4地址 2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示 5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 6、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式) 7、显示/etc/…

    Linux干货 2016-08-07
  • 有关shell脚本

    SHELL脚本 在Linux运维工作中有着大量的重复性质的工作,比如同时给很多台的服务器备份,查看多台的内存情况,等等。这样的情况下总不能一个一个服务器自己去看,那样耗时,费力,还容易出错。所以编写程序来做这些事情就成了必要的工作。而SHELL就是完成这项工作的。   脚本第一行的开头写上#!/bin/bash 这是属于格式性质的,作用在于加上执行…

    2017-08-12
  • Centos7 服务器部署ssh证书授权登录

    在当前服务器生成密钥对 ssh-keygen –t rsa –P ” ssh-keygen –t rsa –P ''[root@localhost ~]# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key …

    Linux干货 2016-12-05
  • awk详解

    —————————— 课外练习 只处理用户ID为奇数的行,并打印用户名和ID号 [root@localhost ~]# awk -F: '{if($3%2!=0) {print&n…

    Linux干货 2016-09-25
  • 几个有意思的小脚本

    ①.用脚本画一个圣诞树 效果 ②.用脚本画一个类似国际象棋的棋盘 半成品效果 再像这样在下面多写几个循环,就可以了,我这个方法太笨,全写完要截图的太多,就放一部分意思下 ③.编写一个脚本,打印出九九乘法表 效果 ④.编写一个脚本,可接收一个 1-7 的数字作为参数,用 if 和 case 两种方法实现根据输入的数字输出对应星期的英文 用if的方法 用case…

    2017-05-11