class-6 积累应用

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

    ## 读写执行对于文件的意义

        r:针对于文本文件

        w:可修改内容,但不能删除文件本身,需要x权限配合

        x:针对二进制程序或脚本

        X:-R递归时,目录会添加x权限,文件则不会添加x权限

    ##  读写执行对于目录的意义

        r:可以查看dir内文件列表,但不能访问文件,不能cd,也不能查看文件的元数据

        w:可以创建或删除文件  需要配合x权限

        x:可以进入目录,可以访问目录中的文件

        目录有写和执行权限,可以删除文件

        X: -R递归时,目录会添加x权限,文件则不会添加x权限

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

     相同点:umask和acl mask都是默认的权限值,通过它们来设定所需要的文件权限。

     不同点:1、触发条件不同:umask是linux系统的默认权限值,系统安装运行后就存在的;acl mask 是基于acl,在当前文件系统支持情况下,并且需要设置acl才存在

                  2、作用范围不同:umask作用于系统的所有文件;acl mask 作用于文件的属组,及在acl中定义的的用户、组,不对属主和其他用户、组起作用。

                  3、定义的变化:文件定义acl后,将无法再设置属组权限,设置属组权限将变成设置mask遮罩码。

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

   SUID:

      应用场景二进制程序,目录,脚本无意义。通常为一些程序开发者根据需要设置的SUID,出于安全的考虑,一般不会做修改。

       作用:当执行者有执行权限时,将二进位制程序提交给内核,执行者将获得二进制程序属主的权限去执行。

   SGID:

     应用场景可以是二进制程序 ,但权限很小,并且需要文件对该组授权也可以作用于目录,通常用于创建一个协作目录

      作用:当执行者有执行权限时,将二进位制程序提交给内核,如果执行者在在文件的属组中,执行者将获得二进制程序的属组权限去执行。

  通过对目录设置SGID,对此目录有写权限的用户所创建的文件的属组为目录的属组。

  Sticky:

     应用场景作用于目录,出于安全的考虑,通过设置防止文件被误删或恶意删除操作

      作用:在目录设置Sticky 位,只有文件的所有者root才可以删除该文件

               

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

[user1@6 ~]$ vi .bashrc
# .bashrc
umask 066
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions

[user1@6 ~]$ exit
logout
[root@6 ~]# su - user1
[user1@6 ~]$ touch a
[user1@6 ~]$ ll a
-rw-------. 1 user1 user1 0 8月   5 07:53 a

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

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

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

[root@7 testdir]# groupadd g1
[root@7 testdir]# mkdir f1
[root@7 testdir]# setfacl -m u:user1:--- f1
[root@7 testdir]# mkdir dir
[root@7 testdir]# setfacl -m g:g1:rwx dir
[root@7 testdir]# setfacl -m d:g:g1:--- dir
[root@7 testdir]# setfacl -m d:u:user1:rw f1
[root@7 /]# getfacl -R testdir > acl.txt
[root@7 /]# cat acl.txt                           ##查看acl权限文档
# file: testdir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
# file: testdir/f1
# owner: root
# group: root
user::rwx
user:user1:---
group::r-x
mask::r-x
other::r-x
default:user::rwx
default:user:user1:rw-
default:group::r-x
default:mask::rwx
default:other::r-x
# file: testdir/dir
# owner: root
# group: root
user::rwx
group::r-x
group:g1:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:g1:---
default:mask::r-x
default:other::r-x
[root@7 /]# setfacl -R -b testdir
[root@7 /]# getfacl -R testdir       ##删除acl后查看权限文档
# file: testdir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
# file: testdir/f1
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
# file: testdir/dir
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
[root@7 /]# setfacl -R --set-file=acl.txt  testdir
[root@7 /]# getfacl -R testdir     ###恢复acl权限后查看
# file: testdir
# owner: root
# group: root
user::rwx
user:user1:---
group::r-x
group:g1:rwx
mask::rwx
other::r-x
default:user::rwx
default:user:user1:rw-	#effective:r--
default:group::r-x
default:group:g1:---
default:mask::r-x
default:other::r-x
# file: testdir/f1
# owner: root
# group: root
user::rwx
user:user1:---
group::r-x
group:g1:rwx
mask::rwx
other::r-x
default:user::rwx
default:user:user1:rw-	#effective:r--
default:group::r-x
default:group:g1:---
default:mask::r-x
default:other::r-x
# file: testdir/dir
# owner: root
# group: root
user::rwx
user:user1:---
group::r-x
group:g1:rwx
mask::rwx
other::r-x
default:user::rwx
default:user:user1:rw-	#effective:r--
default:group::r-x
default:group:g1:---
default:mask::r-x
default:other::r-x

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