权限主要针对用户和用户组对于文件/文件夹的操作显示,只有拥有权限才能进行对应的相应设置,无权限则不可设置。
在linux查看一个文件夹的权限:
命令: ls
参数:ls -l 以列表的形式去查看,如图所示:
上述图中 红色区域就是权限组成情况。
权限信息中的字符串分别表示的意思:
如上图所示,权限共由10位组成:
1.第一部分 只有一个字符 有d和横线之分,d表示目录,横线表示文件
2.第二部分 第2~4个字符 表示文件所有者的权限情况(u表示 user)
3.第三部分 第5~7个字符 表示所有者同组的组内成员的权限情况(g表示 group)
4.第四部分 第8~10个字符 表示除上述两类人员的其它用户的权限情况(o表示 other)
1.通过字符形式设置权限
命令:chmod
语法:#chmod 权限组成信息 需要操作的对象(文件夹/文件)
需要注意,如果操作的对象是文件夹 则需要加上-r参数表示递归赋予权限。
权限的组成信息,将语法进行拆分:
第一个情况:针对单个对象(ugo)的拆分
给某个组成部分添加读权限:#chmod u+r,g+r,o+r 需要操作的文件/文件夹
给某个组成部分删减读权限:#chmod u-r,g-r,o-r 需要操作的文件/文件夹
第二个情况:设置全部的组成部分
可使用下面的语法:
chmod a+r 文件名 (表示给全部的组成部分加读权限)
chmod a-r 文件名 (表示给全部的组成部分取出读的权限)
chmod a=rwx 文件名 (表示给全部的组成部分权限设置成 可读 可写 可执行)
其中a表示全部(ugo的组合)
2.通过数字的形式设置权限
在linux权限体系中支持使用数字的形式来表示权限的信息,比如777表示全部的权限。
4表示读权限
2表示写权限
1表示执行权限
4+2+1=7
例如:如果说我想把demo.php这个文件的权限设置成所有者拥有全部权限,同组用户拥有读写权限,其它用户拥有读权限,则数字形式该写成:
全部权限 = 读+写+执行 = 4+2+1=7
读写权限 = 读+写 = 4+2 = 6
读权限 = 4
所以应是
chmod 764 demo.php
友情提示:在工作中不要出现一个奇葩权限:-wx 不要出现这样的权限,因为读权限是最基本的,而你想要写必须要打开文件。