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
下一篇 2017-04-01

相关推荐

  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost /]# who | cut -d ‘ ‘ -f 1  | sort -u root user1 或: [root@localhost /]# who | cut -d ‘ ‘ -…

    Linux干货 2017-02-24
  • Linux磁盘管理

     I/O Ports:I/O设备地址   一切皆文件:             poen(),read(),write(),close()   设备类型:     &nb…

    Linux干货 2016-08-29
  • bash脚本编程练习:判断、循环

      1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i sumlogin=0 declare -i sumnologin=0 for&nbs…

    Linux干货 2016-11-22
  • RAID详解

    测试机centos6.7 x86_64 一、RAID是什么     简单描述:RAID(Redundant Array of indenpensive Disk)独立磁盘冗余阵列:磁盘阵列是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段或条带(striping)的方式储存在不同的磁盘中,存取数据时,阵列中的相关磁盘一起…

    2016-02-14
  • VSFTP通过pam_mysql插件创建进行基于mysql的虚拟用户

      1、对pam_mysql-0.7RC1包进行编译安装 编译安装环境配置 编译安装所需的包如下: ~]#yum -y groupinstall "Development Tools" "Server Platform Development" ~]#yum -y install mariadb-server…

    Linux干货 2016-11-14
  • 第一周作业

    一、计算机的组成及功能 计算机是由硬件和软件组成, 1、硬件主要分为五个部分: 1) 控制器(Control)  CPU 2) 运算器(Datapath)   3) 存储器(Memory)  内存 4) 输入(Input system)  键盘、鼠标 5) 输出(Out…

    Linux干货 2017-07-11

评论列表(1条)

  • renjin
    renjin 2017-04-05 15:36

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