权限作业

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

    对文件来说:
    r:可获取文件的数据;
    w:可修改文件的数据;(但不能删除文件)
    x:可将此文件运行为进程;(针对二进制文件或脚本)
    (一般而言,文件默认情况下都不该有执行权限)
    对目录来说:
    r:可以使用ls获取其下的所有文件列表;但不能访问文件,不能cd进目录,不能查看文件的详细信息(元数据)
    w:可修改此目录下的文件列表;即创建或删除文件;需要配合x权限来操作
    x:可cd至此目录中,且可使用ls-l来获取所有文件的详细属性信息;可以访问目录中的文件	
  • umask和acl mask 的区别和联系

    umask命令用来设置限制新建文件权限的掩码
    acl musk 也可以用来限制权限,这是他们的联系
      区别:      
     umask与mask的区别感觉就是mask是给权限设置了一个界限,除了root和文件所有者和other外的其他用户或者组不能超过他设置的权限界限,
     只能低于或者等于。而umask是给定一个模式,只要用户创建目录或者文件,其所得到的权限是一定的。
  • 三种特殊权限的应用场景和作用

    当一个用户执行一个二进制文件权限不够时可以用SUID权限。SUID只能运用在二进制可执行文件上,当用户执行该执行文件时,会临时拥有该执行文件所有者的权限
      当多个用户属于同一项目组,或者需要对同一目录的文件或者子目录都可以自由操作时,可以用SGID权限。SGID可以应用在目录或可执行文件上。当SGID应用在文件上时,用户访问该文件时执行的是文件所属组的操作权限。
      当SGID应用在目录上时,该目录中所有新建立的文件或子目录的属组都会是该目录的属组
      Sticky权限只能应用在目录,当目录拥有Sticky所有在该目录中的文件或子目录无论是什么权限只有文件或子目录所有者和root用户能删除。
  • 设置user1,使之新建文件权限为rw——-

    [user1@localhost ~]$ nano /home/user1/.bashrc          
      # .bashrc
      
      # Source global definitions
      if [ -f /etc/bashrc ]; then
              . /etc/bashrc
      fi  
      # Uncomment the following line if you don't like systemctl's auto-paging feature:
      # export SYSTEMD_PAGER=
      
      # User specific aliases and functions
      
      umask 066
    
    
      [user1@localhost ~]$ 
      [user1@localhost ~]$ umask  0066
      [user1@localhost ~]$ touch f2
      [user1@localhost ~]$ ll f2
      -rw------- 1 user1 user1 0 Aug  4 20:26 f2
  • 设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写 /testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:— 备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原

    [root@localhost ~]# mkdir testdir
      [root@localhost ~]# touch testdir/f1
      [root@localhost ~]# setfacl -m u:user1:0 testdir/f1
      [root@localhost ~]# mkdir testdir/dir
      [root@localhost ~]# groupadd g1
      groupadd: group 'g1' already exists
      [root@localhost ~]# setfacl -m g:g1:rw tsetdir/dir
      setfacl: tsetdir/dir: No such file or directory
      [root@localhost ~]# setfacl -m g:g1:rw testdir/dir
      [root@localhost ~]# setfacl -Rm d:u:user1:rw testdir
      [root@localhost ~]# setfacl -Rm d:g:g1:0 testdir
      [root@localhost ~]# touch testdir/f2
      [root@localhost ~]# getfacl testdir/f2
      # file: testdir/f2
      # owner: root
      # group: root
      user::rw-
      user:user1:rw-  group::r-x			#effective:r--
      group:g1:---  mask::rw-
      other::r--
      
      [root@localhost ~]# getfacl testdir/f1
      # file: testdir/f1
      # owner: root
      # group: root
      user::rw-
      user:user1:---  group::r--
      mask::r--
      other::r--
      
      [root@localhost ~]# getfacl testdir/dir
      # file: testdir/dir
      # owner: root
      # group: root
      user::rwx
      group::r-x
      group:g1:rw-  mask::rwx
      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@localhost ~]# getfacl testdir
      # file: testdir
      # 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@localhost ~]# getfacl -R testdir > file.acl
      [root@localhost ~]# cat file.acl
      # file: testdir
      # 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
      
      # file: testdir/f1
      # owner: root
      # group: root
      user::rw-
      user:user1:---  group::r--
      mask::r--
      other::r--
      
      # file: testdir/dir
      # owner: root
      # group: root
      user::rwx
      group::r-x
      group:g1:rw-  mask::rwx
      other::r-x
      default:user::rwx
      default:user:user1:rw-  default:group::r-x
      default:group:g1:---  default:mask::rwx
      default:other::r-x
      
      # file: testdir/f2
      # owner: root
      # group: root
      user::rw-
      user:user1:rw-  group::r-x	#effective:r--
      group:g1:---  mask::rw-
      other::r--
      
      [root@localhost ~]# setfacl -R -b testdir
      [root@localhost ~]# getfacl testdir
      # file: testdir
      # owner: root
      # group: root
      user::rwx
      group::r-x
      other::r-x
      
      [root@localhost ~]# setfacl -R --set-file=file.acl testdir
      [root@localhost ~]# getfacl -R testdir
      # file: testdir
      # owner: root
      # group: root
      user::rw-
      user:user1:rw-  group::r-x			#effective:r--
      group:g1:---  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/f1
      # owner: root
      # group: root
      user::rw-
      user:user1:rw-  group::r-x			#effective:r--
      group:g1:---  mask::rw-
      other::r--
      
      # file: testdir/dir
      # owner: root
      # group: root
      user::rw-
      user:user1:rw-  group::r-x			#effective:r--
      group:g1:---  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/f2
      # owner: root
      # group: root
      user::rw-
      user:user1:rw-  group::r-x			#effective:r--
      group:g1:---  mask::rw-
      other::r--

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

(0)
dxkbokedxkboke
上一篇 2016-08-05 10:18
下一篇 2016-08-05 10:18

相关推荐

  • 第三周作业

    1、列出当前系统上所有已登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d ' ' -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 ~]# la…

    Linux干货 2016-12-19
  • diy自己的linux

    准备一台liunx的机器,我用的是liunx虚拟机 单独加载一块硬盘,我加载了一块20G的硬盘,然后用fdisk /dev/sdb进行分区,sdb1用来作为将来系统的/boot分区,所有100M就可以了,sdb2用来作为将来系统的/分区,我给了10G。然后将两个分区格式化为ext4系统。 mkdir /mnt/boot mkdir /mnt/sdc2 mou…

    Linux干货 2016-09-14
  • haproxy 简单实现80转后端8000

    一,安装 yum -y install gcc automake autoconf libtool make tar -xzf haproxy-1.6.8 cd haproxy-1.6.8 make TARGET=linux2628 make install 二,编辑配置文件 Haproxy配置中分成五部分内容,当然这些组件不是必选的,可以根据需要选择作为配…

    Linux干货 2016-09-19
  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • 重定向

    Linux下定义了三种I/O设备: 标准输入(STDIN):用0表示,默认的标准输入设备是键盘; 标准输出(STDOUT):用1表示,默认的标准输出设备是当前终端; 标准错误(STDERR):用2表示,默认的标准错误输出设备是当前终端; I/O重定向即改变默认的位置 1 标准输出重定向 (1)将标准输出重定向到其他终端 /dev/pts/1代表伪终端1,在伪…

    Linux干货 2017-07-31
  • 基于Cobbler实现多版本操作系统自动部署

    前言     在生产环境中,当需要批量部署几十甚至上百台服务器时,实现自动化安装操作系统尤为重要,按照传统的光盘引导安装是不可想象的;此前我们通过pxe+kickstart简单实现了自动化安装,但只能实现单一版本安装,当需要部署不同版本或不同引导模式(BIOS、EFI)时,此种方式就不够灵活。而Cobbler正是为了解…

    Linux干货 2015-08-11