文件权限管理的拓展
标志位:
-rwsrwxrwx
SUID
:当一个文件带有
suid
时,文件默认加上可执行权限,且所有人临时具有管理员权限来执行。
标志位:
-rwxrwsrwx
SGID
:当一个目录文件带有
sgid
时,所有用户在此目录下创建文件的属组都是此目录的基本组。
标志位:
-rwxrwxrwt
sticky
:当一个目录文件带有
sticky
时,所有用户在此目录中不能删除属主不是自己的文件。
实际应用:
现有
2
普通用户
redhat
和
gentoo
,想让他们两个都能访问
develop
文件夹,且双方能够修改彼此创建的文件,但不能删除。
解决办法:
1. 创建文件develop
mkdir develop
新建组
devgrp
并把
develop
的基本组改为此组
groupadd devgrp
chown :devgrp develop
修改文件夹权限成
-rwxrws―T
chomod 3770 develop #
首位
3
表示两用户创建的文件的属组都是
devgrp
,实现他们能够同构组权限来相互修改对方的文件,且不能删除。
2. 给两用户添加附加组devgrp
usermod �CaG devgrp redhat
usermod �CaG devgrp gentoo
系统默认权限
umask
的概念
在不同用户新建文件时文件的权限是有系统默认设定的:
目录文件
=777 �C umask
普通文件
=666 �C umask
如果计算结果为奇数,加一后作为最终权限(防止生成执行权限)
文件的访问控制列表
file access control list
实现目的给普通用户控制访问自己文件规则的权限。
acl
添加:
setfacl �Cm u:
用户名
:
权限
文件
#
给指定用户添加文件的权限
setfacl �Cm g:
组名
:
权限
文件
#
给指定组添加文件的权限
eg
:
# setfacl -m u:student:wrx redhat.c
drwxrwxr-x+ 2 root root 4096 Aug 2 04:11 redhat.c
权限后加上了
“+”
号
acl
查看:
查看文件的访问控制列表使用命令
getfacl
[root@server28 tmp]# getfacl redhat.c
# file: redhat.c
# owner: root
# group: root
user::rwx
user:student:rwx
group::r-x
mask::rwx
other::r-x
acl
的删除:
[root@server28 tmp]# setfacl -x u:student redhat.c/
删除对应用户在该文件上的
acl
[root@server28 tmp]# getfacl redhat.c
# file: redhat.c
# owner: root
# group: root
user::rwx
group::r-x
mask::r-x
other::r-x
删除所有
acl
:
[root@server28 tmp]# setfacl -b redhat.c/
[root@server28 tmp]# getfacl redhat.c
# file: redhat.c
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
注意:此时
acl mask
已被删除
所谓
mask
类似子网掩码的效果,有它存在所有
acl
权限只能小于等于它的权限
acl mask
的设置:
[root@server28 redhat.c]# setfacl -m m::rx test
[root@server28 redhat.c]# getfacl test
# file: test
# owner: root
# group: root
user::rw-
user:redhat:rwx
#effective:r-x
此时系统已经自动给出提示受到
mask
影响
group::r--
mask::r-x
other::r--
默认
acl
:
默认
acl
只对目录文件有效,表示对所有在目录中新建的文件继承目录的
acl
。
[root@server28 tmp]# setfacl -m d:u:redhat:rwx redhat.c/
[root@server28 tmp]# getfacl redhat.c/
# file: redhat.c
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
#
此行往下表示
default
权限
default:user:redhat:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
常用的集中压缩、归档程序
gzip
选项
文件
gzip
压缩文件,且删除源文件
选项:
-d
解压缩
-n
指定压缩比(
1-9
)
zcat
在不解压的情况下查看文件内容
压缩文件后缀名:
.gz
bzip2
选项
压缩目的文件
源文件(可多个)
bzip2
选项
文件
(意为压缩此文件到当前目录)
选项
-d
解压缩
-k
压缩时保留源文件
bzcat
在不解压时查看压缩包内容
压缩文件后缀名
:
.bz2
注意:不论是
gzip
还是
bzip2
都不支持对文档的压缩
tar
选项
压缩目的文件
源文件(可多个可目录)
压缩常用的两种格式
tar zcvf MYFILE.tar.gz source..
z
进行
gzip
压缩
c
创建压缩文件
v
显示压缩过程
f
后跟文件名
tar jcvf MYFILE.tar.bz2 source..
j
进行
bzip2
压缩
解压
tar xf
压缩包
[�CC
目的路径
]
如不加
-C
默认为当前目录
注意:
tar
压缩时会保留原文件,且对文件夹进行归档处理后压缩