linux文件权限详解

产品型号:Thinkpad E15

系统版本:centos8

linux文件权限详解


linux文件权限详解
文章插图
文章插图

【linux文件权限详解】[root@xuegod63 ~]# ll /etc/passwd

-rw-r--r--. 1 root root 2053 9月  19 2017 /etc/passwd

文件权限基本解释:

-        rw-        r--       r--.     1 root root 2053 9月  19 2017 /etc/passwd

 其中:文件类型,可以为p、d、l、s、c、b和 –

p表示命名管道文件

d表示目录文件

l表示符号连接文件

-表示普通文件

s表示socket套接口文件,比如我们启用mysql时,会产生一个mysql.sock文件

c表示字符设备文件,例: 虚拟控制台 或tty0

b表示块设备文件   例: sda,cdrom

例:

[root@xuegod63 ~]# ll /dev/sda /dev/cdrom  /etc/passwd /dev/tty0

lrwxrwxrwx  1 root root    3 9月  19 2017 /dev/cdrom -> sr0

brw-rw----  1 root disk 8, 0 9月  19 2017 /dev/sda

crw--w----  1 root tty  4, 0 9月  19 2017 /dev/tty0

-rw-r--r--. 1 root root 2053 9月  19 2017 /etc/passwd   如下效果图:

 权限说明

对于文件来说:

r:读cat

w:写vim echo

x:执行运行命名或者脚本

对于目录来说:

r:读(看到目录里面有什么)   ls

w:在目录里面建文件,删除,移动  touch mkdir  rm  mv cp

x:进入 cd 

文件拥有者

UGO:所有者--用户组--其它用户

所有者: 就是创建文件的用户,这个用户拥有对它所创建的文件的一切权限,所有者可以允许其所在的用户组可以访问所有者的文件 。

用户组: 用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限 。这就是用户组 。

其它用户:系统内的其他所有者用户就是other用户类

常见几种文件权限组成

- rwx --- ---:文件所有者对文件具有读取、写入和执行的权限 。

- rwx r-- r--: 文件所有者具有读、写与执行的权限,用户组里用户及其他用户则具有读取的权限

- rw- rw- r-x:文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限 。

drwx--x—x: 目录所有者具有读写与进入目录的权限,其他用户近能进入该目录,却无法读取任何数据 。

drwx------: 除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限 。

举例如下:

每个用户都拥有自己的专属目录,通常放置/home下

[root@xuegod63 home]# ll /home/

总用量 0

drwx------. 3 user1 user1 78 9月  19 2017 user1

注: [rwx------]表示目录所有者本身拥有的权限,其它用户是无法进入的 。root可以 。

例2: 你以什么用户身份登录,那么你创建的文件或目录,自动成为该文件的所属主和组

[root@xuegod63 home]# su -user1

上一次登录:二 9月 19 12:57:21 CST 2017:0 上

[user1@xuegod63 ~]$ 

[user1@xuegod63 ~]$ touch a.txt

[user1@xuegod63 ~]$ ll a.txt 

-rw-rw-r-- 1 user1 user1 0 5月   8 20:58 a.txt


linux文件权限详解
文章插图
文章插图

总结:

文件权限基本解释:

-        rw-        r--       r--.     1 root root 2053 9月  19 2017 /etc/passwd

 其中:文件类型,可以为p、d、l、s、c、b和 –

p表示命名管道文件

d表示目录文件

l表示符号连接文件

-表示普通文件

s表示socket套接口文件,比如我们启用mysql时,会产生一个mysql.sock文件

c表示字符设备文件,例: 虚拟控制台 或tty0

b表示块设备文件   例: sda,cdrom

    推荐阅读