文件权限

1、普通权限

(登陆用户对文件或目录的读写执行的权限)
普通权限对管理员用户无效

文件和目录 都有4中类型的用户
u 所有者 : 文件、目录的创建者
g 所属组 : 文件、目录属于的用户组
o 其他用户: 用户既不是文件、目录的创建者,也没有在文件、目录所属的用户组里
a 所有用户:以上3类用户的总称

4 2 1 0
r w x -
文件或目录权限的类型 读、写、执行 无权限

查看文件/目录的权限

ll 文件名
ll 目录/文件名
ll -d 目录名

权限列表 链接个数 所有者 所属组 大小 日期 时间 文件名/目录

权限列表(由10个字符组成)
第一列字符 表示文件类型

 - 文本文件
d 目录
l 链接文件
s 套接字文件
b 块文件
p 管道文件
c 字符文件

剩下的9列字符 每3列为一组 分3组
第一组 表示 所有者权限
第二组 表示 所属组权限
第三组 表示 其他用户权限

每组权限里的

第一列 r 权限显示位
第二列 w 权限显示位
第三列 x 权限显示位

* 若显示位置是字符 - 表示没有此权限
权限 文件上 目录上
r读 看文件的内容 浏览目录下的文件列表
cat head tail more less ls

w写 编辑文件内容 创建或删除文件或目录
vim touch rm mkdir rmdir
cp mv

x执行 可以运行文件 可以进入目录
./文件名 cd
/testdir/a.sh

* 要想让用户对目录有写权限 要同时开放x权限
* 一旦用户对目录拥有了w权限 ,就对这个目录下的子文件拥有的完全权限

设置权限命令的语法格式 - chmod

chmod -R 权限列表 文件名/目录名

权限列表

用数字表示
ugo
字母表示
用户类型 赋值符号 权限列表
u = r w x -
g +
o -
a = 设置指定的权限
+ 在原有权限的基础上增加权限
- 在原有权限的基础上去掉权限

实例

chmod  文件名
chmod 目录名
chmod u-x 文件名/目录名/文件名
chmod u=rx,g=r,o=r 目录名/文件名
chmod a=r 目录名/文件名
chmod -R /teadir 

mkdir -m 700 目录名 //创建目录时指定目录的权限,
//若不指定权限系统设置的默认权限

查看创建文件时的默认权限

umask -S
umask
普通用户 特权用户
文件 644 644
目录 775 755

2、特殊权限

SUID 、 SGID 、 Set stikcy
字母 数字
SUID s 4
SGID s 2
Set sticky t 1

SUID 权限位只能设置在二进制文件上(通常就是系统命令)
当用户运行设置了suid权限位的文件时,会拥有文件所有者的权限
suid权限只在执行过程中有效。
用户要对文件本身有执行权限,才能使用文件的suid权限。

u x
用字母s表示,占用文件所有者的执行位显示
当s小写时,文件的所有者对文件有执行权限
当s大写时,文件的所有者对文件没有执行权限
对应的数字权限是数字 4

chmod u+s /usr/sbin/useradd
chmod u-s /usr/sbin/useradd

SGID 既可以设置在文件上,又可以设置在目录上,通常设置在目录上。
设置上文件上,当用户执行文件时,拥有文件所属组的权限
设置在目录上,在目录下创建的子文件、子目录继承父目录的所属组。

用字母s表示,占用文件、或目录的所属组的执行权限位显示
当s小写时,文件的所属组用户对目录有执行权限
当s大写时,文件的所属组用户对目录没有执行权限
对应的数字权限 是 数字2

chmod g+s /usr/sbin/useradd
chmod g-s /usr/sbin/useradd

Set stikcy 粘滞位(防删除位)
只能设置在目录上。
当给目录设置t权限位,目录下的文件只能被文件的所有者删除、
不能被其他用户移动 、改名、编辑 (但可以拷贝)
此权限对管理员用户无效。

用字母t表示,占用目录其他用户执行权限位显示
当t小写时, 其他用户对目录有执行权限
当t大写时, 其他用户对目录没有执行权限
对应的数字权限 是 数字1
suid sgid set-sticky
4 2 1
s s t
u-x g-x o-x

1755 rwxr-xr-t

7777 rwsrwsrwt

mkdir -m  /dir10
useradd u10
useradd u12
useradd u3
useradd u2

让系统用户u2对 /dir10 目录有完全权限。
只让系统用户u2对 /dir10 目录有完全权限。
只让系统用户u2、u3 对 /dir10 目录有完全权限。

3、文件访问控制列表

- facl
dumpe2fs /dev/sda2 | grep --color acl

getfacl 目录名/文件名

getfacl /dir10

在不改变本身权限的情况下,单独设置某个用户或用户组 对 某个文件或目录的访问权限。

setfacl 选项 [参数]:用户类型:权限列表 文件名/目录名

选项
-m 设置facl权限
-x 删除facl权限(一次删除一个)
-b 删除目录或文件的所有acl权限
-k 删除目录的默认acl权限
-R 递归设置
setfacl -R -m u:u100:rwx /dir10

参数
m 设置acl_mask 码的权限

acl权限mask码 : 控制acl用户的权限
默认acl_mask 值是rwx
授权用户的acl的最终权限是 授权权限与acl_mask码逻辑运算后的权

setfacl -m m:r /dir10

d 设置目录的默认acl权限
setfacl -m d:u:u1:rwx /dir6

用户类型 u 设置某个用户的访问权限
g 设置某个用户组的访问权限

权限列表 r w x

mkdir -m 755 /dir6

让系统用户u2 对 /dir6目录下的所有文件有rwx权限

4、文件的隐藏权限

查看文件的隐藏属性
lsattr 文件名

设置
chattr +-=a|i|A 文件名

i 文件的内容不能被编辑 (管理员也不可以)
a 只能以追加的方式给文件添加新内容
A 不更新文件访问时间

练习

一、基本权限和归属

,长格式显示/etc/passwd和/boot,分别说出他们相应的权限
,用字符权限形式将Desktop(包括里面的文件)权限更改成770
,用数字权限形式将Desktop(包括里面的文件)权限更改成755
,编写test.sh脚本,里面内容是 echo Hello World。设置允许执行该脚本
,查看umask值,代表什么意思
,创建一个/opt/studir目录,权限为755。将/opt/studir目录所有者改成student,所属组为users
,在将/opt/studir目录包括目录下的所有文件和子目录所有者改成stu01
,删除实验中创建的账户与组

二、附加权限控制

,长格式显示/tmp和/usr/bin/passwd,查看其权限
,创建普通账户tom,查找mkdir命令在什么地方,将其拷贝到/bin下改名为smkdir,给其设置suid权限
,tom登陆使用mkdir创建/tmp/test1目录,查看其权限
,tom登陆使用smkdir创建/tmp/test2目录,查看其权限
,删除smkdir命令
,查找cp命令在什么地方,将其拷贝到/bin下改名为gcp,给其设置sgid权限
,用tom账户登录,使用cp命令创建/tmp/file1文件。使用gcp命令创建/tmp/file2文件,查看这2个文件权限部分区别。
,删除gcp命令,tom账户
,创建user01,user02账户,group01组。/software目录,用user01在该目录下创建test01,user02在该目录下创建test02,查看其权限
,更改software目录所有者为root,所属组为group01,允许所有人对此目录有读、写、执行权限,并且在该目录下创建文件和目录都自动继承software的属组
,删除user01,user02账户,group01组,以及/software目录
,查看当前磁盘分区情况,查看根分区是否支持acl
,查看/root的acl权限,创建账户jack,jack是否可以进入/root?为什么
,使用acl权限设置jack能够进入/root
,创建/data目录,设置在/data目录下新建的文件和目录,jack都有读、写、执行权限
,清除/data的acl权限
,删除/data目录与jack账户Linux基础3(用户/组管理,rpm,yum,源码安装软件)

Linux基础3(文件权限)的更多相关文章

  1. Linux基础命令-文件与目录

    Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...

  2. Linux命令:修改文件权限命令chmod、chgrp、chown详解

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...

  3. Linux用户及文件权限管理

    Linux用户及文件权限管理

  4. linux中的文件权限chmod

    linux中的文件权限chmod ​ 还是GPU集群那点事儿,集群之间磁盘互相挂载,普通用户也可以操作/cu02_nfs./cu04_nfs文件夹,这就牵扯到权限的问题,去google发现所谓的777 ...

  5. linux 基础 文件系统 用户权限

    描述Linux系统的启动过程? 1.开机自检 BIOS 2.MBR引导 3.GRUB菜单 4.加载内核 5.运行init进程 6.从/etc/inittab读取运行级别 7.根据/etc/rc.sys ...

  6. linux基础指令以及权限管理

    基础指令 #打印字符串 echo hello linux #将file1 和 file2粘合在一起,打印到标准输出流 cat file1 file2 标准输入输出 标准输入,stdin,即键盘.鼠标输 ...

  7. Day005_Linux基础之文件权限

    test.sh  举例: [oldboy@luffy001 ~]$ ls -l test.sh -rw-r--r-- 1 oldboy ops 0 Nov 14 10:42 test.sh  该文件权 ...

  8. linux 用户及文件权限管理

    Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同 ...

  9. Linux(三)__文件权限、系统的查找、文本编辑器

    一.文件权限 1.理解文件权限及其分配 2.掌握查看文件和目录的权限 3.掌握权限文字表示法和数值表示法 4.学会使用chmod命令设置权限 5.学会使用chown命令修改属主和组 linux文件能不 ...

  10. linux笔记六-------文件权限设置

    1.文件(目录)权限本身划分:读read   写write   执行execute 权限从用户的角度划分:主人权限user    同组用户权限group    其他组用户的权限other music. ...

随机推荐

  1. http协议(九)响应首部字段

    响应首部字段: 服务器向客户端返回响应报文中所使用的字段,用于补充的附加信息.服务器信息.以及对客户端的附加要求等 1.Accept-Ranges 告知客户端服务器能否处理范围请求,以指定获取服务器的 ...

  2. 匹配字符串的KMP算法

    其中next序列,表示子串的前后缀最大匹配长度. 例如对于字符串C[], next[i]表示子串c[0 .. i]中, 前缀与后缀的最大匹配长度. 举例如果子串是 abcuab, 其前缀是a, ab, ...

  3. datepicker monthpicker

  4. Java集合系列:-----------02Collection架构

    出处:http://www.cnblogs.com/skywang12345/p/3308513.html 我们知道Collection是和Map架构平级的,我们看一下这个架构是怎样的. 他主要的两个 ...

  5. jQuery的prop和attr方法之间区别

    JQuery.attr(): Get the value of an attribute for the first element in the set of matched elements. J ...

  6. hadoop 2.6伪分布安装

    hadoop 2.6的“伪”分式安装与“全”分式安装相比,大部分操作是相同的,主要区别在于不用配置slaves文件,而且其它xxx-core.xml里的参数很多也可以省略,下面是几个关键的配置: (安 ...

  7. JavaScript系列:正则表达式

    function testExecResultType() { var txt = "mom and dad and baby"; var pattern = /mom (and ...

  8. 将某个Qt4项目升级到Qt5遇到的问题[转]

    该Qt4项目以前是使用Qt4.7.4 MSVC2008开发的,因为使用到了OWC10(Office Web Components),使用MSVC编译器的话无法正常升级到Qt4.8.x和Qt5,于是将编 ...

  9. PHP Date ( I need to use)

    本文记录项目中用到的 PHP Date 相关,备忘. 日期格式约定为 xx-xx-xx 格式(字符串),例如 2016-03-09. xx-xx-xx -> 时间戳 $date = " ...

  10. [转]Android中Xposed框架篇—利用Xposed框架实现拦截系统方法

    一.前言 关于Xposed框架相信大家应该不陌生了,他是Android中Hook技术的一个著名的框架,还有一个框架是CydiaSubstrate,但是这个框架是收费的,而且个人觉得不怎么好用,而Xpo ...