博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
12月20日笔记 文件、目录权限及相关操作命令
阅读量:5752 次
发布时间:2019-06-18

本文共 2182 字,大约阅读时间需要 7 分钟。

linux文件权限是一个比较繁杂的内容,建议在阅读中文资料的基础上参考英文wiki与鸟叔的网站关于权限方面的内容,下面是在学习中参阅的一些文章:

英文:

)
鸟哥的linux站点:

一、linux文件的权限

查看目标权限的命令
”ls -l+文件名“或”stat -c %a%A“
12月20日笔记 文件、目录权限及相关操作命令
12月20日笔记 文件、目录权限及相关操作命令
(一)文件权限字含义
文件:文件的基本权限是读,写,执行权限:
读 R:分配对文件的内容进行读取和查看文件的权限。
写 W:分配对文件的内容进行修改或者删除的权限。
执行 X:允许用户将该文件作为一个程序进行执行的权限。
目录:目录的基本权限也是读,写,执行,但与文件的权限有一定区别:
读 R:访问目录意味着用户可以读取目录下的内容。用户可以查看目录内的文件名。
写 W:这个权限意味着用户可以在目录下面删除或者新建文件。
执行 X:执行一个目录并没有真正的意义,因此将它当作可以遍历目录的权限。

我们看下新建的2.txt的权限

12月20日笔记 文件、目录权限及相关操作命令
权限的值可以用数字表示,这里借用视频中的图
12月20日笔记 文件、目录权限及相关操作命令
这里所有者有读写权限,用户组与其他用户只有读权限,换算成数字就是644
我们再来看下新建的目录2的权限
12月20日笔记 文件、目录权限及相关操作命令

这里所有者有读写遍历权限,其他两个组只有读和遍历权限。

这样我们可以算出文件2.txt的权限数字是644,可以用stat -c %a直接来查看这个数字。

二、chmod命令

chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。
语法:chmod(选项)(参数)
参数:-R 递归处理,将指令目录下的所有文件及子目录一并处理;
-v 显示操作过程
示例:
1、chmod 数字
12月20日笔记 文件、目录权限及相关操作命令
12月20日笔记 文件、目录权限及相关操作命令
12月20日笔记 文件、目录权限及相关操作命令
2、chmod u=...,g=...,o=...
12月20日笔记 文件、目录权限及相关操作命令
3、chmod a+或- r、w、x
12月20日笔记 文件、目录权限及相关操作命令

三、chown命令

chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户D,用户组可以是组名或组id。 只有文件主和超级用户才可以使用该命令。
语法:chown (选项)(参数)
参数:-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——version:显示指令执行过程;
示例:
1、更改文件拥有者
12月20日笔记 文件、目录权限及相关操作命令
12月20日笔记 文件、目录权限及相关操作命令
2、同时更改文件的拥有者与所属组,==chgrp
12月20日笔记 文件、目录权限及相关操作命令
改回来了!

四、umask

umask命令,(实际工作中很少用^..^)用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,将自动设置掩码mode来限制新文件的权限
系统默认的umask是0022
12月20日笔记 文件、目录权限及相关操作命令
使用touch、mkdir等命令时,将根据umask的值确定新文件或文件夹的权限
umask也可以使用类似2、chmod u=...,g=...,o=...的命令设置。注意,是你不要新文件默认带什么权限就把这个权限写进umask的值中。
示例:
1、修改umask的方法:umask 0002或者002,最前面的0可以省略。

12月20日笔记 文件、目录权限及相关操作命令

2、权限计算方法
应该将 权限换算成“rwx形式再进行计算”,其中r-r=-,w-w=-,x-x=-;--r=- ,默认的文件权限计算初始值是(-rw-rw-rw-),目录的初始值是(drwxrwxrwx)。比如umask设置成0033,那么换过来就应该是-----wx-wx,那么用(-rw-rw-rw-)
去减,这里结果应该是(-rw-r--r--)。

五、lsattr命令与chattr命令

chattr
chattr命令文件权限属性设置 chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。

12月20日笔记 文件、目录权限及相关操作命令

PS:对目录加i与a权限并不影响对内部已存在的文件的操作。

参数:-R:递归处理,将指令目录下的所有文件及子目录一并处理;

示例:

1、给文件加上i权限
12月20日笔记 文件、目录权限及相关操作命令
然后你就不能对这个文件进行任何操作了,但是可以cp。
12月20日笔记 文件、目录权限及相关操作命令
12月20日笔记 文件、目录权限及相关操作命令
12月20日笔记 文件、目录权限及相关操作命令
i是英文immutable的缩写,不可改变的意思;

去掉这个权限

命令:
12月20日笔记 文件、目录权限及相关操作命令

+i权限不能被继承,比如上文cp生成的2.txt无+i权限。

12月20日笔记 文件、目录权限及相关操作命令

lsattr命令:

lsattr命令用于查看文件的第二扩展文件系统属性。

参数:

-a  显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。
-d  显示,目录名称,而非其内容。
-R  递归处理,将指定目录下的所有文件及子目录一并处理。

示例:

查看目录的第二权限
加上 -d选项即可
12月20日笔记 文件、目录权限及相关操作命令

疑问 lsattr -vV是什么?

转载于:https://blog.51cto.com/11934539/2052710

你可能感兴趣的文章
【探索HTML5第二弹01】HTML5的前世今生以及来世
查看>>
Failed to connect to remote VM. Connection refused. Connection refused: connect
查看>>
freeze
查看>>
SAP HANA存储过程结果视图调用
查看>>
设计模式 ( 十八 ):State状态模式 -- 行为型
查看>>
OracleLinux安装说明
查看>>
nova分析(7)—— nova-scheduler
查看>>
Entity Framework 实体框架的形成之旅--Code First模式中使用 Fluent API 配置(6)
查看>>
OpenMediaVault 搭建git,ssh无法连接问题
查看>>
java多线程之:Java中的ReentrantLock和synchronized两种锁定机制的对比 (转载)
查看>>
【Web动画】SVG 实现复杂线条动画
查看>>
使用Wireshark捕捉USB通信数据
查看>>
Apache Storm 官方文档 —— FAQ
查看>>
iOS 高性能异构滚动视图构建方案 —— LazyScrollView
查看>>
Java 重载、重写、构造函数详解
查看>>
【Best Practice】基于阿里云数加·StreamCompute快速构建网站日志实时分析大屏
查看>>
【云栖大会】探索商业升级之路
查看>>
HybridDB实例新购指南
查看>>
C语言及程序设计提高例程-35 使用指针操作二维数组
查看>>
华大基因BGI Online的云计算实践
查看>>