您的位置:首页 > 运维架构 > Linux

Linux文件或目录权限详解

2017-04-29 21:18 453 查看
版权声明:
###########################################################################
本文的所有内容均来自作者刘春凯的学习总结,未经本人许可,禁止私自转发及使用。
QQ:1151887353
E-mail:dakai517@163.com
1151887353@qq.com
###########################################################################

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 用户组