Linux权限管理

Linux权限管理

Linux文件系统权限

文件或者系统的基本权限:

代表权限权限对文件的含义对目录的含义
r读权限可以读文件的内容可以列出该目录中的文件列表
w写权限可以修改文件可以在该目录中创建删除文件
x执行权限可以执行该文件可以用cd命令进入该目录

Linux中通过对三种用户分配三种权限,可以通过ls -l命令查看文件或者目录的权限。
例如:

zp@zp-linux:~$ ls -l
总用量 1856
drwxrwxr-x 3 zp zp    4096 929 08:32 codes
-rw-r--r-- 1 zp zp    8980 924 22:20 examples.desktop
-rw-rw-r-- 1 zp zp 1829577 929 22:14 flask_login
drwxrwxr-x 3 zp zp    4096 929 18:02 IdeaProjects
drwxr-xr-x 8 zp zp    4096 411  2015 jdk1.7.0_80

每一行显示一个文件或者目录的信息,其中的第一个项代表了文件或者目录的权限。第一项的第一个字符是文件或者目录的标志符号。其余9个可分为3组,3个字母一组。分别代表文件属主的权限、文件所属组的权限、其他用户的权限。

更改操作权限

更改目录或文件的权限使用chmod命令进行,有两种设置方法:文字设定法和数值设定法。

  1. 文字设定法

     chmod [ugoa][+-=][rwxugo]<文件名或目录名>

    第一个选项表示要赋予权限的用户

    选项说明选项说明
    u属主(user)o其他用户(other)
    g所属组用户(group)a所有用户(all)

    第二个选项表示要进行的操作

    选项说明选项说明
    +增加权限=分配另一个权限,同时把原有权限删除
    -删除权限

    第三个选项是要分配的权限

    选项说明选项说明
    r允许读取u和属主权限相同
    w允许写入g和所属组用户权限相同
    x运行执行o和其他用户权限相同
  2. 数值设定法

    chomod n1n2n3 <文件名或者目录>

    其中,n1代表属主的权限,n2代表所属组用户的权限,n3代表其他用户的权限。将权限使用数值表示首先将每组的权限转化为二进制,然后将二进制转化为八进制。例如权限为rwxrw-r–的目录采用数值表示首先转化为二进制为111110100,将每组转化为八进制为754。

更改属主和同组人

只有文件的属主有权更改其属主和所属组,用户可以把属于自己的文件转让给他人。改变文件的属主和组可以用chown命令。

chown [-R]<用户,[:组]><文件或目录>

举例:

//将文件users1的属主改为osmond
#chmod osmond usrs1
//将文件users1的属主和组改为osmond
#chmod osmond:osmond usrs1
//将mydir目录下所有文件的属主和组改为osmond
#chmod -R osmondLosmond mydir

特殊权限设置

对文件可以设置SUID和SGID权限;对目录可以设置SGID和sticky-bit权限。其中SUID占用属主的x位置表示,SGID占用组的x位置表示,sticky-bit占用其他人的x位置表示。SUID和SGID用s表示,sticky-bit用t表示。

文件特殊权限:

特殊权限说明
SUID一个可执行文件设置了该权限,则无论谁执行这个文件,都将以文件所有者的身份执行该文件
SGID一个可执行文件设置了该权限,则无论谁执行这个文件,都将以文件所属组的身份执行该文件

目录特殊权限:

特殊权限说明
SGID在该目录下创建或复制进来的文件将与该目录的所属组一致,复制文件时加上-p(preserve)参数,文件将保留原来的所属组
SGID存放在该目录下的文件仅运行其属主或root执行删除、移动等操作

设置特殊权限任然使用chmod命令,并且仍然可以通过字符设定法和数值设定法两种。使用字符设定法时,可以使用s和t字符。使用数值设定法时,要使用4位八进制数,其中第一位用于设置特殊权限,后三位设置基本权限。

//文字设定法
//为/usr/bin/myapp添加SUID权限
#chmod u+s /usr/bin/myapp
//为目录/home/groupspace添加SGID权限
#chmod g+s /home/groupspace
//为目录/home/share添加sticky权限
#chmod o+t /home/share
//数值设定法
//为/usr/bin/myapp添加SUID权限
#chmod 4755 /usr/bin/myapp
//为目录/home/groupspace添加SGID权限
#chmod 2755 /home/groupspace
//为目录/home/share添加sticky权限
#chmod 1755 /home/share

ACL权限

ACL是访问控制列表,可以针对指定的用户/组分配rwx权限。
setfacl命令的语法为:

setfacl [-R]{-m|-x}<rules><file or directory>

setfacl命令的选项为:
这里写图片描述
getfacl命令用于查看文件或者目录的ACL权限

getfacl <file or directory>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值