1 文件目录权限
针对于文件或目录而言,我们对其进行操作,无非就是读写执行, 那么,它的权限,自然也只有
读写和执行了。
在linux中的读写执行,是用这三个字母分别表示的 r w x (write read exe)
怎么看一个文件的相关权限呢?
ls -l file 或dir 也可以直接用:
ll file 或dir
如:
nfyx@nfyx:~/test/99$ ls -l bb
-rw-rw-r-- 1 nfyx nfyx 0 10月 25 14:17 bb
nfyx@nfyx:~/test/99$ ll bb
-rw-rw-r-- 1 nfyx nfyx 0 10月 25 14:17 bb
这里是查看的文件,而这个
-rw-rw-r--,就是表面的文件权限
前面的第一个-小的一横,之前在文件类型上说过(linux的文件类型)
剩下的
-rw-rw-r--,这表示不同的用户组所拥有的权限。
第一个 rw-, 表示拥有者所拥有的权限(可以理解为文件创建者,所拥有的权限)
第二个 rw-, 表示文件所属组,所拥有的权限,即(创建都所属的那个用户分组)
第三个 r-- , 表示的是其它用户所拥有的权限。
而这里的
rw-rw-r--
所表示的是:创建者拥有 读写权限、所属用户组拥有 读写权限 、其它用户只拥有读的权限
其它的就都类似。
如何改变一个文件的权限?
有两种方式 (字母加减和数字)
用到的命令:
chmod
a: 字母加减
首先要知道 a=all u=user g=group o=other,这表示的用户或用户组
案例:
nfyx@nfyx:~/test/chmod$ ll aa
-rw-rw-r-- 1 nfyx nfyx 0 10月 25 17:55 aa
nfyx@nfyx:~/test/chmod$ chmod u+x aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxrw-r-- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod g+x aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxrwxr-- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod o+x aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxrwxr-x 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod a-w aa
nfyx@nfyx:~/test/chmod$ ll aa
-r-xr-xr-x 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod go-x aa
nfyx@nfyx:~/test/chmod$ ll aa
-r-xr--r-- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod u-x aa
nfyx@nfyx:~/test/chmod$ ll aa
-r--r--r-- 1 nfyx nfyx 0 10月 25 17:55 aa
nfyx@nfyx:~/test/chmod$ chmod a+w aa
nfyx@nfyx:~/test/chmod$ ll aa
-rw-rw-rw- 1 nfyx nfyx 0 10月 25 17:55 aa
nfyx@nfyx:~/test/chmod$
这样子,就可以把文件的权限进行相关的更改。
b 用数字表示
在这里我们得先知道 r=4 w=2 x=1,知道这之后就可以进行权限更改了,
那么,这里的rwx,一共有3 组,也就是有3组数字。
第一组表示 用户user的权限 (0-7)最大7(r+w+x)最小0
第二组表示 用户所在组的权限(0-7)最大7(r+w+x)最小0
第三组表示 其它用户的权限(0-7)最大7(r+w+x)最小0
案例:
nfyx@nfyx:~/test/chmod$ ll aa
-rwxrwxrwx 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$chmod 751 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxr-x--x 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod 007 aa
nfyx@nfyx:~/test/chmod$ ll aa
-------rwx 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod 710 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwx--x--- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod 755 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxr-xr-x 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod 000 aa
nfyx@nfyx:~/test/chmod$ ll aa
---------- 1 nfyx nfyx 0 10月 25 17:55 aa
nfyx@nfyx:~/test/chmod$ chmod 777 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxrwxrwx 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$
即: 这里的数字总合,就是r+w+x 的总合,即 r+w+x=4+2+1=7 表示拥有读写执行的权限
r+w =4+2=6 表示只拥有 读写的权限
r+x = 4+1 表示只拥有 读和执行的权限
r=4 表示只拥有读的权限
这样子就可以组合为:654
如:
nfyx@nfyx:~/test/chmod$ chmod 654 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rw-r-xr-- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$
这样子,改变文件的权限差不多,就应该没什么 大问题了。
既然能改变文件权限,那么,就可以改变用户所属关系。
如何改变用户所属,或用户组???
2 文件所有者属性,或文件 拥有者相关属性
先看一个例子:
nfyx@nfyx:~/test/chmod$ ll aa
-rw-r-xr-- 1 nfyx nfyx 0 10月 25 17:55 aa*
这里的两个 nfyx nfyx 代表的是什么呢?
第一个nfyx 代表文件属于哪个用户的
第二个nfyx代表文件属于哪个用户组的。
如何改变?
改变拥有者(所有者),即改变为另外一个用户的。(前提:必需是已经存在的用户)
用到的命令:
chown
案例1:
root@nfyx:/home/nfyx/test/chmod# ll aa
-rw-r-xr-- 1 nfyx nfyx 0 10月 25 17:55 aa*
root@nfyx:/home/nfyx/test/chmod# chown root aa
root@nfyx:/home/nfyx/test/chmod# ll aa
-rw-r-xr-- 1 root nfyx 0 10月 25 17:55 aa*
chown user file或dir (改变用户所有者)
案例2:
root@nfyx:/home/nfyx/test/chmod# ll aa
-rw-r-xr-- 1 root nfyx 0 10月 25 17:55 aa*
root@nfyx:/home/nfyx/test/chmod# chgrp root aa
root@nfyx:/home/nfyx/test/chmod# ll aa
-rw-r-xr-- 1 root root 0 10月 25 17:55 aa*
root@nfyx:/home/nfyx/test/chmod#
chgrp group file 或dir (改变用户所属组)
案例3: 若要让目录下的所有文件都跟着改变怎么办?
root@nfyx:/home/nfyx/test/chown# touch aa/{file,file1} 在目录aa 下建立两个文件
root@nfyx:/home/nfyx/test/chown# ll aa/
总用量 8
drwxr-xr-x 2 root root 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 root root 0 10月 25 19:54 file
-rw-r--r-- 1 root root 0 10月 25 19:54 file1
root@nfyx:/home/nfyx/test/chown# chown -R nfyx aa/ (用chown -R dir 改变文件递归,加R参数)
root@nfyx:/home/nfyx/test/chown# ll aa
总用量 8
drwxr-xr-x 2 nfyx root 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 nfyx root 0 10月 25 19:54 file
-rw-r--r-- 1 nfyx root 0 10月 25 19:54 file1
改变用户组也是一样的,例如:
root@nfyx:/home/nfyx/test/chown# chgrp -R nfyx aa/
root@nfyx:/home/nfyx/test/chown# ll aa
总用量 8
drwxr-xr-x 2 nfyx nfyx 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 nfyx nfyx 0 10月 25 19:54 file
-rw-r--r-- 1 nfyx nfyx 0 10月 25 19:54 file1
root@nfyx:/home/nfyx/test/chown#
若要同时改变用户和用户组,可以这样写:
root@nfyx:/home/nfyx/test/chown# chown -R root:root aa
root@nfyx:/home/nfyx/test/chown# ll aa
总用量 8
drwxr-xr-x 2 root root 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 root root 0 10月 25 19:54 file
-rw-r--r-- 1 root root 0 10月 25 19:54 file1
root@nfyx:/home/nfyx/test/chown#
单独改一个也可以
root@nfyx:/home/nfyx/test/chown# chown root:nfyx aa
root@nfyx:/home/nfyx/test/chown# ll aa
总用量 8
drwxr-xr-x 2 root nfyx 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 root root 0 10月 25 19:54 file
-rw-r--r-- 1 root root 0 10月 25 19:54 file1
root@nfyx:/home/nfyx/test/chown#
即:
chown user:group file 或dir
chown -R user:group dir
以上,就是对文件所有者和用户组,的改变。
2017.10.25