【Linux】文件权限

Linux的每一个文件都跟多种类型相关联。在这些权限中,我们通常需要和三类权限打交道(用户、用户组以及其他实体)。

1.文件权限查看ls –l

Linux:/qinys # ls -l
total 60
-rwxr--r-- 1 root root   30 Jan 15 01:46 A.txt
-rw-r--r-- 1 root root   30 Jan 15 01:46 B.txt
-rw-r--r-- 1 root root    8 Jan 15 01:48 C.txt
-rw-r--r-- 1 root root   11 Jan 15 01:33 D.txt
drwxr-xr-x 2 root root 4096 Jan 15 04:33 a.sh
drwxr-xr-x 2 root root 4096 Jan 15 02:24 data

第一行:total 60 :告诉我们该目录所占用的空间;

第一列:第一个字母明确指出对象类型

"-" :普通文件

"d" :目录

"c" :字符设备

"b" :块设备

"l" :符号链接

"s" :套接字

"p" :管道

第二列:表示硬链接的数目

2.用户、用户组、其他用户权限

除去第一个字母,剩下的部分可以分为三段,每段3个字符;其中:

  • 第一段对应用户权限
  • 第二段对应用户组权限
  • 第三段对应其他用户权限

例如:-rw-r--r-- 1 root root   30 Jan 15 01:46 B.txt

-代表该文件问普通文件,rw-代表用户权限为可读写,r--代表用户组权限为可读,r--代表其他用户权限为可读

3.设置文件权限

3.1 一般授权

3.1.1 chmod命令的一般格式为:

chmod [who] operator [permission] filename

说明:

who的含义

u :指定用户权限

g :指定用户组权限

o :指定其他实体权限

a :表示所有(用户、用户组、其他实体用户)

operator的含义

+ 增加权限

-  删除权限

= 设定权限

permission的含义

r  读权限

w 写权限

x  执行权限

s  文件属主和组set-ID

t  粘性位*

l  给文件加锁,使其他用户无法访问

3.1.2 chmod命令举例

假如现在文件per.sh权限为rwx rwx rwx

Linux:/qinys # ls -lrt per.sh
-rwxrwxrwx 1 root root 0 Jan 17 15:05 per.sh

①收回所有用户组的执行权限

Linux:/qinys # chmod a-x per.sh
Linux:/qinys # ls -lrt per.sh
-rw-rw-rw- 1 root root 0 Jan 17 15:05 per.sh

②收回同用户组好其他用户组的写权限

Linux:/qinys # chmod go-w per.sh

Linux:/qinys # ls -lrt per.sh
-rw-r--r-- 1 root root 0 Jan 17 15:05 per.sh

③赋予同组用户写权限

Linux:/qinys # chmod g+w per.sh
Linux:/qinys # ls -lrt per.sh
-rw-rw-r-- 1 root root 0 Jan 17 15:05 per.sh

④赋予文件属主可执行权限

Linux:/qinys # chmod u+x per.sh
Linux:/qinys # ls -lrt per.sh
-rwxrw-r-- 1 root root 0 Jan 17 15:05 per.sh

⑤赋予同组用户和其他用户可执行权限

Linux:/qinys # chmod go+x per.sh
Linux:/qinys # ls -lrt per.sh
-rwxrwxr-x 1 root root 0 Jan 17 15:05 per.sh


3.1 八进制授权

也可以使用八进制来设置权限,权限由3位八进制数来表示,每一位按照顺序分别对应用户、用户组、其他用户

读、写和执行都有与之对应的八进制数

  • r--=4
  • -w-=2
  • --x=1

我们可以对权限进行组合,例如:可读可写权限

rw-=4+2

777表示的是:用户、用户组、其他用户都具有可读、可写、可执行权限

示例:chmod 777 filename #授予用户、用户组、其他用户都具有可读、可写、可执行权限

特殊:chmod 7 filename #将其他用户权限授予可读、可写、可执行,用户与用户组的权限则全部收回

image

可以使用-R选项连同子目录下的文件一起设置权限,但是需要谨慎,只有在需要改变目录树下全部文件权限时候才可以使用。

4.更改文件的所有权

使用chown命令进行修改

4.1 查看当前文件所属

Linux:/qinys/oliver # ls -l
total 4
---x--x--x 1 root root
    0 Jan 15 04:34 a.sh

当前文件所属为root 组为:root

4.2 修改所属,再次查看

Linux:/qinys/oliver # chown qinys:root a.sh

Linux:/qinys/oliver # ls -l
total 4
-------rwx 1 qinys root    0 Jan 15 04:34 a.sh

从上述结果我们可以看到,文件所属已经发生改变




posted @ 2019-01-15 18:21  OLIVER_QIN  阅读(296)  评论(0编辑  收藏  举报