Linux知识库
Linux基础知识!
Linux格式化硬盘以及格式化分区
linux基础常用知识
linux更换yum源
linux挂载windows SMB共享目录
linux开机启动级别
linux网卡配置
linux配置SMB服务
CentOS 8 firewalld配置
Linux软件管理:RPM软件包与YUM管理
Linux用户与组概念
Linux文件与目录权限基础
Linux计划任务管理
Linux中文本文件内容的查看
Linux基础-服务(service)和systemd管理服务
Vim编辑器基本操作
apt更换国内源
Linux程序服务!
Code-server在线编程服务器部署
Cloudreve网盘搭建
Emby多媒体影音系统搭建
chevereto图床搭建教程
Frp内网穿透服务器搭建
FTP服务器搭建
gitlab服务器搭建
Plex搭建
syncthing同步服务器搭建
Wordpress博客搭建
Typecho博客搭建
zabbix搭建(失败)
Aria2离线下载服务器搭建
KMS激活服务器搭建
CentOS搭建NTP服务
Grafana部署与Zabbix集成,部署开源IT系统监控平台
Linux应用环境搭建配置!
nginx编译安装
PHP8编译安装
Linux 关闭selinux
yum安装redis数据库
宝塔环境无法删除.user.ini
宝塔面板安装
mysql8.0.29编译安装
nginx安装(yum方式)
Linux系统基础知识
Linux命令行基础知识
使用Cerbot申请免费证书
ModSecurity 安装编译与连接nginx
Zabbix6.4.8安装部署
本文档使用 MrDoc 发布
-
+
首页
Linux文件与目录权限基础
上一章学习了Linux用户与组的概念,以及创建用户和组,修改信息等,这次需要将用户应用在实际中,Linux系统中一切皆文件,文件也是基于用户进行权限管理的,因此需要了解文件与目录的权限管理基础。 ## 一、文件与目录权限基础 ### 1.1、文件的权限 在实际中我们通过ls命令,ls是list的意思,添加选项参数查询文件与目录的详细信息。 ```linux [root@localhost ~]# ls -la 总用量 3622728 dr-xr-x---. 13 root root 4096 12月 18 14:26 . dr-xr-xr-x. 19 root root 268 12月 18 13:21 .. drwxr-xr-x 6 root root 269 10月 24 16:59 alexanderzobnin-zabbix-app -rw-------. 1 root root 1811 8月 27 2022 anaconda-ks.cfg -rw-r--r--. 1 root root 176 5月 11 2019 .bashrc drwx------ 3 root root 17 12月 29 2022 .cache -rw-r--r--. 1 root root 100 5月 11 2019 .cshrc -rw-r--r-- 1 root root 42910 10月 24 14:11 defaults.ini drwx------ 3 root root 20 12月 21 2022 .docker -rw------- 1 root root 28 12月 18 14:26 .lesshst -rw-r--r-- 1 root root 1127290 9月 5 09:25 ModSecurity-3-master.zip -rw-r--r-- 1 root root 34895 5月 21 2022 modsecurity-nginx-v1.0.3.tar.gz drwxrwxr-x 12 keli keli 4096 9月 5 14:01 modsecurity-v3.0.10 lrwxrwxrwx 1 root root 3 9月 22 2021 vimdiff -> vim 每一列的意思分别如下: [文件类型与权限][链接][拥有者][用户组][文件大小][修改日期][文件名称] ``` 1、[文件类型与权限],每个文件第一列由十个字符构成,第一列显示文件、目录、链接文件类型,-为文件,d为目录,l为链接文件,类似windows的快捷方式。 文件权限格式为[rwx][rwx][rwx],9个字符分为3段,每段分为r读取,w编辑,x执行,第一段为文件拥有者权限,第二段为用户组成员权限,第三段为其他人的权限,如果没有权限使用-代表。 示例分析: ```linux # rwx字符位置是固定的,没有对应的权限使用-字符表示 -rw-r--r--. 1 root root 176 5月 11 2019 .bashrc - :表示这是一个文件 rw- :表示root用户有读取和编辑的权限,没有执行的权限,其实root有权对所有文件进行设置权限 r--:表示root用户组的其他人只有查看的权限 r--:除了root和root组的成员,其他人也能查看 ``` 2、[链接]表示下级链接的文件,如果是目录代表目录里面的文件和子目录 3、[拥有者]表示该文件的所有者 4、[用户组]表示该文件或目录所属的用户组 5、[文件大小]表示文件或者目录的大小,可以通过ls选项显示不同单位查看,K,M,G等 6、[修改日期]表示或者目录的最后修改日期 7、[文件名称]文件或目录的名称 文件的权限为: - r:可以通过ls查看到该文件 - w:可以写入,编辑文件 - x:可以执行该文件,涉及到文件类型后面讲解,如果是文本类型文件不需要x权限 ### 1.2、目录的权限 目录的权限与文件基本一致,但是目录的x权限表示能否通过cd进入该目录。 示例: ```linux # 切换chuck用户,查看/root,默认是---,表示其他用户无法进入该目录 [chuck@localhost /]$ ls -la 总用量 28 dr-xr-x---. 13 root root 4096 12月 21 11:19 root [chuck@localhost /]$ cd /root bash: cd: /root: 权限不够 ``` ### 1.3、修改编辑权限 默认root用户可以修改所有文件权限,普通用户对自己所有者的文件有权限修改。 常用的修改命令: chown:修改文件的拥有者,默认用户创建的文件以自身为用户和用户组 ```linux [root@localhost opt]# touch test.txt [root@localhost opt]# ls -la -rw-r--r-- 1 root root 0 12月 21 11:56 test.txt # 使用chown修改所有者 [root@localhost opt]# chown chuck test.txt [root@localhost opt]# ls -la -rw-r--r-- 1 chuck root 0 12月 21 11:56 test.txt ``` chgrp:修改文件或目录的所属组 ```linux # 使用chgrp修改用户组,使用-R选项将目录和下级文件和目录都修改 [root@localhost opt]# chgrp it-group test.txt [root@localhost opt]# ls -la test.txt -rw-r--r-- 1 chuck it-group 0 12月 21 11:56 test.txt ``` 上面是修改用户和组的命令,但是没有对具体的rwx进行修改。 使用chmod修改文件和目录的权限。格式为chmod [权限] 文件或目录 权限有两种表示方式: - 数字格式 - 字符格式 数字格式:上次讲过文件的权限分为[用户][用户组][其他人],每个集合有[rwx]三个权限。数字表示将rwx字符对应为一个数字,分别将三个集合的数字进行相加就是文件的权限了。 对应关系: | 权限 | 值 | 作用 | | --- | --- | ---| | r | 4 |读取| | w | 2 |编辑写入| | x | 1 |执行| 示例: ```linux -rw-r--r-- 1 chuck it-group 0 12月 21 11:56 test.txt 第一个字符表示为文件 [用户]权限为rw-,代入数字为4+2+0=6 [用户组]权限为r--,代入数字为4+0+0=4 [其他人]权限为r--,代入数字为4+0+0=4 所以test.txt的权限为644。 # 修改权限的基础是用户和组已经配置正确了 # 手动修改权限,chmod [-R] 权限 文件或目录 [root@localhost opt]# chmod 777 test.txt [root@localhost opt]# ls -la -rwxrwxrwx 1 chuck it-group 0 12月 21 11:56 test.txt ``` 字符格式:基于现有权限进行修改。 使用u(用户),g(组),o(其他人),a(全部)表示不同集合 使用+(加入权限),-(移除权限),=(设置权限) 使用r(读取),w(写入),x(执行)表示文件权限 格式为:`chmod [ugoa] [+-=] rwx 文件或目录` ,示例: ```linux [root@localhost opt]# ls -la -rwxrwxrwx 1 chuck it-group 0 12月 21 11:56 test.txt # 移除用户组的x权限 [root@localhost opt]# chmod g-x test.txt [root@localhost opt]# ls -la -rwxrw-rwx 1 chuck it-group 0 12月 21 11:56 test.txt # 添加用户组的x权限 [root@localhost opt]# chmod g+x test.txt # 移除所有的x权限 [root@localhost opt]# chmod a-x test.txt # 手动设置权限 [root@localhost opt]# chmod u=rwx,g=rw,o=r test.txt oot@localhost opt]# ls -la test.txt -rwxrw-r-- 1 chuck it-group 0 12月 21 11:56 test.txt ``` 上面两种格式都可以使用看个人习惯,命令后面可以添加不同的选项和参数实现不同功能,自行实验探索。 常用命令: - chown 修改用户所有者 - chgrp 修改用户组 - chmod 修改文件或目录权限 ### 1.4、文件和目录的权限意义 在Linux中,文件和目录的权限具有重要意义。 对于文件,权限决定了哪些用户可以读取、写入或执行该文件。对于目录,权限同样重要,因为它决定了哪些用户可以查看、添加或删除目录中的文件。具体来说: **文件权限:** - r(read):表示用户可以读取文件的内容。 - w(write):表示用户可以编辑、新增或修改文件的内容。 - x(execute):表示文件具有可执行权限,用户可以执行该文件。 **目录权限:** - r(read contents in directory):表示用户可以读取目录结构清单,即查看目录下的文件名数据。 - w(modify contents of directory):表示用户可以新建新的文件和目录、删除已经存在的文件和目录、重命名已存在的文件或目录、转移该目录内的文件、目录位置等。 - x(access directory):表示用户可以进入该目录,但目录本身不能被执行。 x(execute,执行权限)对于文件而言,表示具有执行文件的权限。这意味着如果一个文件具有x权限,那么用户可以执行该文件。然而,文件的x权限与文件的内容或属性没有直接关系。它仅仅表示用户是否具有执行该文件的权限。 ## 二、文件类型 在上面的文件类型第一个字段显示了文件或目,现在学习下都有哪些文件类型。文件是存储实际数据的载体,目录是将一类文件进行存放的集合,目录本身不能执行。 文件类型: - 常规文件 - 纯文本文件(ASCII),比如文本文件、配置文件等,可以通过cat查看 - 二进制文件(binary),可执行文件,如ls、cd、pwd等都是二进制文件,通过cat查看显示乱码,是经过编码的文件,可用于执行任务 - 数据文件(data),例如.sql,/var/log/wtmp等 - 目录,文件的分类存储 - 链接文件,类似于Windows的快捷方式,指向实际文件 - 设备,如硬盘、鼠标、U盘等,一般在/dev下面 Linux文件扩展名与Windows不同,它并没有特定的文件扩展名标识,而是通过文件内容和属性来决定其用途。就是就算赋予了文件x权限,如果是纯文本文件也没有意义,需要是例如脚本、可执行程序等才生效。 常见文件后缀: - .tar:经过打包的压缩文件,可以用tar命令解压。 - .tar.gz、.tgz:经过打包的压缩文件,可以用tar命令解压。 - .zip:经过打包的压缩文件,可以用unzip命令解压。 - .bz2:bzip2程序压缩的文件。 - .xz:程序压缩文件。 - .sh:脚本或批处理文件(scripts),因为批处理文件是使用shell写成的,所以扩展名就编城 *.sh。 - .pl:perl语言文件,通过perl语言开发的程序。 - .py:python语言文件,通过python语言开发的程序。 - .html、.htm、.php、.jsp、.do:网页相关文件,分别代表html和php语法的网页文件。 - .conf:系统服务的配置文件。 - .rpm:rpm安装包文件。 ## 三、常见目录解析 - /bin:二进制可执行文件的目录,包含Linux系统中所有重要的命令和工具。 - /boot:存放系统核心文件以及启动时必须读取的文件,包括Linux内核的二进制映像。 - /dev:设备文件目录,包含与硬件设备和外部设备的连接点,例如硬盘、USB设备、串口等。 - /etc:系统配置文件目录,包含各种系统和应用程序的配置文件。 - /home:用户主目录的基础目录,每个用户都有一个对应的子目录。 - /lib:库文件的目录,包含共享库和内核模块。 - /lib64:存放64位架构的库文件的目录。 - /media:可移动媒体设备(如光盘、USB设备等)挂载点的目录。 - /mnt:临时挂载点的目录,用于临时挂载其他文件系统或网络共享。 - /proc:虚拟文件系统,包含当前运行进程和内核信息的文件。 - /run:在系统启动期间存放临时运行时数据的目录。 - /srv:服务相关数据的目录,用于存放特定服务所需的数据。 - /tmp:临时文件目录,用于存放临时文件和临时数据。 - /var:可变数据的目录,包含日志文件、缓存数据等。 总结:这次学习了Linux中的文件和目录,权限的查询与设置,权限的修改和变更。了解了不同的文件类型和常见的目录功能。
Chuck
2023年12月21日 14:38
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码