File attributes and Authority of Linux
在Test目录下 输入 上面的命令,列出如上:
第一列X-XXX-XXX-XXX,这里显示的就是文件的权限。
w : 可写 r : 可读 x : 可执行
第二列的数字
连接着文件系统的i-node
第三列的firefox是文件持有的用户
第四列的firefox是文件持有的用户组
第五列是文件大小,单位是B
后面的比较简单,不介绍了。
对于第一列的第一个X (字符)代表这个文件是目录或者是文件或者是链接文件
[d]:目录 [-] : 文件 [l] : 链接文件
紧接着的XXX代表的是用户对文件操作的权限,接下来的XXX代表用户组对文件操作的权限,最后三个XXX是others对文件操作的权限。
拿第一个 hello文件来说,第一个[-]代表是文件,用户的权限是rwx,表示用户可读可写可执行,而用户组也是rwx,但是对于others权限是可读可执行,不能写。
改变文件的持有者
chown 命令将 File 参数指定的文件的所有者更改为 Owner 参数指定的用户。Owner 参数的值可以是可在 /etc/passwd 文件中找到的用户标识或登录名。还可以选择性地指定组。
-R : 改变目录下所有子目录用户持有者
只有 root 用户可以更改文件的所有者。只在您是 root 用户或拥有该文件的情况下才可以更改文件的组。如果拥有文件但不是 root 用户,则只可以将组更改为您是其成员的组。
输入以上命令后,看test.cpp文件的用户栏目(第三行),变成了root账户。
改变文件的用户组
chgrp 命令将与指定文件或目录相关联的组更改为指定组名或组标识号。Group 参数的值可以是可在 /etc/group 文件中找到的组标识或组名。
-R : 改变目录下所有子目录用户组
输入以上命令后,看main.cpp文件的用户组(第四行),变成了root账户。
修改文件的属性和权限
chmod命令来修改文件的读写执行属性。
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
上面的图就是表示 chmod命令的组合,比如
chmod u=rwx main.cpp //将 main.cpp文件的持有者权限设置成rwx
chmod a=rwx main.cpp //将 main.cpp文件所有用户权限设置成rwx
chmod g-w main.cpp // //将 main.cpp文件的用户组权限的 w 取消
chmod u=r main.cpp //将main.cpp文件的持有者权限设置成r–,不能读和执行
还有另一种改变权限的办法,在linux文件系统中规定
r : 4 w : 2 x : 1
rwx就是[4+2+1],rw-就是[4+2+0],-wx就是[0+2+1]
这样出现了下面的命令
chmod 707 main.cpp //将main.cpp文件持有者设置成rwx,用户组为—,others设置成rwx