Linux设置文件和目录权限方式

一、文件和目录的访问和归属权限

Linux设置文件和目录权限方式

Linux设置文件和目录权限方式

1.访问权限

  • 读取权限(r)允许查看文件内容;显示目录列表
  • 写入权限(w)允许修改文件内容;允许在目录中新建、移动、删除文件或子目录
  • 执行权限(x)允许运行程序;切换目录

访问权限用八进制数表示为:

Linux设置文件和目录权限方式

注意

  • 文件夹的最小权限是x,一定要带上否则无法进行任何操作,超级管理员不受影响。
  • 删除一个文件和所在文件夹权限有关,和自身没关系,超级管理员不受影响。

2.归属权限

  • 属主:用有该文件或目录的用户
  • 属组:用有该文件或目录的用户组

二、设置文件和目录的访问和归属权限

1.设置访问权限(两种方式)

(1)字符表示法

[root@localhost ~]# chmod [ugoa] [=+-] [rwx] 文件或目录...

u 属主 g 属组 o 其他用户 a 所有

= 赋予...权限 + 加上...权限 - 去掉...权限

-R //递归修改指定目录下所有文件、子目录的权限
//创建一个文件,查看其权限
[root@localhost data]#touch 1.txt
[root@localhost data]#ll 1.txt
-rw-r--r--. 1 root root 0 7月  31 16:22 1.txt


//其他加上写入权限
[root@localhost data]#chmod o+w 1.txt
[root@localhost data]#ll 1.txt
-rw-r--rw-. 1 root root 0 7月  31 16:22 1.txt

//属组赋予写入执行权限
[root@localhost data]#chmod g=-wx 1.txt
[root@localhost data]#ll 1.txt
-rw----rw-. 1 root root 0 7月  31 16:22 1.txt

//所有赋予读写执行权限
[root@localhost data]#chmod a=rwx 1.txt
[root@localhost data]#ll 1.txt
-rwxrwxrwx. 1 root root 0 7月  31 16:22 1.txt

(2)数字表示法

[root@localhost ~]# chmod nnn 文件或目录...
//创建目录
[root@localhost data]#mkdir -p aa/bb
[root@localhost data]#ll aa
总用量 0
drwxr-xr-x. 2 root root 6 7月  31 16:39 bb

//修改bb权限为644
[root@localhost data]#chmod 644 aa/bb
[root@localhost data]#ll aa
总用量 0
drw-r--r--. 2 root root 6 7月  31 16:39 bb

//修改bb权限为777
[root@localhost data]#chmod 777 aa/bb
[root@localhost data]#ll aa
总用量 0
drwxrwxrwx. 2 root root 6 7月  31 16:39 bb

2.设置归属权限

[root@localhost ~]# chown 属主 文件或目录

:属组 文件或目录

属主:属组 文件或目录

-R //递归修改指定目录下所有文件、子目录的归属
//更改aa属主和属组
[root@localhost data]#chown root:hx aa
[root@localhost data]#ll .
总用量 0
drwxr-xr-x. 3 root hx 16 7月  31 16:39 aa

//递归更改aa及目录下子目录和文件属组
[root@localhost data]#chown :root aa
[root@localhost data]#ll -R .
.:
总用量 0
drwxr-xr-x. 3 root root 16 7月  31 16:39 aa

./aa:
总用量 0
drwxrwxrwx. 2 root root 6 7月  31 16:39 bb

./aa/bb:
总用量 0

三、权限掩码umask

1.作用

  • 控制新建的文件或目录的权限
  • 默认权限减去umask的数值为新建文件或目录的权限(文件用6减;目录用7减 因为目录默认有执行权限 值为1)

umask默认值为022

普通文件落地权限默认不能有执行(x)权限,所以权限值不会为奇数

2. 查看umask

[root@localhost data]# umask
0022

3.修改umask

[root@localhost data]# umask 数值

四、特殊权限

1.suid

[root@localhost aa]# which passwd
/usr/bin/passwd
[root@localhost aa]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd -- 此处s表示当使用这个命令程序时,把当前用户当成文件的所属主
[root@localhost aa]#which vim
/usr/bin/vim
[root@localhost aa]# chmod u+s /usr/bin/vim -- 给vim加上suid权限,代表所有用户可以使用vim打开并编辑所有文件
[root@localhost aa]# ll /usr/bin/vim
-rwsr-xr-x. 1 root root 2289640 8月 2 2017 /usr/bin/vim

2.sgid

[root@localhost aa]# chmod g+s /usr/bin/vim -- 此处s表示当使用这个命令程序时,把当前用户组当成文件的所属组
[root@localhost aa]# ll /usr/bin/vim
-rwxr-sr-x. 1 root root 2289640 8月 2 2017 /usr/bin/vim

3.Sticky位

//具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
在目录设置Sticky位,只有文件的所有者或root可以删除该文件
//sticky 设置在文件上无意义,只对目录有效

[root@localhost aa]#chmod o+t /opt/aa -- 添加Sticky位

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持恩蓝小号。

原创文章,作者:LUECA,如若转载,请注明出处:https://www.wangzhanshi.com/n/827.html

(0)
LUECA的头像LUECA
上一篇 2024年12月17日 17:59:33
下一篇 2024年12月17日 17:59:35

相关推荐

  • 详解Linux下挂载新硬盘方法

    Linux的硬盘识别: 一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘 设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息. 1.关闭服务器加上新硬盘 2.启动…

    Linux 2025年1月1日
  • Linux线程退出方式总结(推荐)

    在编写多线程代码时,经常面临线程安全退出的问题。 一般情况下,选择检查标志位的方式: 在线程的while循环中,执行完例程后,都对标志位进行检查,如果标志位指示继续执行则再次执行例…

    2025年1月1日
  • Linux实现301重定向和伪静态方法

    在网上查询了一下还没有人分享linux主机如何通过.htaccess文件同时实现301重定向和伪静态的,为帮助朋友少走弯路,特以把经验分享一下。 用pw做了一个新站,备案审核通过,…

    2025年1月1日
  • PHP程序员玩转Linux系列 lnmp环境搭建

    PHP程序员玩转Linux系列文章: 1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统…

    2025年1月1日
  • Linux 重命名命令自制详细介绍

    Linux 重命名命令 相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。 …

    Linux 2025年1月1日
  • 详解linux根目录空间不足解决方案

    1. 前言 之前新建了个ubuntu虚拟机来构建golang开发环境以及用来运行docker,跟虚拟机分配了20g的空间并挂载到了根目录,但是后来由于用到的镜像越来越多,20g的空…

    2025年1月1日
  • Linux磁盘格式化命令详解

    命令:mke2fs mke2fs [选项] 文件系统 磁盘盘符= 注释: 1、磁盘虽然分好区了,但是还不能用,还需要在这每一个分区上格式化,所谓格式化,其实就是安装文件系统,win…

    2025年1月1日
  • 为什么你应该安装使用 Arch Linux

    Arch Linux 无疑是 Linux 高级用户最好的发行版之一。但是在安装 Arch 之前,您应该了解一些关于 Arch 的事情。安装大多数 Linux 发行版时,您只需下载 …

    2025年1月1日
  • linux中的分号和&,|和||说明与用法

    在用linux命令时候,我们可以一行执行多条命令或者有条件的执行下一条命令,下面我们讲解一下linux命令分号&&和&,|和||的用法 “;”分号用法 方式…

    Linux 2025年1月1日
  • apache中的Worker 和 Prefork 之间的区别解析

    apache中的Worker 和 Prefork 之间的区别 Apache中的Worker和Prefork两种工作模式在内存使用、稳定性以及兼容性等方面存在区别 内存使用 Work…

    Linux 2024年12月17日

发表回复

登录后才能评论