15 权限管理及作业

15 权限管理及作业(作业单独一篇)

一、杂项知识整理

1、访问控制列表:ACL:Access Control List,实现灵活的权限管理。

    除了文件的所有者,所属组和其它人,可以对更多的用户设置权限。

    centos7.0之后默认创建的ext4文件系统有ACL功能,centos7.x之前的版本,默认手工创建的ext4文件系统无ACL功能,需要手动添加:

    查看磁盘acl权限:dumpe2fs -h /dev/sda#:

Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean

    tune2fs -o acl /dev/sdb1

    mount -o acl /dev/sdb1 /mnt

二、命令详解及事例

1、setfacl命令

     文件名 :查看acl权限

    -m 设置acl权限

        u:USER:rx /FILE

        u:USER:rx -R /DIR/

        d:u:USER:rx -R /DIR

            d:default 使文件夹下的新建的文件或目录默认有此属性acl权限

                -k DIR 删除默认的acl权限

            即使默认的acl权限给了x,文件也不会继承x权限。

      -Rm g:USER:rwX /DIR 

            设定支持X,使文件夹有而文件没有acl权限

    -x 删除指定的acl权限

        setfacl -x g:USER /FILE

    -b 删除所有的acl权限

    -d 设定默认的acl权限,清空所有acl权限

        逐个用户删除acl时,文件属性上的+不会消除,用-d变为默认,+就会消除

    -R 递归设定

    -M 调用文件:按照格式写入后setacl -M file.acl FILE/DIR 

            格式例如: u:wang:0

                       g:g1:rwx

                       u:tom:rw

    getfacl file1 | setfacl –set-file=- file2 复制file1的acl权限给file2

    setfacl –set u::rw,u:wang:rw,g::r,o::- file1情况所有acl权限,用新的替代,必须包含所有ugo的设置。

2、getfacl FILE 查看acl权限属性:

    其中mask是最大值限定,可以设置以保证acl权限不会过大,原理:mask与赋予的acl权限相与(屏蔽权限,与umask同样),mask与赋予的acl权限同时存在时才会赋予此权限,也就是两个为真才为真,但是当mask为rwx时,不论赋予的何种权限,结果都为赋予的权限本身。

    设定mask权限:setfacl  -m   mask:rwx  FILE

mask值影响的不包括u和o。

3、cp和mv都支持acl但是cp命令需要加-p,但是tar等常见的备份工具不会保留acl信息。

三、课后练习及作业

1、pdf 6最后一个问题:

[root@localhost testdir]# ll
总用量 72
-r---w-rw-. 1 root root     4 8月   3 17:04 a
-r---w-rw-. 1 root root     4 8月   3 17:04 a~
dr---wxrw-. 2 root root  4096 8月   3 17:03 aa
-r---w-rw-. 1 root root     0 8月   3 17:53 b
drwxr-xr-x. 3 root root  4096 7月  30 13:50 copytest
drwxrws---+ 2 root g1    4096 8月   3 17:42 data
drwx------. 2 root root 16384 7月  19 21:07 lost+found
drwxr-xr-x. 2 root root 12288 8月   1 13:54 shelltest
-rw-r--r--. 1 root root    32 7月  29 18:20 string.txt
-rw-r--r--. 1 root root   246 8月   2 22:45 user
drwxr-xr-x. 3 root root  4096 8月   3 13:12 user.dir
-rw-r--r--. 1 root root   195 7月  28 19:37 userinfo
-rw-r--r--. 1 root root    78 8月   2 22:53 userpasswd
[root@localhost testdir]# lsattr
---------------- ./string.txt
----------I----- ./shelltest
---------------- ./b
---------------- ./data
---------------- ./copytest
---------------- ./userinfo
---------------- ./user
---------------- ./lost+found
---------------- ./a~
---------------- ./user.dir
----ia---------- ./aa
-----a---------- ./a
---------------- ./userpasswd
[root@localhost testdir]# getfacl data/
# file: data/
# owner: root
# group: g1
# flags: -s-
user::rwx
group::-wx
group:g2:rw-
group:g3:r--
mask::rwx
other::---

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

(0)
SilencePavilionSilencePavilion
上一篇 2016-08-04
下一篇 2016-08-04

相关推荐

  • Linux基础(四)——用户管理&grep命令

    1、  复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp /etc/skel/ /home/tuser1 –r chmod -R 700 /home/tuser1/ 2、  编辑/etc/group文件,添加组hadoop。 echo "ha…

    Linux干货 2016-11-08
  • cut,sort,head,tail,uniq基本使用

    1.列出当前系统上所有已经登录的用户的用户名,同一个用户登录多次,则显示一次[root@localhost ~]# who|cut -d” ” -f1|uniqgordenroot2.取出最后登录到当前系统的用户的相关信息。[root@localhost ~]# last|head -1|cut -d’ ‘ -…

    Linux干货 2017-09-04
  • 如何将迁移home到独立分区中

        背景(centos7中):         由于在刚开始学习linux时磁盘分配追求简单,只是把一个磁盘简单的分了3个分区。现在,因用户数据增多、磁盘空间变少、当数据撑满磁盘时,会导致系统崩溃。为防止此种情况的发生我必须把把根下的/home 目录迁移出 来独立分…

    2017-08-10
  • 学习试题演练

    1.写一个脚本实现:提示用户给出自己的选择随后显示对应的信息。 区分大小写: if [[ "$option" =~ [Dd][Ii][Ss][Kk] ]];then 2.根据id号来判断用户类型,若没有则提示没有此用户 0:管理员 1-999:系统用户 1000+:登陆用户 不得不提下: bash -n usertype.sh 前期擅用是…

    Linux干货 2016-08-21
  • Linux中的cut、sort、uniq以及用户(组)管理类指令应用示例

    Linux中的cut、sort、uniq指令 列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,只显示一次。 解决思路: 先使用who指令显示出所有已登录的用户。然后对who指令的输出进行切割得到想要的第一列内容,即只包含用户名。可以使用cut指令。最后对cut的结果进行排序并去重。可以使用sort指令。   借助管道符,可以方便的…

    Linux干货 2016-11-13
  • 如何删除一个目录下的所有文件,但保留一个指定文件。附一些常用命令

    解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10   十个文件 方法如下: find /date -type f ! -name “file10″|xargs rm -f 另外还有其他的方法比如:rsync命令和bush的 extglob功能等。在此不一一列举。 附常用命令: 文件和目…

    2017-07-15