38. 【Linux教程】Linux 修改文件权限

简介: 38. 【Linux教程】Linux 修改文件权限

前面小节介绍了用户权限相关的知识,从这一小节开始我们将要开始学习文件权限相关的知识,如何给文件修改权限,之前小节介绍过 ls 命令展示出来的一些文件相关的信息,这里面就有和文件权限相关的信息。


在 Linux 系统中,有时候某些文件内容不能修改,只能拥有只读权限,某些文件需要读写权限,即可以读,又可以写,某些文件需要可执行权限,这个时候若文件的相关权限不正确,就可能报错业务出错,因此需要对文件权限进行修改。

1. Linux 文件权限值

在上述权限中的文件读、写、执行权限信息中,对应着二进制数值,对应关系如下表: image.png

2. umask 命令

在 Linux 系统中创建一个新的文件或者目录的时候,它们都会有默认的访问权限,umask 命令则可以修改这些文件默认的访问权限。例如用户创建一个文件的默认访问权限为 rw-rw-rw-(八进制值666) ,创建目录的默认权限 rwxrwxrwx(八进制值777) ,而 umask 值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值。

2.1 umask 命令查看默认权限去除值

使用 umask 命令可以查看一个默认的权限信息,命令如下:

umask

执行结果如下图:

如上图所示,当前文件或目录权限相关的是默认去除值是 0022,其中第一位 0 表示的是一项特殊安全权限,暂且不讨论。


后面三位 022 则和普通权限 rwx 有关,其中后三位中的第一位 0 表示创建者/所有者相关的权限,表示从用户权限去掉 0 对应的权限 ---(不变),后三位中的第二位 2 表示用户组相关的权限,表示从用户组权限去掉 2 对应的权限-w-(写权限),后三位中的第三位 2 表示和其他用户的权限有关,表示其他用户的权限去掉 2 对应的权限 -w-(写权限)。


所以创建 文件 的默认八进制值 666(rw-rw-rw-) 去掉 022(----w--w-) 对应的相关权限之后为 644(rw-r--r--),创建 目录 的默认八进制值 777(rwxrwxrwx) 去掉 022(----w--w-) 对应的相关权限之后为 755(rwxr-xr-x),下面通过示例来验证一下:

umask
 
touch testfile
 
ls -l testfile
 
mkdir testdir
 
ls -l

执行结果如下图:

Tipsumask 命令展示出来表示从原来的默认值去除的权限值,新建文件默认的权限值是 666,新建目录的权限值是 777umask 命令展示的值是在这个基础之上去除的。

2.2 umask 命令修改默认去除权限

若想要新建的文件有指定的初始默认权限,可以使用 umask 命令,命令如下:

umask 226
 
umask

执行结果如下图:

新建文件默认的权限值是 666,新建目录的权限值是 777226 表示在这个基础上去除

-w--w-rw- 之后的权限。

3. chmod 命令

3.1 修改文件权限

新建一个文件 newfile,然后使用 chmod 命令修改文件权限,新建和修改文件权限命令如下:

touch newfile
 
ls -l newfile
 
chmod 777 newfile
 
ls -l newfile

执行结果如下图:

3.2 修改目录权限

使用 chmod 命令修改目录的权限,修改目录权限命令如下:

ls -l
 
chmod -R 755 study
 
ls -l

执行结果如下图:

3.3 chmod 命令限定权限

chmod 命令可以修改已经存在的文件或目录的权限,可以分别修改它们用户的权限、用户组的权限、其他用户的权限,也可以修改上述全部的权限,下图表示 chmod 权限相关的操作:

下面以新增文件其他用户写权限为例,命令如下:

ls -l testfile
 
chmod o+w testfile
 
ls -l testfile

执行结果如下图:

3.4 chmod 权限作用对象

  • u 表示用户;
  • g 表示用户组;
  • o 表示其他用户;
  • a 表示全部。

3.5 权限操作相关符号

  • + 表示在现有权限基础上增加权限;
  • - 表示在现有权限基础上移除权限;
  • = 表示在现有权限基础上设置成等号后的权限。

3.6 权限设置值

  • r 表示读权限;
  • w 表示写权限;
  • x 表示执行权限。

4. 小结

本小节介绍了文件或目录权限相关的命令,新建的文件权限默认是 rw-rw-rw-,新建目录权限默认是 rwxrwxrwx,使用 umask 命令可以对新建的文件或目录的权限去除某些特定的权限。还介绍了 chmod 命令直接配合八进制权限值修改文件或目录的权限,也可以使用限定符在原来权限基础上增加、移除、设定某些权限。


相关文章
|
3天前
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
29 1
linux centos上安装python3.11.x详细完整教程
|
1月前
|
Ubuntu 网络协议 Linux
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
271 2
|
1天前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
30天前
|
安全 Linux
Linux查看和剔除当前登录用户详细教程
Linux查看和剔除当前登录用户详细教程
27 0
Linux查看和剔除当前登录用户详细教程
|
1月前
|
Linux 网络安全 数据安全/隐私保护
使用宝塔Linux搭建DVWA靶场保姆级教程
这是一篇详细的教程,作者基于其在Web渗透测试领域的学习经验,利用宝塔Linux面板搭建了DVWA靶场。从安装Linux宝塔面板到通过Docker运行DVWA容器,每一步都有详尽的文字描述和配图指导,确保读者能够顺利地进行实践操作,非常适合初学者快速上手并掌握相关技能。
|
1月前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
26 2
|
1月前
|
Linux 开发工具
在Linux中,文件权限有哪些?有什么作用?
在Linux中,文件权限有哪些?有什么作用?
|
1月前
|
Ubuntu 网络协议 Linux
Linux下快速搭建七日杀官方私人服务器教程
本文提供了一份详尽的《七日杀》服务器搭建指南,专为Linux系统设计。教程分为九大部分,涵盖从前期准备到服务器维护的全过程。主要内容包括:选择具备公网IP的云服务器、安装Ubuntu 20 X64系统、下载SteamCMD等必备软件;详细指导如何配置服务器、设置防火墙及端口规则、启动与关闭服务器;此外还提供了服务器管理、环境配置(如设置swap分区)等实用技巧。适合有一定Linux基础的玩家参考实践。
|
1月前
|
Linux 数据安全/隐私保护
在Linux中,什么是文件权限?什么是rwx权限模型?
在Linux中,什么是文件权限?什么是rwx权限模型?
|
1月前
|
Linux 数据安全/隐私保护
Linux文件权限
Linux文件权限