用户权限管理及课后作业

一.权限对目录、文件的意义

文件

r 可用文件查看类工具获取文件内容

w 可以修改文件内容(包括清空)

x 可执行该文件

[root@localhost testdir]# cat zzz
i am fine 
thank you
[root@localhost testdir]# su -l tian -c "cat zzz"
cat: zzz: No such file or directory
[root@localhost testdir]# su -l tian -c "cat /testdir/zzz"
i am fine 
thank you
[root@localhost testdir]# chmod o=w zzz 
[root@localhost testdir]# su -l tian -c "cat /testdir/zzz"
cat: /testdir/zzz: Permission denied
[root@localhost testdir]# su -l tian -c "cat /testdir/zzz"

目录

r 可用 "ls"但是看不了文件元数据

w 可添加或删除文件

x 可用ls -l ,也可切换进该目录

X 如果是目录的话,可以给予x权限,如果是文件,不会给x权限

此时给予/testdir/目录下所有文件rwX权限,但由于a是文件,安全起见,不给予x权限

1.png

一个文件能不能删除,与文件的权限没关系,与目录的权限有关

2.png

二.chown命令使用详解

chown owner      仅改变属主

chown owner:  改变属主和属组

chown owner:group 改变属主和属组

chown :group  仅改变属组

chown –reference=file 以什么为标本改变

-R  递归

3.png

三.chmod命令使用详解

1.使用字符表示权限

chmod '用户 符号 权限’文件

用户: u:代表文件属主

            g:代表用户组

            o:其他人

             a:所有人

符号:+  : 在原有基础上给用户增加权限

          –    :在原有基础上给用户减少权限

         =    :给用户重新赋予权限

权限:r  w  x

4.png

(2)数字法表示权限

r >100>4

w>010>2

x>001>1

6.png

使用方法与上边类似,把相应用户的相应权限换为权限的和就行 

实例:给a文件的组增加w权限

5.png

四.umask的相关知识

  1. umask # 设置umask的值为#

    umask -S  按字符格式显示umask的值

    umask -p  可做STDIN

  2. 文件默认权限666-umask(如结果某位出现奇数,将其加一)

    目录默认权限777-umask

  3. 全局配置文件/etc/bashrc

    局部配置文件~.bashrc

    实例:设置umask为333,用字符格式显示umask的值,并创建目录c和文件c观察其权限

    7.png

    发现文件c的权限为444

五.特殊权限的相关说明

(1)suid 仅对二进制程序有用

执行者需对该程序有x权限

执行者将拥有程序所有者的权限

8.png

(2)sgid

对文件

仅对二进制程序有用

执行者获得用户组的权限

对目录(项目组经常用)

执行者对目录具有r x权限,进入该目录

执行者在此目录下的有效用户组变成该目录的用户组

具有w权限,创建文件的用户组与该目录的用户组相同

9.png

总结:要想实现对目录sgid,需切换当前有效组为共享组

(3)sbit

仅对目录有效

当用户在该目录下创建文件或目录时,仅有自己

或root可以删除

0.png

(4)一般情况下,不能设置为7666

如果文件拥有者都没有执行权限,怎么给其他用户权限使用

(5)当特殊权限为大写的时候 ,说明本来无x权限

(6)权限一旦匹配,就不往下继续匹配,不论首先匹配的值是否合适

六.chattr命令详解

.chattr +a 文件数据只能增加

chattr +i 文件不能被删除,改名,连接或添加数据

chattr +s 文件被删除的话,会被完全从硬盘删除

chattr +u 文件被删除的话,内容还在磁盘里边,可以复原

12.png

11.png

用testuser用户无法再a文件中添加内容

七.acl相关知识

(1)使用dumpe2fs -h 设备文件 查看Default mount options 这一行看文件系统是否支持acl (通过dump查看)

(2)setfacl  [-bkRd] [{-m|-x} acl参数] [{-M|-X} acl-file] 目标文件名 (M X 参数引用标准输入)

setfacl –restore=file

setfacl –set-file=file2 file1

-m 设置后续的acl参数给文件使用

-x 删除后续的参数

-k 删除默认的acl参数

-b 删除所有的extend acl设置参数

-R 递归设置acl 子目录也会被设置相应权限(只是目录)

-d 设置默认acl参数,只对目录有效,该目录新建的文件也会引用此默认值(文件)给予改目录rwx权限, 其下边的文件依旧没有x权限

-n 不参考mask值,默认参考mask值

用户或组空的话,默认是文件的属组或属主

(3)acl生效顺序:所有者 自定义用户 自定义组 用户组 (mask)其他人

(4)mask作用是让用户或组所设置的权限必须在mask的范围内才生效

mask只影响除所有者和other以外的用户和组

acl文件的组权限是mask值,不是传统意义上的组权限

mask是在设置完本组成员权限以后,再在该组成员中去除不合适权限

(5)基本的acl是删不掉的

(6)对一个用户组设置acl权限,一个当前有效组不是这个组的的用户也是继承次acl权限的

(7)–set会把原来的acl项全部删除,此时要包含ugo设置

(8)cp -p mv 命令支持acl,tar等常见的备份工具不会保留文件的acl权限

实例一:通过setfal给予tian用户修改root文件a的权限

1.png

实例二:实现cp复制文件继承acl权限

5.png

2.png

八.课后作业

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

    56.png

  2. 误删了wangcai家目录,请回复wangcai家目录及相关权限

    23.png

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

    (1).创建文件夹,所有组设置为g1,设置sgid

    1.png

    (2)创建alice,其主组为g2,创建tom,其主组为g3

    4.png

    (3)设置acl权限
    5.png

    (4)创建文件测试,发现Alice可以对a文件写入

    6.png

    发现Tom只能读内容,不能修改

    8.png

    9.png

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

赞 (0)
mengzhiqianmengzhiqian
上一篇 2016-08-08 16:17
下一篇 2016-08-08 20:10

相关推荐

  • test

    test

    Linux干货 2018-02-23
  • NFS

    NFS初探 NFS概述 NFS工作流程 NFS Server端设置 NFS工具与命令 NFS配置实例 NFS概述 NFS是什么? NFS,network file system(网络文件系统)的缩写,是一种实现文件共享的实现方式。 NFS的功能是什么 NFS基于RPC协议,实现远程系统调用,共享文件资源。 NFS工作流程 RPC,Remote Pr…

    Linux干货 2016-04-28
  • linux下手工创建新用户

    当我们要创建一个用户时,通常使用useradd命令就可以自动创建了一个用户;实际上,在linux下,一切皆文件,设置好几个文件,也是可以创建出一个用户: 文件如下: /etc/passwd  :用户 /etc/shadow  :密码 /home/username:用户家目录 /etc/group:用户组 /etc/skel/*: &nbs…

    Linux干货 2015-03-30
  • Hadoop简介

    Hadoop的概要介绍 Hadoop,是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。 简单地说来,Hadoop是一个可以更容易开发和运行处理大规模数据的软件平台。该平台使用的是面向对象编程语言Java实现的,具有良好的可移植性。 Hadoop的发展历史 &nbsp…

    Linux干货 2015-04-13
  • N21 第二周练习

    ####1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。复制:cp   移动:mv    删除:rm   cp:copy,复制文件或目录</br>  cp [OPTION]… SOURCE… DIRECTORY…

    Linux干货 2016-07-22
  • Linux系统发展史

    引言:     Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具…

    Linux干货 2016-10-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-08 20:22

    文章整体思路不够清晰,下次如果这样敷衍,就可能需要好好改进了哦。