[svc]linux文件权限
linux中,每个文件拥有三种权限
f dir权限位最佳实战
权限 | 对文件的影响 | 对文件夹的影响 |
---|---|---|
r | 可读取/阅读文件的内容 | 可以列出目录内容,无法cd,ls -l看到文件名,属性是乱码. |
w | 可修改文件的内容; 如果没r,vim可以强制写入,echo可以重定向 | 可以在目录中创建,删除,修改目录下文件名(前面3个功能都需要有x), 文件的删除受父目录的影响,因为文件名在父目录的block里存着,和文件本身权限无关 |
x | 可以作为命令执行,root只需x, 普通用户需r+x | 可以进入dir; 没r无法列出,没w无法删除和创建文件,重命名文件 |
f | 说明 |
---|---|
r | 阅读 |
-w- | 重定向写入 |
--x | root执行 |
r-x | 普通用户执行 |
dir | 说明 |
---|---|
r | 列出文件名字 |
r-x | 列出文件名字+进入dir+属性 |
rwx | 列出文件名字+进入dir+属性,新建,删除,改名文件 |
为何linux ext4文件系统目录默认大小是4k?
ext4文件删除&访问原理
演示环境
用户测试准备:
[root@maotai ~]# groupadd incahome # 一个家庭(maotai, maomao的家)
[root@maotai ~]# usermod maotai -g incahome # 让家庭主人maotai属于incahome这个家(模拟user)
[root@maotai ~]# useradd maomao -g incahome # 让家庭主人maomao属于incahome这个家(模拟user)
[root@maotai ~]# useradd test # 外面的人,主人及家庭成员以外的人(模拟其他人other)
创建文件的测试准备
[root@maotai ~]# mkdir /maotai -p
[root@maotai ~]# echo "echo maotailinux" >/maotai/test.sh
[root@maotai ~]# chmod +x /maotai/test.sh
[root@maotai ~]# cat /maotai/test.sh
echo maotailinux
[root@maotai ~]# ls -l /maotai/test.sh
-rwxr-xr-x 1 root root 17 Dec 6 04:38 /maotai/test.sh
[root@maotai ~]# ls -l /maotai/test.sh
-rwxr-xr-x 1 root root 17 Dec 6 04:38 /maotai/test.sh
结论1: maotai,maomao,test三个用户拥有同样的其他用户权限,即读和执行,没有写的权限。
[root@maotai ~]# chown maotai.incahome /maotai/test.sh
[root@maotai ~]# ll /maotai/test.sh
-rwxr-xr-x 1 maotai incahome 17 Dec 6 04:38 /maotai/test.sh
结论2:
maotai 拥有对应用户的权限,即读写和执行权限。
maomao 拥有对应用户组(incahome)的权限,即读和执行的权限,没有写的权限.
test 拥有对应其他用户的权限,即读和执行的权限,没有写的权限。
[root@maotai ~]# ll /maotai/test.sh
-rwxr-xr-x 1 maotai incahome 17 Dec 6 04:38 /maotai/test.sh
[root@maotai ~]# chmod g+w,o-x /maotai/test.sh # 给用户组加上w权限,给其他用户去掉x权限。
[root@maotai ~]# ls -l /maotai/test.sh
-rwxrwxr-- 1 maotai incahome 27 Dec 6 04:59 /maotai/test.sh
总结测试结论:
Linux普通文件的读写执行权限说明:
1.可读r: 表示有**读取,阅读**文件内容的权限;
2.可写w: 表示具有**新增,修改**文件内容的权限
1.如果没有r配合,那么**vi**会提示无法编辑,(但可强制编辑),**echo**可以重定向或追加。
2.特别提醒:**删除文件(修改文件名等)**的权限是**受父目录的权限控制**,和文件本身权限无关。
文件名是保存在上一级目录的block里。所以要看父目录有没有权限,才能执行删除。
3.可执行x: 表示具有执行文件的权限。
1.文件本身要能够执行
2.**普通用户**同时还具备r的权限才能执行
3.**root**只要有**x的权限**就能执行。
总结Linux目录的读、写、执行权限说明
1.可读r:表示具有浏览目录下面文件及子目录的权限,即ls dir。
a、如果没有x权限,不能放进目录里,即无法cd dir。
b、如果没有x权限,ls列表时可以看到所有文件名,但是会提示无权限访问目录下的文件。
c、如果ls -l列表,所有的属性会带有问号,也会提示无权限访问目录下的文件,但是可以看到所有文件名。
2.可写w: 表示具有增加、删除或修改目录内文件名(一般指文件名)的权限,需要x权限配合。
3.可执行x: 表示具有进入目录的权限,例如cd dir。
但是没有r无法列表文件及目录,没有w无法新建和删除。
注意: 默认权限是安全权限的临界点,工作中尽量给这个临界点,或者小于临界点,不要大于临界点。
如下所示,超级用户创建目录默认是755,文件是644.
[root@n1 maotai]# mkdir dir
[root@n1 maotai]# touch file
[root@n1 maotai]# ls -lrt
drwxr-xr-x 2 root root 4096 2月 8 11:05 dir
-rw-r–r– 1 root root 0 2月 8 11:06 file
文件的时间戳
属性 | 解释 |
---|---|
文件的 Access time | atime 读取文件/执行文件 时更改的。如cat 1.log |
文件的 Modified time | mtime 写入文件时 随文件内容的更改而更改的。如echo 1 > alog |
文件的 Create time | ctime 写入文件/更改所有者/权限/链接 设置时随 Inode的内容更改而更改的。如ln if.sh if1.sh |
影响范围及区别 | atime >= ctime >= mtime |
umask对文件计算结果为奇数时加1
umask奇数位权限问题--这种计算不靠谱
文件权限遇到奇数要在奇数位-1 ,文件夹不变
文件权限计算小结论----这种靠谱补一些
文件权限计算
创建文件默认最大权限为666 (-rw-rw-rw-),默认创建的文件没有可执行权限x位。
对于文件来说,umask的设置是在假定文件拥有八进制666的权限上进行的,文件的权限就是666减去umask(umask的各个位数字也不能大于6,如,077就不符合条件)的掩码数值;
重点在接下来的内容,如果umask的部分位或全部位为奇数,那么,在对应为奇数的文件权限位计算结果分别再加1就是最终文件权限值。
目录权限计算
创建目录默认最大权限777(-rwx-rwx-rwx),默认创建的目录属主是有x权限,允许用户进入。
对于目录来说,umask的设置是在假定文件拥有八进制777权限上进行,目录八进制权限777减去umask的掩码数值。
文件权限的一般计算方法:
默认文件权限计算方法
1)假设umask值为:022(所有位为偶数)
6 6 6 ==>文件的起始权限值
0 2 2 - ==>umask的值
---------
6 4 4
2)假设umask值为:045(其他用户组位为奇数)----需要额外处理
6 6 6 ==>文件的起始权限值
0 4 5 - ==>umask的值
---------
6 2 1 ==>计算出来的权限。由于umask的最后一位数字是5,所以,在其他用户组位再加1。
0 0 1 +
---------
622 ==>真实文件权限
默认目录权限计算方法(不需要额外处理)
7 7 7 ==>目录的起始权限值
0 2 2 - ==>umask的值
---------
7 5 5
[svc]linux文件权限的更多相关文章
- 修改linux文件权限
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...
- Linux:文件权限
Linux:文件权限 1.文件权限 ☆文件所有者 ☆用户组 ☆其他人 ☆ROOT 说明: Linux系统中默认所有系统上的账号与一般身份用户,还有那个root的相关信息记录在/etc/passwd文件 ...
- Linux 文件权限总结
在 Linux 中最基本的任务之一就是设置文件权限.理解它们是如何实现的是你进入 Linux 世界的第一步.如您所料,这一基本操作在类 UNIX 操作系统中大同小异.实际上,Linux 文件权限系统就 ...
- Linux&shell 之Linux文件权限
写在前面:案例.常用.归类.解释说明.(By Jim) Linux文件权限用户useradd test (添加用户test)userdel test (删除用户test)passwd test(修改用 ...
- linux文件权限整理
网上对linux文件权限的已经很多,不过还是要自己整理一下,不然每次都要查资料. linux下所有东西都是文件,包括设备,所以这里的文件也包括文件夹. 先是查看文件权限:ls -lh xzc@xzc- ...
- 修改linux文件权限命令:chmod 【转载】
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. chmod 命令可以改变所有子目录的权限,下面有2种方法 改变一个文件的权限: chmod ...
- linux文件权限总结(创建root不可以删除文件、只可追加的日志文件等)
文件类型 对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的. 我们来看一下 ls 命令的输出结果 [root@iZ28dr6w0qvZ test]# ls -l 总用量 72 -rw- ...
- Linux 文件权限于目录配置
用户与用户组 我們以王三毛為例,王三毛這個『檔案』的擁有者為王三毛,他屬於王大毛這個群組, 而張小豬相對於王三毛,則只是一個『其他人(others)』而已. 不過,這裡有個特殊的人物要來介紹的,那就是 ...
- Linux文件权限与属性详解 之 SUID、SGID & SBIT
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
随机推荐
- 〖前端开发〗HTML/CSS基础知识学习笔记
经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构: HTML文件的固定结构: <html> <head>...</head> & ...
- CentOS7统计某个进程当前的线程数
方式一: cat /proc/[pid]/status 展示结果中,Threads后边对应的数字就是进程拥有的线程数量 方式二: |wc -l
- 阿里云ECS 利用快照创建磁盘实现无损扩容数据盘
在扩容数据盘时,若遇到磁盘原因导致无法无损的扩容时,可以临时购买一块独立云磁盘来存放数据,然后将数据盘彻底格式化来解决,以下是操作步骤: 1. 首先基于当前数据盘创建一个快照,备份数据,同时可以利用 ...
- 致Play Framework开发者们的一封信
2012/04/06 导读:3月中旬,Play Framework 2.0 正式版发布了.2.0 版本的主要新特性:内置对 Java 和 Scala 的支持.完全异步编程模型.侧重于类型安全.强大的 ...
- ext4文件系统的delalloc选项造成单次写延迟增加的分析
最近我们的服务进程遇到kill -15后处于Z的状态,变为了僵尸进程,经过/proc/{thread_id}/stack查看其上线程的栈,发现是卡在了fwrite的过程中,而我们的系统中所有文件系统挂 ...
- sql和hql的区别
转自:https://blog.csdn.net/lxf512666/article/details/52820368 hql是面向对象查询,格式:from + 类名 + 类对象 + where + ...
- java操作csv文档通用工具类
https://blog.csdn.net/rodge_rom/article/details/78898015 另: 参考该博主的关于FTP, EXCEL, WORD, 等工具类文章...
- Apache+PHP配置PATHINFO的一个小问题
使用ThinkPHP示例,设置'URL_MODEL' => 2,发现提示: No input file specified 应该是PATHINFO配置的问题,试 ...
- VS2010启动多个实例调试
项目中经常出现一个解决方案里面有多个程序,如果想按F5启动多个实例进行操作调试那该怎么操作呢? 以前自己都使用附加进程的方法调试,这样的调试不需要按F5,自己只要运行多个程序后,使用vs的附加进程到对 ...
- 使用ant优化android项目编译速度,提高工作效率
1.Android项目编译周期长,编译项目命令取消困难 2.在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作 3.在只进行资源文件的修改时,Eclipse对资源文件的修改 ...