首页 > 系统相关 >linux 文件与目录权限

linux 文件与目录权限

时间:2023-07-06 14:47:52浏览次数:41  
标签:文件 用户 chmod 目录 linux 权限 所有者

在 Linux 中,文件和目录权限是控制对其访问和操作的重要机制。每个文件和目录都有一组权限,用于定义不同用户对其执行读取、写入和执行等操作的权限级别。以下是对 Linux 文件和目录权限的详细讲解,并举例说明:

1. 文件权限:
- 文件权限包括读取(r)、写入(w)和执行(x)三种权限。
- 读取权限(r)允许用户查看文件的内容。
- 写入权限(w)允许用户修改文件的内容或在文件中创建新内容。
- 执行权限(x)允许用户以可执行文件的方式运行文件。

2. 目录权限:
- 目录权限的含义略有不同。读取权限(r)允许用户查看目录中的文件列表。写入权限(w)允许用户在目录中创建、删除或重命名文件。执行权限(x)允许用户进入目录。

3. 权限表示方式:
- 权限通过三个字符表示,每个字符表示一组权限:所有者权限、所属组权限和其他用户权限。
- 'r' 表示读取权限,'w' 表示写入权限,'x' 表示执行权限。
- '-' 表示没有相应的权限。

4. 更改文件和目录权限:
- 使用 chmod 命令可以更改文件和目录的权限。
- 使用数字表示法:每个权限字符分别对应一个数字,r=4,w=2,x=1。例如,权限为 rwxr-xr-- 可以用数字表示为 754。
- 使用符号表示法:+ 表示添加权限,- 表示移除权限,= 表示设置权限。例如,chmod u+x file.txt 表示给文件 file.txt 的所有者添加执行权限。

以下是一些具体的示例:

1. 更改文件权限示例:

- 给文件添加可执行权限:chmod +x script.sh

- 移除其他用户的写入权限:chmod o-w file.txt

- 设置文件权限为读取和执行,而其他权限为空:chmod u+rx,g=,o= file.txt

2. 更改目录权限示例:
- 给目录添加读取和执行权限:chmod +rx directory
- 移除所属组的写入权限:chmod g-w directory
- 设置目录权限为只有所有者有完全权限,其他用户无任何权限:chmod u=rwx,g=,o= directory    (u 表示文件的所有者(user)。它用来指定对文件所有者的权限进行修改。)

5.查看文件和目录权限:

使用 ls 命令可以查看文件和目录的权限。

通过 ls -l 命令可以以长格式显示文件和目录的详细信息,其中包括权限、所有者、所属组等信息。

6.文件所有者和所属组:

每个文件和目录都有一个所有者和一个所属组。

所有者是创建文件或目录的用户,而所属组是与所有者相关联的用户组。

使用 chown 命令可以更改文件和目录的所有者,使用 chgrp 命令可以更改所属组。

7.特殊权限:

除了基本的读取、写入和执行权限,还有一些特殊权限。

SUID(Set User ID)权限:允许用户以文件所有者的权限执行文件,常用于特定程序的执行。

SGID(Set Group ID)权限:允许用户以文件所属组的权限执行文件,常用于共享文件夹。

S位(Sticky Bit)权限:用于目录,使得只有文件所有者可以删除或移动自己的文件。

示例说明:

    1. 更改文件的权限为只有所有者可读写,其他用户无权限:chmod 600 file.txt
    2. 更改目录的权限为所有用户可读,但只有所有者和所属组可写:chmod 775 directory
    3. 更改文件所有者为 user1:chown user1 file.txt
    4. 更改目录所属组为 group1:chgrp group1 directory

8.文件和目录权限的数字表示法:

  • 文件和目录权限也可以使用数字表示法来设置和查看。
  • 每个权限对应一个数字:r(读取)= 4,w(写入)= 2,x(执行)= 1。
  • 将所有者、所属组和其他用户的权限数字相加,即可得到对应的数字表示权限。

9.默认权限和掩码:

  • Linux 中,新创建的文件和目录会自动继承默认权限。
  • 默认权限由系统的掩码(umask)确定,它指定了新文件和目录的默认权限。
  • 可以使用 umask 命令查看和更改默认权限。

10.ACL(Access Control List)访问控制列表:

  • ACL 是一种扩展权限机制,允许更细粒度地控制文件和目录的访问权限。
  • 使用 ACL,可以给除所有者和所属组之外的其他用户分配特定权限。
  • setfacl 和 getfacl 是用于设置和获取 ACL 的命令。

示例说明:

    • 将文件的权限设置为读取和执行权限,且所有者有写入权限,使用数字表示法:chmod 754 file.txt
    • 将目录的权限设置为读取和执行权限,所有者和所属组有写入权限,其他用户无权限,使用数字表示法:chmod 770 directory
    • 查看文件和目录的详细权限信息,使用长格式显示:ls -l file.txt
    • 查看默认权限掩码:umask
    • 设置默认权限掩码为 022:umask 022
    • 添加 ACL 权限,允许用户 bob 读取和写入文件:setfacl -m u:bob:rw file.txt

标签:文件,用户,chmod,目录,linux,权限,所有者
From: https://www.cnblogs.com/yund/p/17532078.html

相关文章

  • Linux 文件系统结构和组织
    Linux的文件系统结构和组织采用了层次化的树状结构,以下是对其进行详细说明并举例:根目录(/):根目录是整个文件系统的最顶层目录,所有其他目录和文件都位于根目录下。系统目录:/bin:存放系统所需的基本命令(二进制文件),如ls、cp、rm等。例如,/bin/ls是用于列出目录内容的命令。/......
  • Linux 基础操作
    登录和退出Linux系统:登录系统:使用用户名和密码登录到Linux系统,例如通过SSH(SecureShell)远程登录。退出系统:使用exit命令或者快捷键Ctrl+D退出当前登录会话。文件和目录管理:查看目录内容:使用ls命令列出当前目录下的文件和子目录。切换目录:使用cd命令进......
  • Rocky Linux 9 Minio 单机 Docker 部署
    1、DockerCE安装参考:https://www.cnblogs.com/a120608yby/p/9883175.html2、DockerCompose安装参考:https://www.cnblogs.com/a120608yby/p/14582853.html3、Minio部署#vimdocker-compose.ymlversion:'3.7'x-minio-common:&minio-commonimage:qua......
  • linux----使用rm -rf 删除大文件后磁盘空间并未释放的解决办法
    https://blog.csdn.net/redrose2100/article/details/129573059【原文链接】linux----使用rm-rf删除大文件后磁盘空间并未释放的解决办法(1)问题:当发现linux系统中存在大文件,磁盘空间快满了后,一般会使用rm-rfxxx将大文件删除,但是删除后通过df-h发现磁盘空间并未释放(2)解决......
  • Linux 错误: $'\r': command not found --九五小庞
    前段时间写脚本出现了$'\r':commandnotfound问题其实log报错已经非常明确了,是linux无法解析$'\r'。这其实是windows与linux系统的差异导致的。因为linux上的换行符为\n,而windows上的换行符为\r\n。所以脚本到linux上就无法解析了。通常的处理办法主要有2种:处理办法1setf......
  • Linux调优–I/O 调度器
    Linux 的I/O调度器是一个以块式I/O访问存储卷的进程,有时也叫磁盘调度器。LinuxI/O调度器的工作机制是控制块设备的请求队列:确定队列中哪些I/O的优先级更高以及何时下发I/O到块设备,以此来减少磁盘寻道时间,从而提高系统的吞吐量。i/o调度器是什么?Linux的I/O调......
  • Linux调优–I/O 调度器
    Linux 的I/O调度器是一个以块式I/O访问存储卷的进程,有时也叫磁盘调度器。LinuxI/O调度器的工作机制是控制块设备的请求队列:确定队列中哪些I/O的优先级更高以及何时下发I/O到块设备,以此来减少磁盘寻道时间,从而提高系统的吞吐量。i/o调度器是什么?Linux的I/O调......
  • Linux调优–I/O 调度器
    Linux 的I/O调度器是一个以块式I/O访问存储卷的进程,有时也叫磁盘调度器。LinuxI/O调度器的工作机制是控制块设备的请求队列:确定队列中哪些I/O的优先级更高以及何时下发I/O到块设备,以此来减少磁盘寻道时间,从而提高系统的吞吐量。i/o调度器是什么?Linux的I/O调......
  • 27.Linux命令大全
    1.基本命令uname-m显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读取操作系统信息arch显示机器的处理器架构uname-m显示机器......
  • 不同服务器(Linux)的环境(anaconda)迁移
    1.将服务器A的环境迁移到服务器B中使用命令scp首先,连接你当前的服务器ssh用户名@服务器ip地址然后输入你当前需要转移的环境目录scp-vrCA服务器文件名用户名@B服务器ip地址:文件名scp-vrC/home/jev/[email protected]:/home/jev等待传输即可参数名:-......