Linux文件或目录权限详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux文件或目录权限详解相关的知识,希望对你有一定的参考价值。
###########################################################################
本文的所有内容均来自作者刘春凯的学习总结,未经本人许可,禁止私自转发及使用。
QQ:1151887353
E-mail:[email protected]
###########################################################################
Linux下的文件或目录权限详解
1.1权限介绍
1、linux下的文件或目录权限是由9个权限来控制的,每三位为一组,即文件属主(owner=主人=用户)的r、w、x;用户组(group=同组的=家人)的r、w、x;其他的人(other=外人=不在同一组)的r、w、x;
2、权限分组说明
3、r=read=4=cat; w=write=2=echo x=exexute=1 ‘-‘=没有权限;
特殊权限:t 、T、s、S、x、X、+等;
4、哪个用户创建的文件它的用户或者主人就是谁,文件的组是用户或者用户所在的组;
5、用户、组、权限都是相对于文件或目录的;
1.2创建模拟环境
1.2.1测试准备
groupadd incahome =在root下创建一个组即用户和文件的家; useradd oldboy -g incahome =在incahome组里添加用户; useradd oldgirl -g incahome = =在incahome组里添加用户; useradd test =创建组外的用户 若oldboy用户存在,则执行如下命令: usermod gincahome oldboy id oldboy ??? uid=500(oldboy) gid=500(oldboy) 组=500(oldboy) id oldgirl uid=509(oldgirl) gid=508(incahome) 组=508(incahome) id test uid=504(test) gid=504(test) 组=504(test)
1.2.2文件创建测试准备
mkdir /oldboy ===在root下创建 echo "echo oldboylinux.">/oldboy/test.sh 在root下创建文件,文件的用户和组都是root ls -l /oldboy/test.sh chmod +x /oldboy/test.sh =赋予脚本文件可执行权限;
测试一: 打开root、oldboy、oldgirl、test用户--克隆标签--su- 用户或者logout重登 ls -l /oldboy/test.sh ===send到四个会话框中logout -rwxr-xr-x 结论一: oldboy、oldgirl、test对于root用户或者root组(家)来说是other外人,所以三个用户看第三权限,即r和x,无法写
测试二: chown oldboy.incahome /oldboy/test.sh ===让oldboy成为文件的主人,incahome成为文件的家或组 ls -l /oldboy/test.shtxt ===在oldboy用户下 -rwxr-xr-x 1 oldboy incahome ...../oldboy/test.sh 结论:用户=主人的oldboy拥有r、w、x ls -l /oldboy/test.sh ==在oldgirl用户下 -rwxr-xr-x 1 oldboy incahome ...../oldboy/test.sh 结论:oldgirl用户拥有r和x,无法w,跟文件的主人oldboy同组,是用户组=家人 ls -l /oldboy.txt ===在test用户下 -rwxr-xr-x 1 oldboy incahome ...../oldboy/test.sh 结论:test=other,跟用户组oldgirl权限相同,有r和x,无法w
以上是关于Linux文件或目录权限详解的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段