linux查看及修改文件权限以及相关
查看文件权限的语句:
在终端输入:
ls -l xxx.xxx (xxx.xxx是文件名)
那么就会出现相类似的信息,主要都是这些:
-rw-rw-r--
一共有10位数
其中: 最前面那个 - 代表的是类型
中间那三个 rw- 代表的是所有者(user)
然后那三个 rw- 代表的是组群(group)
最后那三个 r-- 代表的是其他人(other)
然后我再解释一下后面那9位数:
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
- 表示相应的权限还没有被授予
好了
现在该说说修改文件权限了
在终端输入:
chmod o+w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限
其中:
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
其中:rwx也可以用数字来代替
r ------------4
w -----------2
x ------------1
- ------------0
行动:
+ 表示添加权限
- 表示删除权限
= 表示使之成为唯一的权限
当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。
在终端里输入 ls -l 命令可以查看当前目录下某个文件或目录的权限,显示每行数据的第一个字段就是它的权限内容。第一个字段由10个字符组成,如:-rwxr-xr-x
第一位表示文件类型,-表示文件,d表示目录,后面的每三位字符分别表示三个不同用户组所具有的权限。
2-4位表示文件所有者的权限,即u(usesr)权限
5-7位表示文件所有者所属组成员的权限,g(group)权限
8-10位表示所有者所属组之外的用户的权限,o(others)权限
2-10位的权限总和有时称为a(all)权限
上面的那个字段,表示这是一个文件(非目录),文件所有者具有读、写和执行的权限,
所有者所属组成员和所属组之外的用户具有读和执行的权限而没有写的权限。
r、w和x也可以分别用4、2、1来代表,没有授予权限的则为0,这在修改权限时会比较方便。
linux下修改文件权限用chmod命令。
chmod命令有两种用法。一种是包含字母和操作符的表达式,即文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法chmod [who] [+ | - | =] [mode] 文件名
其中who可以是上面提到的u、g、o、a中的任一个或者它们的组合。操作符+、-、=分别代表添加某个权限、取消某个权限、赋予给定权限并取消其他所有权限(如果有的话)。
mood则是r、w、x的任一组合。
例如:chmod g+r,o+r fileName
表示给同组和其他用户添加对文件fileName的读权限。
2. 数字设定法则比较简单chmod [mode] 文件名
不用管是要添加什么权限,而是可以直接设定具有什么权限了,这里的mood是一个三位数,每位数字可以是1至7中的任一个,代表对应的某种用户类型的权限,如:
chmod 777 fileName
这个表示所有用户都具有fileName的所有权限,这是很危险的事。在linux中修改权限,要用到管理员权限,如ubuntu中要用sudo或者切换到root帐号。
chmod后面还可以带参数,主要有 -R(修改目录时要用到) -v(显示操作)。
如:chmod -R 755 dirName
把dirName下的所有文件及目录的权限修改为755,是一个对目录的递归操作。