Linux文件类型及权限

本文详细介绍了Linux系统中的文件和目录权限设置方法,包括查看、修改权限的命令及其使用技巧,并解释了默认权限的工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

权限

  • 针对文件:r-查看,w-修改,x-执行
  • 针对文件夹:r-列出文件夹下的所有文件和文件夹,w-在目录中创建和删除,x-进入目录

删除一个文件的前提:该文件所在目录拥有写权限

ls -l命令结果解析

示例:

-rw-r--r-- 1 root dev     0 Aug 12 16:49 1.txt
drwxr-xr-x 1 root dev   512 Jul 29 18:02 dir

使用ls -l命令查出文件信息,按空格划分,依次是:
文件类型及权限、链接数、文件属主、文件属组、文件大小(byte)、 建立或最近一次修改时间、文件名
其中,文件类型及权限这一部分共有十位:
1.第0位表示文件类型,常用的有:
- 表示文件
d 表示目录
l 表示链接文件
2.第1、2、3位表示属主权限,第4、5、6位表示属组权限,第7、8、9位表示其他用户权限
针对文件和目录,权限永远按rwx顺序表示,若没有对应权限,相应位上使用-表示

修改权限

chmod 权限数字的组合 文件名
权限数字说明:权限字母组合转换为二进制1,0组合,有字母的位用1表示,-的位用0表示,然后转换为十进制数字。如:
rwx组合对应的二进制为 111,转换为十进制7
rw-组合对应的二进制为 110,转换为十进制6
r-x组合对应的二进制为 101,转换为十进制5

例:chmod 777 1.txt 表示修改属主、属组、其他用户对1.txt文件的权限均为rwx(可读、可写、可执行)

修改文件或目录所在组

chgrp 目标组 文件或目录
chgrp test 1.txt 把1.txt文件所属组修改为test组

修改文件或目录拥有者

chown 目标用户 文件或目录
chown li4 dir 修改dir文件夹的拥有者li4

查看创建文件、目录的默认权限

umask命令执行后的结果是 0022
文件的默认权限是 666减去022等于644,也就是rw-r–r–
目录的默认权限是 777减去022等于755,也就是rwxr-wr-w

<think>嗯,用户想了解Linux系统中文件类型权限的相关知识。首先,我得回忆一下Linux的基础知识。记得Linux文件类型主要有普通文件、目录、符号链接、块设备、字符设备、套接字和管道这些类型。每种类型在`ls -l`命令中会显示不同的标识符,比如普通文件是“-”,目录是“d”,符号链接是“l”等等。这部分需要详细说明,并且给出例子,比如用`ls -l`命令输出中的第一个字符来辨别类型。 然后是文件权限部分。Linux权限分为读、写和执行,分别对应r、w、x。权限分为三个层次:所有者、所属组和其他用户。需要解释每个权限对文件和目录的不同影响,比如文件的执行权限允许运行,而目录的执行权限允许进入。数字表示法也很重要,比如755对应的权限组合,这里可能需要举例说明如何转换rwx到数字。 接下来是修改权限的命令,比如chmod、chown和chgrp。需要具体说明如何使用这些命令,比如用`chmod 755 filename`来设置权限,或者用符号模式`chmod u+x file`来添加执行权限。可能还需要提到特殊权限,如SUID、SGID和粘滞位,不过用户的问题里没有明确提到,但作为详解可能需要简要提及。 用户提供的参考引用里提到了文件类型权限的基础,但内容比较简略。我需要确保覆盖所有主要的文件类型权限细节,同时结构清晰,分点说明。可能还需要注意使用中文术语,避免专业术语翻译不当。 另外,用户的问题可能隐含了实际应用中的需求,比如如何设置权限来保障安全,或者如何识别不同类型的文件。因此,在回答中可以加入一些实际操作的例子,比如如何查看文件类型,如何修改目录权限等。 最后,生成相关问题时要围绕文件类型权限,考虑用户可能进一步想知道的内容,比如如何修改权限,特殊权限的作用,或者如何查看隐藏文件等。确保问题具有针对性,帮助用户深入理解。</think>### Linux文件类型权限详解 #### 一、Linux文件类型 Linux系统通过**第一个字符**标识文件类型,使用`ls -l`命令可查看: 1. **普通文件** (`-`) 例如文本文件、二进制可执行文件: `-rw-r--r-- 1 user group 1024 Jan 1 10:00 example.txt` 2. **目录** (`d`) 存储文件和其他目录: `drwxr-xr-x 2 user group 4096 Jan 1 10:00 documents/` 3. **符号链接** (`l`) 指向其他文件/目录的快捷方式: `lrwxrwxrwx 1 user group 11 Jan 1 10:00 link -> target_file` 4. **块设备** (`b`) 硬盘等块存储设备: `brw-rw---- 1 root disk 8, 0 Jan 1 10:00 sda` 5. **字符设备** (`c`) 串口等字符流设备: `crw-rw-rw- 1 root tty 5, 1 Jan 1 10:00 tty1` 6. **套接字** (`s`) 进程间通信接口: `srwxrwxrwx 1 user group 0 Jan 1 10:00 mysql.sock` 7. **管道** (`p`) 单向数据传输通道: `prw-r--r-- 1 user group 0 Jan 1 10:00 mypipe` #### 二、文件权限系统 通过`rwx`三组权限控制访问: ```bash -rwxr-xr-- 1 user group 2048 Jan 1 10:00 script.sh ↑ ↑↑↑ ↑↑↑ │ │││ ││└─ 其他用户:r-- │ │││ └─── 所属组:r-x │ ││└───── 所有者:rwx │ └└────── 文件类型标识符 ``` ##### 权限作用对比表 | 权限 | 文件 | 目录 | |------|------------------------------|-------------------------------| | r | 读取内容 | 列出目录内容(需配合x权限) | | w | 修改内容 | 创建/删除文件(需配合x权限) | | x | 执行程序 | 进入目录 | #### 三、权限修改命令 1. **数字模式** ```bash chmod 755 script.sh # rwxr-xr-x ``` | 数字 | 权限组合 | |------|----------| | 7 | rwx | | 5 | r-x | | 0 | --- | 2. **符号模式** ```bash chmod u+x,g-w,o=r script.sh # 所有者添加执行,所属组删除写,其他用户设只读 ``` 3. **所有权修改** ```bash chown user:group file # 同时修改所有者和所属组 chgrp developers file # 仅修改所属组 ``` #### 四、特殊权限 1. **SUID** (`4`) 程序运行时以所有者身份执行: `chmod 4755 /usr/bin/passwd` 2. **SGID** (`2`) 目录中新文件继承所属组: `chmod 2775 shared_dir/` 3. **粘滞位** (`1`) 限制目录文件删除(仅文件所有者可删): `chmod 1777 /tmp` [^1]: Linux基础权限模型参考自经典Unix权限系统设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值