Linux中的文件和目录的权限管理

Linux系统通过完善的权限管理来限制每一个用户对于系统中文档和目录的访问。在Linux系统中,文件和目录的权限是有些差异的。
一、权限介绍:
如上所示,通过ll命令列出目录下文件的时候同时也会列出文件的权限,从第二位开始,一直到第九位,即rw-r–r–就是文件的权限描述:其中3位为一组:
第一组:rw-:代表文件的属主(user)对文件的权限;
第二组:r–:代表文件的属组(group)对文件的权限:
第三组:r–:代表其他人(other)对文件的权限;
1.1权限分类:
文件的权限又分为三种:
r:读权限
w:写权限
x:执行权限
这三种权限对于文件和目录来说意义也是不一样的:
对文件:
r:可以通过cat等文档查看命令查看该文件;
w:可以编辑该文件的内容;
x:可以执行该文件;
对目录:
r:可以通过ls命令列出目录下的文件;
w:可以在目录下新建、删除、移动文件;
x:可以通过cd命令切换到目录下;
1.2 修改文件属主、属组和权限:
文件属组,属组和权限的更改:
chown 属主:属组 文件名
-R:递归修改文件属主和属组
chgrp 属组 文件名
-R:递归修改文件属组
修改文件的权限通过chmod命令:
其中有两种修改方法:
1、字符修改法:
其中:
u:属主
g:属组
o:其他人
a:所有人
例子:
chmod u+x test:代表给test的属主加上执行权限;
chmod u=rwx test:代表给test的属主所有权限;
chmod a=rwx test:所有人对test文件都有读、写和执行的权限;
2、数字表示法:
通过八进制来表示读、写和执行权限:
r:4
w:2
x:1
例子:
chmod 777 test:代表所有人对test有读写和执行权限;
chmod 644 test:代表属主有读、执行权限,属组有读权限,其他人有读权限;
二、umask介绍:
反掩码umask的介绍
创建一个新文件的时候文件的默认权限就是通过去除umask来生成的:
root用户的反掩码为0022
普通用户的反掩码为0002
其中:
r=4
w=2
x=1
创建一个文件的时候其权限就是rw-rw-rw-去除—-w–w-,所得即为:rw-r–r–
创建一个目录的时候其权限就是rwxrwxrwx去除—-w–w-,所得即为:rwxr-xr-x
通过umask+反掩码即可修改反掩码;
三、文件的特殊权限:
SUID:只作用于文件当用户在执行一个具有SUID权限的文件的时候,该用户会临时取得该文件属主的权限来执行此文件,常用于系统文件;
如passwd属于root用户和root组,但是普通用户也可以使用该文件来修改自己的密码,就是因为passwd具有SUID权限:
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /bin/passwd;其中属主权限的s位表示passwd具有SUID权限;
SGID:作用于文件和目录,对文件来说,如果其拥有SGID权限,那么其他用户就可以用文件拥有者的身份来执行此文件;对目录来说,主要用于团队协作;
Sticky:只作用于目录,在具有Sticy权限的目录下所有用户都可以创建文件,但是只有文件的属主可以删除自己的文件,其他人没有删除别人文件的权限,比如/tmp目录:
drwxrwxrwt. 20 root root 4096 Apr 1 09:25 /tmp/ ;其中其他人权限的t位表示目录具有Sticky权限;
修改特殊权限:
特殊权限区分如下:
SUID:4
SGID:2
Sticky:1
通过chmod修改特殊权限:
如:chmod u+s test:表示赋予test文件SUID的权限:其权限变为:-rwSr–r–. 1 root root 0 Apr 1 09:28 test
chmod g+s test:表示赋予testSGID权限:-rwSr-Sr–. 1 root root 0 Apr 1 09:28 test
chmod o+t /test:表示赋予test目录Sticky权限:drwxr-xr-t. 2 root root 6 Apr 1 09:29 test
四、文件的隐藏权限:
-rw-r–r–. 1 root root 2949458 Mar 31 17:50 access_log
文件的第11位是隐藏权限位,隐藏权限为分为两种:
i:表示不能删除、改名、更改文件
a:表示只能追加文件内容
它的设置方法为:
Chattr +i|-i test
Chattr +a|-a test
查看方法lsattr test
五、文件访问控制列表ACL
可以通过对文件添加ACL来控制不同用户对文件的访问,是否开启通过SELinux来进行控制;
1、查看ACL:
[root@localhost ~]# getfacl access_log

file: access_log

owner: root

group: root

user::rw-
group::r–
other::r—
2、设置ACL,允许wzh对access_log文件具有rwx权限:
[root@localhost ~]# setfacl -m user:wzh:rwx access_log
[root@localhost ~]# getfacl access_log

file: access_log

owner: root

group: root

user::rw-
user:wzh:rwx
group::r–
mask::rwx
other::r–

原创文章,作者:王子豪,如若转载,请注明出处:http://www.178linux.com/72269

(0)
王子豪王子豪
上一篇 2017-03-31 23:29
下一篇 2017-04-01 10:48

相关推荐

  • 文件系统的挂载使用总结

    文件系统使用 除根文件系统以外的文件系统创建后要使用需要先挂载至挂载点后才可以被访问,挂载点即分区设备文件关联的某个目录文件,挂载命令mount和 卸载命令umount; 挂载点: mount_point,作为被挂载的文件系统的访问入口; 作为挂载点需要满足三个条件:  (1)这个目录事先存在  (2)使用未被或不会被其他进程使用到的目录…

    系统运维 2016-11-19
  • 划分子网例题

    概念:子网划分就是——>将一个大网络(主机ID位多)划分成多个小的网络(主机ID位少) 如何实现呢?!        实现——->网络ID向主机ID借位,网络ID位变多,主机ID位变少 涉及的公式:         &n…

    2017-09-04
  • 马哥教育网络班N22期+第五周课程练习

    1、显示当前系统上root、fedora或user1用户的默认shell; ~]# grep -E "^(root|user1|fedora)" /etc/passwd | awk -F: '{ print $1 $7 }' root/bin/bash user1/bin/bash fedora/bin/bash 2、…

    Linux干货 2016-10-17
  • MBR分区结构

    MBR分区结构 一、硬盘主引导记录MBR由4个部分组成: 1、主引导程序(偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序。 2、出错信息数据区,偏移地址0089H–00E1H为出错信息,00E2H–01BDH全为0字节。 3、分区表(DPT,Disk Partition Table):含4个分…

    2017-08-20
  • 文件系统挂载

    文件系统挂载 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为称之为挂载;  解除此关联关系的过程称之为卸载;  把设备关联挂载点:Mount Point mount  卸载时:可使用设备,也可以使用挂载点 umount  注意:挂载点下原有文件在挂载完成后…

    Linux干货 2015-12-16
  • 第九周作业

    1. 写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; # awk -F: ‘{if($7!=”/sbin/nologin”) {printf “Logined user %s\n”…

    Linux干货 2017-03-01

评论列表(1条)

  • renjin
    renjin 2017-04-05 15:36

    主要总结了linux下的文件及目录权限的管理,内容写的很不错,排版有待加强。