Linux文件管理

在Linux系统中一切都是文件!

一、Linux文件类型

Linux存在很多的文件类型:(可以通过ls -l进行查看文件的类型)

-

普通文件

d

目录文件

l

链接文件

b

块设备文件

c

字符设备文件

p

管道文件

二、Linux文件目录结构

目录名称

应放置文件的内容

/boot

开机所需文件内核、开机菜单以及所需配置文件等

/dev

以文件形式存放任何设备与接口

/etc

配置文件

/home

用户主目录

/bin

存放单用户模式下还可以操作的命令

/lib

开机时用到的函数库,以及/bin/sbin下面的命令要调用的函数

/sbin

开机过程中需要的命令

/media

用于挂载设备文件的目录

/opt

放置第三方的软件

/root

系统管理员的家目录

/srv

一些网络服务的数据文件目录

/tmp

任何人均可使用的"共享"临时目录

/proc

虚拟文件系统,例如系统内核、进程、外部设备及网络状态等

/usr/local

用户自行安装的软件

/usr/sbin

Linux系统开机时不会使用到的软件/命令/脚本

/usr/share

帮助与说明文件,也可放置共享文件

/var

主要存放经常变化的文件,如日志

/lost+found

当文件系统发生错误时,将一些丢失的文件片段存放在这里

三、文件权限

1、文件基础权限简介

Linux系统中的每个文件都有所属的所有者和所有组,并对文件根据r(读),w(写),x(执行)规定所有者、所有组及其他人的权限。

对一般文件权限的解释:

可读

能够读取文件的实际内容

可写

能够编辑、新增、修改、删除文件的实际内容

可执行

能够运行一个脚本程序

对目录文件权限的解释:

可读

能够读取目录内的文件列表

可写

能够在目录内新增、删除、重命名文件

可执行

表示能够进入该目录

备注:对于一个文件夹使其拥有可执行权限是对其最基本的尊重。

2、文件基础权限与数字关系

四、修改文件权限

1、chmod命令

作用:用来设置文件或目录的权限

格式:chmod <参数> 【+-=】权限 文件名

参数:-R 递归修改

操作符:

“+”表示添加某个权限。
“-”表示取消某个权限。
“=”表示赋予给定的权限,同时取消文档以前的所有权限。

2、chown命令

作用:设置文件或目录的所有者和所有组

格式:chown <参数> 所有者:所有组 文件名

参数:-R 递归修改

五、文件特殊权限

1、SUID

解释:SUID是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限(仅对拥有执行权限的二进制程序有效)。

格式:chmod u+s 文件名

备注:当为文件添加SUID权限时若所有者权限已经具有执行权限则会将x改为s;若没有执行权限则会在执行权限的位置添加一个S。

2、SGID

解释:①让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置);

②在某个目录中创建的文件自动继承该目录的用户组(只可以对目录进行设置)。

格式:chmod g+s 文件名

备注:当为文件添加SGID时所有组已经具有执行权限则会将x改为s;若没有执行权限则会在执行权限的位置添加一个S。

3、SBIT粘滞位

解释:某个目录设置了SBIT粘滞位权限后,那么该目录中的文件就只能被其所有者执行删除操作了

格式:chmod o+t 文件名

备注:当为文件添加SBID时其他人已经具有执行权限则会将x改为s;若没有执行权限则会在执行权限的位置添加一个S。

六、文件隐藏属性

1、chattr命令

作用:用于设置文件的隐藏权限

格式:chattr [参数] 文件

参数:

参数

作用

i

无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件

a

仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)

S

文件内容在变更后立即同步到硬盘(sync)

s

彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)

A

不再修改这个文件或目录的最后访问时间(atime)

b

不再修改文件或目录的存取时间

D

检查压缩文件中的错误

d

使用dump命令备份时忽略本文件/目录

c

默认将文件或目录进行压缩

u

当删除该文件后依然保留其在硬盘中的数据,方便日后恢复

t

让文件系统支持尾部合并(tail-merging)

x

可以直接访问压缩文件中的内容

备注:若想添加隐藏功能则在其后 +参数,若想去掉隐藏功能在其后-参数。

2、lsattr命令

作用:显示文件的隐藏权限

格式:lsattr [参数] 文件

七、文件访问控制列表

对某个指定的用户进行单独的权限控制,就需要用到文件的访问控制列表(ACL)了。针对某个目录设置了ACL,则目录中的文件会继承其ACL;若针对文件设置了ACL,则文件不再继承其所在目录的ACL。

1、setfacl命令

作用:用于管理文件的ACL规则

格式:setfacl [参数] u:用户名:权限 文针名称

-R

对目录文件递归修改

-m

普通文件

-b

删除ACL

2、getfacl命令

作用:显示文件上设置的ACL信息

格式:getfacl 文件名称

posted @ 2019-08-21 21:07  不言不弃  阅读(437)  评论(0编辑  收藏  举报