多人多任务环境是Linux的重要特色之一,为了保证每个使用者的文件数据都较为保密,就有了文件权限管理的概念。一般将文件读取身份分为三个类别:owner/group/others,且三种身份各有read/write/execute权限。
一、使用者与群组
1.1文件拥有者
创建文件的用户
1.2群组
多个用户组成一个群组。每个账号可以有多个群组支持。
1.3其他人
拥有者与同一群组之外的其它账号。
1.4root
root用户具有最高管理权限,可操作、设置所有账号文件。su -切换root用户。
1.5记录文件
一般情况下,Linux上的账号信心包括root账号,都记录在/etc/passwd文件内,个人密码记录在/etc/shadow下,组名记录在/etc/group内。
二、文件权限
ls -al列出文件详细属性,如
ninja@DESKTOP-J4476BG:~$ ls -al
total 118056
drwxr-xr-x 1 ninja ninja 4096 Aug 24 20:21 .
drwxr-xr-x 1 root root 4096 Aug 12 14:31 ..
-rw------- 1 ninja ninja 878 Aug 25 10:23 .bash_history
-rw-r--r-- 1 ninja ninja 220 Aug 12 14:31 .bash_logout
-rw-r--r-- 1 ninja ninja 3771 Aug 12 14:31 .bashrc
drwxr-xr-x 1 ninja ninja 4096 Aug 12 14:31 .landscape
-rw-r--r-- 1 ninja ninja 0 Aug 28 19:32 .motd_shown
-rw-r--r-- 1 ninja ninja 807 Aug 12 14:31 .profile
-rw-r--r-- 1 ninja ninja 0 Aug 12 21:38 .sudo_as_admin_successful
drwxr-xr-x 1 ninja ninja 4096 Aug 12 14:36 .vscode-server
-rw-r--r-- 1 ninja ninja 183 Aug 12 14:36 .wget-hsts
drwxr-xr-x 1 ninja ninja 4096 Aug 24 20:07 Workspace
drwxr-xr-x 1 ninja ninja 4096 Aug 16 10:57 doc
-rw-r--r-- 1 ninja ninja 120876188 Aug 24 19:54 r104-RedTea.tar.gz
具体说明:
第一栏代表文件类型与权限(permission)
第一个字节代表文件类型:
-
:普通文件,包括纯文本文件(ASCII)、二进制文件(binary)、各种压缩文件等。d
:目录文件,也就是Windows中的目录,可以通过cd
命令进入。b
:块设备文件,即存储数据以供系统存取的接口设备,简单而言就是硬盘。c
:字符设备文件,即串行端口的接口设备,例如键盘、鼠标等。s
:套接字文件,通常用在网络数据连接。p
:管道文件,主要为了解决多个程序同时存取一个文件所造成的错误。l
:链接文件,类似Windows下面的快捷方式。
第二栏表示有多少个档名连接到此节点(i-node)
第三档代表这个文件(或目录)的拥有者账号
地四栏代表这个文件(或目录)的所属群组
第五栏为文件大小,默认单位bytes
第六栏为最近修改日期
第七栏为文件名
三、修改文件的属性与权限
主要命令:
- chgrp:改变文件所属群组
- chown:改变文件拥有者
- chmod:改变文件的权限
文件的权限字符可用数字代替
r:4
w:2
x:1
四、Linux目录配置
主要依据FHS标准,一般根据文件系统使用的频繁与否和是否允许使用者随意改动,定义成下面四种形态。