文件系统权限的拓展

 

文件权限管理的拓展

标志位:-rwsrwxrwxrwx

[root@zl ~]# ll a.txt

-rw-r--r--. 1 root root 0

[root@zl ~]# ./a.sh 

-bash: ./a.sh: 权限不够

[root@zl ~]# chmod +s a.sh 

[root@zl ~]# ll a.sh 

-rwSr-Sr--. 1 root root 25 Jul2 21:18 a.sh

标志位:-rwsrwxrwx

SUID:当一个文件带有suid时,文件默认加上可执行的权限,且所有人临时具有管理员权限来执行;

标志位:drwxrwsrwx

SGID:当一个目录文件带有SGID时,所有用户在此目录下创建文件的属组都是此目录的基本组。

标志位:drwxrwxrwt

当一个目录文件带有sticky时,所有用户在此目录中不能删除属主不是自己的文件;

实际应用:

现有2普通用户redhatgentoo,想让他们两个都能访问develop文件夹,且双方能够修改彼此创建的文件,但不能删除。

文件的访问控制列表 fileaccesscontrollist

实现目的给普通用户控制访问自己文件规则的权限。

acl添加:

setfacl-mu:用户名:权限文件 #给指定用户添加文件的权限

setfacl-mg:组名:权限文件#给指定组添加文件的权限

eg

setfacl-muzlwrxzl.out

ll

-rw-rwxr--+ 1 rootroot32172 21:58 zl.out

权限后面加上了“+”号

acl查看:

查看文件的访问控制列表使用命令

Getfacl 文件名

[root@zl tmp]# getfacl zl.out 

# file: zl.out

# owner: root

# group: root

user::rw-

user:zl:rwx

group::r--

mask::rwx

other::r―

acl的删除

[root@zl tmp]# setfacl -x u:zl zl.out

删除对应用户在该文件上的acl

[root@zl tmp]# getfacl zl.out

# file: zl.out

# owner: root

# group: root

user::rw-

group::r--

mask::r--

other::r―

删除所有acl

[root@zl tmp]# setfacl -b zl.out 

[root@zl tmp]# ll

[root@zl tmp]# getfacl zl.out 

# file: zl.out

# owner: root

# group: root

user::rw-

group::r--

other::r―

注意:此时aclmask已被删除

所谓mask类似子网掩码的效果,有它存在所有acl权限只能小于等于它的权限。

Aclmask设置:

常用的集中压缩、归档程序

gzip选项文件

gzip压缩文件,且删除源文件

选项

-d解压缩

-n指定压缩比

Zcat在不解压的情况下查看文件内容

压缩文件名后缀:.gz

Bzip2选项压缩目的文件源文件(可多个)

Bzip2选项文件(意为压缩此文件到当前目录)

选项

-d解压缩

-k压缩时保留源文件

Bzcat在不解压时查看压缩包内容

压缩文件后缀名:.bz2

注意:不论是gzip还是bzip2都不支持对文档的压缩

tar选项压缩目的文件源文件(可多个目录)

压缩常用的两种格式:

tar-zcvf MYFILE.tar.gzsource..

z进行gzip压缩

c创建压缩文件

v显示压缩过程

f后跟文件名

tarxf压缩包[-C目的路径]

不添加-c默认为当前目录

Linux中软件的安装

Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装;另一种直接获取rpm软件包进行安装。

不论是通过哪种途径安装的软件都有以下4个特点:

1、都具有配置文件,通过设置配置文件来改变程序启动时的运行特征;

2、都具有二进制的程序主体;

3、都自带库文件,供程序体调用;

4、都自带帮助文件,对程序的使用方法进行说明。

软件的安装路径:

除了自行下载源码编译安装的软件可以自定义安装路径之外,rpm包的安装都是按照软件自身预设的安装路径进行的安装。主要有以下几类:

1/:系统根目录,在此安装的文件通常都是OS在运行时需要调用到的程序;

2/usr:此目录下的一般情况下是提供基本服务的软件;

3/usr/local:此目录下一般情况下是用户自行安装的第三方软件;

系统相关:

1、配置文件路径:/etc

2、二进制文件路径:/bin/sbin

3、库文件路径:/lib

系统提供功能服务相关:

配置文件路径:/etc

二进制文件路径:/usr/bin /usr/sbin

库文件:/usr/lib

第三方软件:

配置文件路径:/usr/local/etc/usr/local/APP/etc

二进制文件路径:/usr/local/bin/usr/local/sbin

库文件:/usr/local/lib

说明文件主要存放在:/usr/share/man/usr/local/share/man

使用RPM对软件包进行安装:

Rpm-q

-qa查询本机所有安装过的软件包

-q查询已安装软件包的版本

-ql 列出此安装包生成了那些文件

-qc列出此安装包生成了那些配置文件

-qd列出此安装包生成了那些文档

-qfFILENAME查看文件是由那些安装包产生的

-qi查看软件包信息

安装 rpm �CivhPACKAGENAME

rpm-e卸载软件包

--nodeps忽略依赖关系依赖

升级 rpm-UvhPACKAGENAME 安装过的直接升级;否则直接安装新版本

-FvhPACKAGENAME 只对安装过的软件升级

检验 rpm-VPACKAGENAME检验已经安装过的文件是否被人修复过

注意:rpm的安装查询是基于rpm生成的数据库,数据库的重建一般使用rpm �Crebuilddbrpm �Cinitdb,前者直接重建后者则是在未检测到当前数据库时才创建;rpm在安装时会产生日志文件,/root/install.log文件中记载了安装记录。

Yum库文件的配置:

通过/etc/yum.conf/etc/yum.repos.d目录下的、且已.repo结尾的文件进行对yum软件库的设置。

 

配置文件的具体格式:

[仓库名]

name=字符串#起标示作用

baseurl= {ftp://|http://|file:///}软件库的链接

gpgcheck={0|1} #下载到软件包之后是否进行校验

eg

[base]

name=Instructor Server Repository

baseurl=ftp://instructor.example.com/pub/Server

gpgcheck=0

 

yum的常用功能:

软件包安装 yuminstall

软件包升级 yumupdate

软件包安装情况查询

Yumlist

Installed 查询已经安装过的软件包

Available查询在软件库中可安装尚未安装的软件包

PROGRAM 按照具体

 

你可能感兴趣的:(文件权限)