20160803用户权限作业

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

文件:r:可以cat查看文件中的内容,可以查看文件的属性

         w:可以ll查看文件的属性,也可以往文件中写入内容,如果其父目录具有写和执行权限就可删除其内部文件

          x:针对二进制程序或脚本,没有读权限也可以执行二进制

目录:

          r:可以ls查看文件,看不到权限等元数据,不能cd进不去目录

         w:可以创建或删除目录中的文件,但需要配合x使用

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

  注意:只要对目录写和执行,就可以删除目录中的文件

 

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

        umask是针对管理员和普通用户设置的权限,管理员默认时022,普通用户时002,当我们在配置文件中配置umask的值时,就可以定义用户创建文件或目录时的默认权限,也可以说是限制了ugo的权限。

                管理员文件的权限和umask的关系为:666-022=644,如果计算结果中有基数,则加1,例如666-123=543 ->644

                管理员目录的权限和umask的关系为:777-022=755

        mask是在指定给某些用户或者组设置ACL权限时,针对除了属主和other之外的人,其中包括属组和添加ACL的用户和组,限制了他们的权限,不能超过mask的权限,mask在使用时需要注意的是,当我们设置了ACL权限时,如果设置组的权限chmod g=rw file|dir,等同于设置了mask的权限,此时所有设置了ACL权限的人和文件或目录的数组都会改变。


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

    文件的特殊权限

        suid

            面向对象:二进制程序  chmod u+s file

            作用:用户发起进程访问文件时,不在是以用户自己的身份来访问,而是以进程属主的身份来访问。        

            应用场景:passwd 所有用户都需要执行的二进制程序,直接给管理员的程序,不用单独给某些用户添加加权限。

             -rwsr-xr-x. 1 root root 30768 11月 24 2015 /usr/bin/passwd   —–此时我们就是以passwd的数主roor身份运行。

        sgid

             面向对象:文件、目录  chmod g+s file | dir

             作用:

                    目录:用户在该目录下创建文件时,文件的属组不在是以自己的身份创建,而是以该目录数组的身份创建。

                    文件:用户发起进程访问文件时,不在是以用户自己的身份来访问,而是以进程属组的身份来访问。

             应用场景:

                    目录:比如组内同事,以某一特定的权限共享将一些文件或目录给大家,这样避免单独给多个文件分别设置权限。

                    文件:

        sticky

            面向对象:目录

            作用:用户在该目录下可以自由的创建改文件,但是不能删除非自己创建的文件

            应用场景:/tmp 所有用户都可以编辑,但是不能删除别人的文件

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

1        [user1@cenots6 ~]$ touch a        
2        [user1@cenots6 ~]$ ll a
3        -rw-rw-r--. 1 user1 user1 0 8月   4 23:49 a
4        [user1@cenots6 ~]$ echo umask 066 >> .bashrc 
5        [user1@cenots6 ~]$ source .bashrc 
6        [user1@cenots6 ~]$ touch b
7        [user1@cenots6 ~]$ ll b
8        -rw-------. 1 user1 user1 0 8月   4 23:50 b

     

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

           setfacl -m u:user1:0,g:g1:rw /testdir/f1

  /testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:—备份/testdir目录中所有文件的ACL

           setfacl -m d:u:user1:rwx,g:d:g1:rwx /testdir/dir
           setfacl -m d:u:user1:rw,g:d:g1:0 /testdir/dir

   清除/testdir的所有ACL权限,并利用备份还原    

                   getfacl -R /testdir >acl.txt                   
                   setfacl -R -b /testdir
                   setfacl -R -set-file=acl.txt /testdir 
                   getfacl -R /testdir

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

        解题思路:

                    新建文件自动属于g1组–>对目录加sgid权限

                    g2组成员对新文件有读写权限–>首先要对目录有rwx权限,否则,不能进入目录更不能读写目录中的内容

                    其它用户不能访问这个文件夹–> 需要将other设置为0即可

        设置如下:

                       root@cenots6.8  /testdir # chown :g1 /testdir/     
                       root@cenots6.8  /testdir # chmod 2770 /testdir/                                                                         
                       root@cenots6.8  /testdir # ll -d /testdir/                                                                                                                    
                       drwxrws---. 2 root g1 4096 8月   6 16:13 /testdir/
                       root@cenots6.8  /testdir # setfacl -m g:g2:rwx /testdir/
                       root@cenots6.8  /testdir # setfacl -m g:g3:rwx /testdir/
                       root@cenots6.8  /testdir # setfacl -m d:g:g2:rwx /testdir/
                       root@cenots6.8  /testdir # setfacl -m d:g:g3:r /testdir/
                       root@cenots6.8  /testdir # getfacl /testdir/
                       getfacl: Removing leading '/' from absolute path names
                        # file: testdir/
                        # owner: root
                        # group: g1
                        # flags: -s-
                        user::rwx
                        group::rwx
                        group:g2:rwx
                        group:g3:rwx
                        mask::rwx
                        other::---
                        default:user::rwx
                        default:group::rwx
                        default:group:g2:rwx
                        default:group:g3:r--
                        default:mask::rwx
                        default:other::---
                        root@cenots6.8  /testdir # gpasswd -a alice g2   ---alice 加入到g2 组中,读写aa文件成功
                        正在将用户“alice”加入到“g2”组中
                        root@cenots6.8  /testdir # touch aa
                        root@cenots6.8  /testdir # su alice
                        alice@cenots6.8  /testdir # cat aa
                        alice@cenots6.8  /testdir # echo hello >>aa
                        root@cenots6.8  /testdir # gpasswd -a tom g3  ---将alice加入到g3组中,可以读不能写,满足条件
                        正在将用户“tom”加入到“g3”组中
                        root@cenots6.8  /testdir # su tom
                        tom@cenots6.8  /testdir # cat aa
                        hello
                        tom@cenots6.8  /testdir # echo hello>>aa
                        bash: aa: 权限不够                                        
                        tom@cenots6.8  /testdir # rm aa
                        rm:是否删除有写保护的普通文件 "aa"?y--->此时tom可以删除/testdir中的内容,原因:组对目录有wx权限
                        tom@cenots6.8  /testdir #

7. 当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作?

              不能:cd               ll /testdir/file1

                  能:ls /testdir   ll /testdir 

    当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作?    

              不能:l1 /testdir/

                 能:cd  touch mkidr            

    当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除?

                不能修改和删除

    复制/etc/fstab文件到/var/tmp下,设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限

                   cp /etc/fstab /var/tmp                    
                   chown wangcai:sysadmins /var/tmp/fstab
                   chmod o= /var/tmp/fstab

    误删除了用户wangcai的家目录,请重建并恢复该用户家目录及相应的权限属性

                    useradd  wangcai                 
                    rm -rf ~wangcai
                    mkdir /home/wangcai
                    chown wangcai:wangcai /home/wangcai
                    chmod 700 /home/wangcai
                    cp -r  /etc/skel/. ~wangcai

                                        

                    

                        

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

(0)
上一篇 2016-08-07 22:06
下一篇 2016-08-07 22:06

相关推荐

  • 实验:配额、RAID、LVM

    实验:在centos7实现光盘yum源 1yum install autofs 2现在启动systemctl start autofs 3开机启动systemctl enable autofs 4 cat /etc/yum.repos.d/base.repo[centos7]name=centos7 repobaseurl=file:///misc/cdgp…

    Linux干货 2017-04-25
  • 第六章:文本处理工具

    第六章:文本处理工具 文本查看命令(cat) 分页查看文件(more) 文本查看上下翻页(less) 显示头部(head) 显示尾部(tail) 按列抽取文本cut 合并文件paste 收集文本统计数据wc 文本排序sort 删除重复uniq 比较文件diff 复制对文件改变patch 文本搜索工具grep egrep 及扩展的正则表达式 作业: 第六章:文…

    Linux干货 2016-08-10
  • Nginx配置进阶

    目录 ngx_http_rewrite_module模块 ngx_http_gzip_module模块 ngx_http_fastcgi_module模块 ngx_http_ssl_module模块 ngx_http_referer_module模块 ngx_http_rewrite_module模块 将用户某一次请求的URI当中的字符串是不是能够被我们给出…

    Linux干货 2016-11-05
  • DNS实验

      建立DNS服务器(正向解析) linux没有缓存 windows有dns缓存 权威结果,非权威结果 无论是正向解析数据库还是反向解析数据中  写管理员邮件地址或完整域名(FQDN)都要再后面加上点。否则系统会自动不上区域名称。 实验环境先清理防火墙规则,关闭防火墙. centos7 systemctl disabl…

    Linux干货 2016-11-01
  • M20 – 1- 第二周博客(1):帮助手册查询的使用

    Linux系统中存在诸多的命令,而这些命令分为内键命令和外部命令。如何查询命令属于内部还是外部呢。前一篇博客已经介绍type命令,type命令可以区分命令属于内部还是外部,下面举个例子: 为什么这一期博客还重复讲如何区分内部与外部命令呢,因为在man手册查询中,内部命令并不是使用man查询帮助手册,仅仅使用与外部命令,那内键命令如何查询呢,接下来要讲的就是h…

    Linux干货 2016-08-02
  • 逻辑卷管理器

    逻辑卷管理器(LVM)     允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小     允许在多个物理设备间重新组织文件系统         • 将设备指定为物理卷   …

    Linux干货 2016-09-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-07 23:00

    文章对特殊权限的用法及应用场景有了完整的总结,如果能在文章中加入自己练习过程中的模拟场景在以后的复习过程中会看起来更直观哦。