Linux下文件权限与安全

1.概述

1.1为什么 要给文件设置权限?

为了防止未经授权的用户来访问你的文件,可以在文件和目录上设置权限。还可以设定文件 在创建时所具有的缺省权限:这些只是整个系统安全问题中的一小部分。本文只是简单介绍一下文件的权限与安全。

1.2文件 有哪些 属性?

一个文件包含以下信息,使用ls --l命令,可以查看文件的相关信息:

·文件的权限;

·文件的属主;

·文件的属主所在的缺省组;

·文件的更新时间;

·文件名;

1.3文件 的类型

d 目录。

l 符号链接(指向另一个文件)。

s 套接字文件。

b 块设备文件。

c 字符设备文件。

p 命名管道文件。

  • 普通文件,或者更准确地说,不属于以上几种类型的文件。

2.文件的 权限

2.1文件的权限分类

一个文件一经 创建,就具有三种访问方式:

  1. 读(r),可以显示该文件的内容。

  2. 写(w),可以编辑或删除它。

  3. 执行(x),如果该文件是一个s h e l l脚本或程序,可以执行该脚本。

按照所针对的用户,文件的权限可分为三类:

  1. 文件属主,创建该文件的用户。

  2. 同组用户,拥有该文件的用户组中的任何用户。

  3. 其他用户,即不属于拥有该文件的用户组的某一用户。

2.2 权限

在上一节中,使用ls --l查看文件的信息,第一项信息是一个长度为10的字符串,这个字符串便是文件的权限设置,其具体含义为:

第一个字符:表示文件的类型;

接下来的三个字符:表示文件属主的权限;

再接下来的三个字符:表示同组用户的权限;

最后三个字符:表示其他用户的权限;

其中:r 表示读权限;w表示写权限;x表示可执行权限;

2.2.1 创建文件

使用命令 touch myfile 创建一个文件,使用ls --l查看该文件的信息:

该文件的权限表示:文件类型属于普通文件,其属主具有读写权限、同组用户具有读写权限、其他用户只有可读权限;值得一提的是,在用户创建文件时,系统默认不会给文件设置执行权限,必须手动修改这一权限

2.2.2 修改文件权限

对于属于你的文件,可以按照自己的需要改变其权限位的设置。可以使用chmod命令来 改变文件权限位的设置。

chmod命令的一般格式为:

chmod [who] operator [permission] filename

其中:

who的含义是:

u 文件属主权限;

g 同组用户权限;

o 其他用户权限;

a 所有用户(文件属主、同组用户及其他用户 )。

operator的含义:

  • 增加权限;
  • 取消权限;

= 设定权限;

permission的含义:

r 读权限;

w 写权限;

x 执行权限;

s 文件属主和组set-ID;

t 粘性位*;

l 给文件加锁,使其他用户无法访问。

为file1的属主添加可执行权限:

chmod u+x file1

为file1的同组用户添加可执行权限:

chmod g+x file1

为其他用户添加写权限:

chmod o+w file1

2.2.3 chmod命令的绝对模式

chmod命令绝对模式的一般形式为:

chmod [mode] file

其中mode是一个八进制数。在绝对模式中,权限部分有着不同的含义。每一个权限位用一个八进制数来代表,如表所示:

|----------|----------|----------|
| 文件属主 | 同组用户 | 其他用户 |
| 0400 --r | 0040 --r | 0004 --r |
| 0200 --w | 0020 --w | 0002 --w |
| 0100 --x | 0010 --x | 0001 --x |

如:为属主赋予可读可写可执行权限,其mode值为,0400+0200+0100 = 0700;

常见的777权限就是对所有用户否赋予所有权限;

Chmod 777 file1

相关推荐
帅得不敢出门5 小时前
Ubuntu打开中文文本乱码
linux·运维·ubuntu·vim
pp-周子晗(努力赶上课程进度版)5 小时前
【计算机网络-传输层】传输层协议-UDP
linux·计算机网络·udp
only火车头6 小时前
mdadm 报错: buffer overflow detected
linux·mdadm·blktest
Flaming_1236 小时前
将develop分支的修改同步到main分支
linux·git·merge
weixin_428498496 小时前
使用 pgrep 杀掉所有指定进程
linux
rayylee6 小时前
Ubuntu也开始锈化了?Ubuntu 计划在 25.10 版本开始引入 Rust Coreutils
linux·ubuntu·rust
gxh19927 小时前
springboot微服务连接nacos超时
linux·后端·微服务·nacos
@电子爱好者7 小时前
Vscode+git笔记
linux·职场和发展
胡耀超7 小时前
内网渗透技术全面指南——安全业务视角(基于《内网渗透技术 (吴丽进、苗春雨 主编;郑州、雷珊珊、王伦 副主编)》)
linux·windows·安全·web安全·网络安全·内网渗透·安全治理
dancing9997 小时前
linux下的Redis的编译安装与配置
linux·运维·redis