Linux普通权限及特殊权限讲解

1.文件权限

文件权限主要是针对三类对象进行定义的:

owner:属主,u

group:属组,g

other:其他,o

每个文件针对每个类定义了三种权限:

readable: r

writable: w

excutable:x

三种文件权限:

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

w: 可修改其内容

x: 可以把此文件提请内核启动为一个进程

三种目录权限:

r: 可以使用ls查看此目录中文件列表

w: 可在此目录中创建文件,也可删除此目录中的文件

x: 可以使用ls -l查看此目录中文件列表,可以cd进入此 目录

X:只给目录x权限,不给文件x权限

2.目录权限:

[[email protected] ~]# ll -d luyubo

     drwxr-xr-x 2 root root 4096 Aug  4 13:48 luyubo

d表示文件类型

rwxr-xr-x 每三个一组

rwx表示所属用户权限

r-x表示所属组的权限

r-x表示其他用户权限

2表示引用连接数

root表示所属用户

root表示所属组

4096表示文件大小

Aug  4 13:48表示时间

luyubo表示目录

3.chmod命令:

用法:chmod [选项]... 模式[,模式]... 文件...

 或:chmod [选项]... 八进制模式 文件...

 或:chmod [选项]... --reference=参考文件 文件...

修改一类用户的所有权限: u=  g= o= ug=  a= u=,g=

修改一类用户某位或某些位权限 u+  u- g+ g- o+ o- a+ a- +

将每个文件的模式更改为指定值。

-c, --changes         类似 --verbose,但只在有更改时才显示结果

--no-preserve-root 不特殊对待根目录(默认)

--preserve-root 禁止对根目录进行递归操作

-f, --silent, --quiet         去除大部份的错误信息

-v, --verbose         为处理的所有文件显示诊断信息

--reference=参考文件 使用指定参考文件的模式,而非自行指定权限模式

-R, --recursive 以递归方式更改所有的文件及子目录

--help         显示此帮助信息并退出

--version          显示版本信息并退出

chown 设置文件的所有者

                                [[email protected] ~]# chown luyubo luyubo

4.chgrp命令使用方法

用法:chgrp [选项]... 用户组 文件...

 或:chgrp [选项]... --reference=参考文件 文件...

将每个指定文件的所属组设置为指定值。

如果使用 --reference,则将每个文件的所属组设置为与指定参考文件相同。

-c, --changes 类似 --verbose,但只在有更改时才显示结果

--dereference          影响符号链接所指示的对象,而非符号链接本身(默认值)

-h, --no-dereference 会影响符号链接本身,而非符号链接所指示的目的地

(当系统支持更改符号链接的所有者时,此选项才有用)

--no-preserve-root         不特殊对待"/"(默认值)

--preserve-root         不允许在"/"上递归操作

-f, --silent, --quiet 去除大部份错误信息

--reference=RFILE 使用参考文件的所属组,而非指定值

-R, --recursive         递归处理所有的文件及子目录

-v, --verbose 为处理的所有文件显示诊断信息

以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。

如果您指定了多于一个选项,那么只有最后一个会生效。

-H         如果命令行参数是一个通到目录的符号链接,则遍历符号链接

-L         遍历每一个遇到的通到目录的符号链接

-P         不遍历任何符号链接(默认)

--help 显示此帮助信息并退出

--version 显示版本信息并退出

chgrp 设置文件的属组信息

[[email protected] ~]# chgrp luyubo luyubo

5.默认权限介绍

umask值 可以用来保留在创建文件权限

新建FILE权限: 666-umask 如果所得结果某位存在执行(奇数)权限,则将其权限+1

新建DIR权限: 777-umask

非特权用户umask是 002   权限是:775

root的umask 是 022      权限是:755

因为root权限太大,风险是很大的,所以默认权限是低于普通用户的

umask: 查看当前mask值  #执行结果是:022

umask #: 例如 umask 023   权限是754

umask –S 模式方式显示  #大s以字母方式显示

umask –p 输出可被调用  #执行结果是:umask 022

全局设置: /etc/bashrc 用户设置:~/.bashrc

6.Linux文件系统上的特殊权限

1.SUID,SGID,Sticky

三种常用权限:r, w, x    user, group, other

安全上下文

前提:进程有属主和属组;文件有属主和属组

(1) 任何一个可执行程序文件能不能启动为进程:取决发起者 对程序文件是否拥有执行权限

(2) 启动为进程之后,其进程的属主为发起者;进程的属组为 发起者所属的组

(3) 进程访问文件时的权限,取决于进程的发起者

(a) 进程的发起者,同文件的属主:则应用文件属主权限

(b) 进程的发起者,属于文件属组;则应用文件属组权限

(c) 应用文件“其它”权限

2.SUID:

1.任何一个可执行程序文件能不能启动为进程:取决发起者对 程序文件是否拥有执行权限

2.启动为进程之后,其进程的属主为原程序文件的属主

3.SUID只对二进制可执行程序有效

4.SUID设置在目录上无意义

权限设定: chmod u+s FILE... chmod u-s FILE...

例如:设置二进制程序echo的属主权限

       [[email protected] ~]# chmod u+s /bin/echo

3.SGID:

1.任何一个可执行程序文件能不能启动为进程:取决发起者对 程序文件是否拥有执行权限

2.启动为进程之后,其进程的属主为原程序文件的属组

3.权限设定: chmod g+s FILE... chmod g-s FILE...

例如:设置二进制程序echo的属组权限

       [[email protected] ~]# chmod g+s /bin/echo

4.SUID:user,占据属主的执行权限位 s:属主拥有x权限 S:属主没有x权限

4.目录SGID:

1.默认情况下,用户创建文件时,其属组为此用户所属的主组

2.一旦某目录被设定了SGID,则对此目录有写权限的用户在此 目录中创建的文件所属的组为此目录的属组

3.通常用于创建一个协作目录

4.权限设定: chmod g+s DIR... chmod g-s DIR...

例如:设置/data/testdir/目录内所有新建文件为g1组。

      [[email protected] data]# chgrp g1 testdir/
      [[email protected] data]# chmod g+s testdir/

5.SGID:group,占据属组的执行权限位 s:group拥有x权限 S:group没有x权限

5.Sticky位:

1.具有写权限的目录通常用户可以删除该目录中的任何 文件,无论该文件的权限或拥有权

2.在目录设置Sticky位,只有文件的所有者或root可 以删除该文件

3.sticky设置在文件上无意义

4.权限设定: chmod o+t DIR... chmod o-t DIR...

5.例如:我们bo目录加上t权限:

    [[email protected] home]# chmod o+t bo/
    [[email protected] home]# ll -d bo/
    drwxrwxrwt 2 root root 4096 8月   4 20:58 bo/

切换用户至tom尝试删除目前内的文件是没有权限,但是我们的权限是777,这就是sticky的作用

6.Sticky: other,占据other的执行权限位 t: other拥有x权限 T:other没有x权限

7.文件特定属性

1.chattr +i 不能删除,改名,更改

2.chattr +a 只能增加

3.lsattr 显示特定属性

8.访问控制列表acl

1.ACL:Access Control List,实现灵活的权限管理

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

3.CentOS7.0默认创建的xfs和ext4文件系统有ACL功能。

4.CentOS7.X之前版本,默认手工创建的ext4文件系统无ACL功能。需手动增加:tune2fs –o acl /dev/sdb1 mount –o acl /dev/sdb1  /mnt

5.ACL生效顺序:属主,自定义FACL属主,属组,自定义FACL属组,其他人

6.ACL命令:

getfacl 查看acl

setfacl -x删除权限

setfacl -b彻底清空文件上面的acl

setfacl -d设置默认acl权限,新建文件生效

setfacl -k删除设置默认acl权限

setfacl -m u:::rw file设置所有者权限

setfacl -m m:::rw file设置mask 权限

设置mask,只影响除所有者和other,其他权限不能比mask高,或者相等

设置acl之后  所属组权限就不是组权限了,就是mask权限了

7.ACL文件上的group权限是mask 值(自定义用户,自定义组 ,拥有组的最大权限),而非传统的组权限

8.getfacl 可看到特殊权限:flags

9.默认ACL权限给了x,文件也不会继承x权限。 ?base ACL 不能删除

10.setfacl -k  dir 删除默认ACL权限

11.setfacl -b file1清除所有ACL权限

12. mask只影响除所有者和other的之外的人和组的最大权限 Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限 (Effective  Permission) 用户或组的设置必须存在于m  ask权限设定范围内才会生效。 setfacl -m mask::rx file

13. --set选项会把原有的ACL项都删除,用新的替代,需要注意的 是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以.

例如:

            [[email protected] home]# setfacl --set u::rw,u:tom:rw,g::r,o::- bo/

9.备份和恢复ACL

1.主要的文件操作命令cp和mv都支持ACL,只是cp命令需要 加上-p参数。但是tar等常见的备份工具是不会保留目录 和文件的ACL信息

       [[email protected] data]# getfacl -R testdir/ > acl.txt
       [[email protected] data]# setfacl -R -b testdir/
       [[email protected] data]# setfacl -R --set-file=acl.txt testdir/
       [[email protected] data]# getfacl -R testdir/
时间: 2024-11-02 12:40:19

Linux普通权限及特殊权限讲解的相关文章

Linux中的账号和权限管理(理论讲解部分)

小伙伴们本次给大家带来的是Linux中的账号和权限管理,这里我们首先要明确的就是这个权限是文件或者目录的权限.接下来我们会从以下几个部分进行了解: 用户账号和组账号概述 用户账号和组账号管理 查询账号信息 查看目录或文件的属性 设置目录或文件的权限 设置目录或文件的归属 用户账号和组账号概述Linux基于用户身份对资源访问进行控制1.用户账号:? 超级用户? 普通用户? 匿名用户(everyone)? 程序用户(人为不可使用,单独管理系统中某个应用程序存在的服务)2.组账号:组是系统用户权限的集

Linux的文件与目录权限解析

在Linux中,万事万物皆文件,普通文件是文件,目录是文件,硬件设备也是文件,因此学习了解Linux中的文件非常重要. Linux中有三种文件类型: (1) 普通文件:又分为文本文件和二进制文件 (2) 目录文件:目录文件存储了一组相关文件的位置.大小等与文件有关的信息. (3) 设备文件:I/O设备在Linux中也被看成文件,与普通文件一样处理,这样使文件与设备的操作尽可能统一. 一.Linux文件属性 Linux的文件有很多属性,要查看文件的属性可以用ls -l命令,为了后续的讲解中有操作的

6.linux文件、目录权限以及赋予权限

本节课主要讲解了linux文件和目录的权限以及如何赋予权限,希望可以帮助到大家能理解linux的权限管理 如何视频看不清楚,可以到http://www.tudou.com/programs/view/6c6WEsKJz7s/全屏观看或者到http://yunpan.cn/cVSrHAk8ExAd9访问密码 aa19下载课程,也可以访问官方网站:www.xinxinedu.org 手机用户可以直接扫描下面的土豆二维码,直接可以在手机上观看视频

Linux运维--企业sudo权限规划详解 (实测一个堆命令搞定)

简述问题: 随着公司的服务器越来越多,人员流动性也开始与日俱增,以往管理服务器的陈旧思想应当摒弃,公司需要有 更好更完善的权限体系,经过多轮沟通和协商,公司一致决定重新整理规划权限体系,主管明确指出权限存在的问 题,并需要解决以往的root权限泛滥问题. 我作为本次权限规划的发起人,我了解到了公司现状后,经过多次与相关员工及领导沟通,确认了公司存在的 部分问题:  运维部基本入职离职流程中存在一些账号问题: 如  离职不报备,系统权限不回收.账号密码过于简单化 这样无疑给公司的服务器及数据安全造

Linux 文件权限、用户权限和用户组管理&vim的一些基本使用技巧

一.熟练使用30个以上常用命令. 二.文件权限.用户权限讲解和用户组的管理 1.Useradd用于创建用户 useradd –d /home/tt/ -s /bin/bash –g pansir 2.Usermod用于修改用户 usermod -d /home/test -s /bin/bash tom,修改tom用户的家目录为/home/test,并指定登录的shell. usermod -G test1,test2 tom将tom用户属组改成 test1,test2附属组 usermod -

linux账户权限和特殊权限管理

用户账号:           用户账号         描述         超级用户    root用户,进行系统管理使用.         普通用户    由管理员或root用户创建,只在用户自己的宿主目录中拥有完整权限.         程序用户    在安装应用程序时,会添加一些低权限用户账号,不允许登录到系统,用于维持系统或某个程序的正常运行.       组账号: 定义:  表示组内所有用户的账号. 基本组(私有组): 每一个用户账号至少属于一个组. 附加组(公共组): 该用户同时

linux的3种特殊权限

linux的3种特殊权限 特殊权限分为3种,分别是:SUID:作用于用户:只能作用于可执行的二进制文件SGID:作用于所属组:只能作用于可执行的二进制文件Sticky:粘滞位.作用于其他人,只有自己才能删除自己的文件(root除外) 用户通过程序(一般程序对所有人都是可执行的,当然也有例外)去访问文件,取决于用户对程序文件是否有执行权限当用户(发起者)去运行一个进程时,他就是这个进程的拥有者,进程的属组也是发起者所属的组(这里所说的拥有者是表现为这个程序在内存的拥有者,表现为进程,与这个程序在硬

LINUX用户、用户组及权限管理

LINUX用户.用户组及权限管理 一.LINUX权限管理 LINUX权限分为:r,w,x,读,写,可执行 对文件来说: r 可读,即可以使用类似cat等命令查看文件的内容 w 可写,可以编辑或删除此文件: x 可执行,exacutable,可以在命令提示符下当做命令提交给内核运行. 对于目录来说(默认有x权限): r 可以对此目录执行ls以列出内部的所有文件 w 可以在此目录中创建文件 x 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息. 文件 目录 r 可读,即可以使用类

linux基础篇-10,权限管理chown chgrp chmod umask

linux用户及权限详解 权限管理 chown chgrp chmod umask ################################################ chown:修改属主 -R:修改目录及其内部的属组 --reference chown USERNAME:GRPNAME file 同时修改属主属组 [[email protected] ~]# chown jameszhan:root /tmp/tmp.txt ###########################