一、文件基本权限

1-1.基本权限的修改

-rw-r--r--
  - 第一个"-"表示文件类型(- 文件,d 目录,l 软链接文件)
  - rw-       r--       r--
    u所有者   g所属组   o其它人
其中r读,w写,x执行

(1).chmod  [选项]  模式  文件名
  - 选项
    . -R  递归
  - 模式
    [ugoa] [+-=] [rwx]
    [mode=421]

#为所有者添加rw权限, 所属组去除w权限
chmod u+rw, g-w test.txt

权限的数字表示(用二进制转的数)
r---4;  w----2;  x ----1;
如rwxr-xr-x,则对应7 5 5

1-2.权限对文件的作用

r: 读取文件内容(cat more  head tail)
w: 编辑、新增、修改文件内容(vi echo)
  -但是不包含删除文件,因为文件名和文件数据存放位置不同
x: 可进入目录
注意:
  对文件来讲:最高权限是 x
  对目录来讲:最高权限是 w

head:默认是查看文件的前10行
  tail:默认是查看文件的最后10行
    -n 指定查看多少行
  more:显示满一页时暂停,按空格健继续显示下页,或按Q停止显示。

(2).chown: 修改文件的所有者
格式:chown  用户名  文件名

(3).chgrp:修改文件的所属组
格式:chgrp  组名  文件名

实例要求
  - 拥有一个test目录
  - 让testuser拥有所有的权限 
  - 让用户组有查看的权限
  - 其他所有人不许查看这个目录

  1. # 拥有一个test目录
  2. changwen@ubuntu:~$ ll -d test
  3. drwxrwxr-x 3 changwen changwen 4096 Jul 24 05:41 test/
  4. # 添加一个testuser用户
  5. changwen@ubuntu:~$ sudo useradd testuser
  6. # 设置该用户的密码
  7. changwen@ubuntu:~$ sudo passwd testuser
  8. Enter new UNIX password:
  9. Retype new UNIX password:
  10. passwd: password updated successfully
  11. # 在用户组里添加两个用户
  12. changwen@ubuntu:~$ sudo useradd -g usergroup user1
  13. changwen@ubuntu:~$ sudo useradd -g usergroup user2
  14. # 设置test目录的所有者:所属组
  15. changwen@ubuntu:~$ sudo chown testuser:usergroup test
  16. changwen@ubuntu:~$ ll -d test
  17. drwxrwxr-x 3 testuser usergroup 4096 Jul 24 05:41 test/
  18. # 按实例要求设置权限
  19. changwen@ubuntu:~$ sudo chmod 750 test
  20. changwen@ubuntu:~$ ll -d test
  21. drwxr-x--- 3 testuser usergroup 4096 Jul 24 05:41 test/

二、文件默认权限

(4).unmak: 查看默认权限
如0022
  - 第一位0: 文件特殊权限
  - 022 : 文件默认权限
临时修改: umask 0002
永久修改: vi  /etc/profile

文件默认权限
  1).文件默认不能建立执行文件,必须手工赋予执行权限
  2).所以文件默认权限最大为666
  3).默认权限需要换算成字母再相减
  4).建立文件之后的默认权限,为666减去umask值
例如:
 - 文件默认最大权限是666, umask值为022
 - -rw-rw-rw-  减去  -----w--w-  等于 -rw-r--r--

目录的默认权限
  1).目录默认权限最大为777
  2).默认权限需要换算成字母再相减
  3).建立文件之后的默认权限,为777减去umask值
例如:
 - 目录默认权限最大为777, umask值为022  
 - -rwxrwxrwx  减去  -----w--w-  等于 -rwxr-xr-x

三、ACL简介

ACL就是用来解决用户身份不足的问题

# 查看分区ACL权限是否开启
(5).dupe2fs 命令是查询指定分区详细文件系统信息的命令
 dupe2fs -h /dev/sda51
   -h  仅显示超级块中信息,而不是磁盘块的详细信息

# 临时开启分区ACL权限
mount  -o  remount, acl  /
  - 重新挂载根分区,并挂载加入acl权限

# 永久开启分区ACL权限(不建议修改)
vi  /etc/fstab
#加入acl
然后修改UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2  /  ext4  defalults  acl  1 1

# 重新挂载文件系统或重启系统,使修改生效
mount  -o  remount  /

3-1查看与设定ACL权限

# 查看acl权限
getfacl  文件名

# 设定acl权限
setfacl  选项  文件名
  -m  设定ACL权限
  -x  删除指定的ACL权限
  -b  删除所有的ACL权限
  -d  设定默认ACL权限
  -k  删除默认ACL权限
  -R  递归设定ACL权限

  1. changwen@ubuntu:~$ mkdir av
  2. # 增加所有者和用户组,并设置av目录的权限
  3. changwen@ubuntu:~$ sudo useradd tony
  4. changwen@ubuntu:~$ sudo groupadd stu
  5. changwen@ubuntu:~$ sudo chown tony:stu av
  6. # 设置av权限
  7. changwen@ubuntu:~$ sudo chmod 770 av
  8. # 添加老王用户并设置密码
  9. changwen@ubuntu:~$ sudo useradd lw
  10. changwen@ubuntu:~$ sudo passwd lw
  11. Enter new UNIX password:
  12. Retype new UNIX password:
  13. passwd: password updated successfully
  14. # 给用户lw赋予r-x权限,使用 "u:用户名:权限" 格式
  15. changwen@ubuntu:~$ sudo setfacl -m u:lw:rx  /home/changwen/av
  16. # 为用户组tgroup2分配ACL权限。使用 "g:组名:权限" 格式
  17. setfacl -m g:tgroupt2:rwx  /home/changwen/av


可以看到用户lw不属于用户组,也不属于其它组,这就是ACL权限

3-2、最大有效权限与删除

上面getfacl av可以看到有一个mask
mask:是用来指定最大有效权限的。如果我给用户赋予ACL权限,是需要和mask的权限”相与”才能得到用户的真正权限。

# 修改最大有效权限
setfacl -m m:rx 文件名
 - 设定mask权限为r-x。使用"m:权限"格式

删除ACL权限
# 删除指定用户的ACL权限
setfacl -x u:用户名  文件名

# 删除指用户组的ACL权限
setfacl  -x g:组名  文件名

# 删除文件的所有的ACL权限
setfacl -b 文件名

3-3、默认ACL权限与递归ACL权限

1).递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限。递归权限仅能赋予目录,不能赋予文件。
setfacl -m u:用户名:权限 -R  文件名
  -R 如果不加R,那么该目录下创建的文件没有ACL权限
     但加R,会有权限溢出
所以建议少用ACL权限

2).默认ACL权限的作用是如果给们目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限。
setfacl -m d:u:用户名:权限  文件名

(转) Linux权限管理(基本权限、默认权限)的更多相关文章

  1. Linux创建目录和文件的默认权限设置

    这两天,项目中使用jenkins自动构建系统时遇到了在Linux中创建目录和文件的权限问题,临时的解决办法是在脚本中增加了chmod赋权限命令; 偶然想到Linux应该是可以设置默认权限的,故学习了一 ...

  2. java权限管理与用户角色权限设计

    java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器 ...

  3. 『学了就忘』Linux权限管理 — 53、ACL权限详解

    目录 1.什么是ACL权限 2.开启ACL 3.ACL权限的相关命令 (1)设定ACL权限 (2)查询文件的ACL权限 (3)设置文件ACL权限给用户组 (4)给文件夹和里边的文件同时赋予ACL权限 ...

  4. Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file

    文件默认权限:umask [root@www ~]# umask 0022 <==与一般权限有关的是后面三个数字! [root@www ~]# umask -S u=rwx,g=rx,o=rx ...

  5. Linux 文件和目录的权限设置 - umask(默认权限),chmod(改变权限)

    1. chmod 改变已有目录或文件的权限 chmod 设置已有目录或文件的权限.可以为指定范围的用户添加或删除权限. 权限范围的表示法如下: u:User,即文件或目录的拥有者: g:Group,即 ...

  6. linux系统权限管理拓展:特殊权限

    文件与目录权限设置不止读.写.执行这些,还有所谓的特殊权限,由于特殊权限会拥有一些"特权": 1 2 3 4 本章内容 SUID SGID SBIT 文件扩展权限ACL 1.SUI ...

  7. 一步一步Asp.Net MVC系列_权限管理总结(附MVC权限管理系统源码)

    在上一节中我们总结了关于权限控制的方式,我们这一节讲解关于权限控制中角色权限的授予处理等等并做本系列的总结. 首先,我们来谈谈权限控制中角色权限的控制,上一节只是针对权限拦截中比较粗的控制,如果我们需 ...

  8. JOffice中的权限管理--功能粒度的权限管理配置

    JOffice中的权限管理是基于角色的管理策略,采用Spring Security2的配置方式,同时能够结合EXT3来进行整个系统的权限管理,通过使用配置文件,进行整个系统的功能集中管理,包括系统左边 ...

  9. Linux命令(七)Linux用户管理和修改文件权限

    1. 用户管理 1.1 创建用户/设置密码/删除用户 (-m很重要,自动添加用户家目录) 创建用户组dev, 给用户组dev新建xiaoqin用户,给新用户设置密码! 1.2 查看用户信息 1.3 设 ...

  10. Linux 文件隐藏属性-创建文件默认权限

    Linux特殊权限介绍 # password原本只有root可以访问但是为什么普通用户在修改密码的时候也可以改里面的内容. [root@gong ~]# ll /usr/bin/passwd -rws ...

随机推荐

  1. 无界面上(linux)运行jmeter(2)

    无界面上(linux)运行jmeter 1.先在bin目录下面创建一个文件夹testplan用来存放脚本(.jmx文件),然后在创建一个文件夹testresult用来存放脚本执行后的结果(.jtl文件 ...

  2. 三十九:数据库之SQLAlchemy.relationship方法中的cascade参数

    在SQLAlchemy中,只要将一条数据添加到session中,其它和此条数据相关联的数据都会一起存到数据库中,这是因为在relationship中有一个关键字参数:cascade,默认选项为save ...

  3. Windows 上第一款全局轮盘菜单软件(鼠标党进)

    哈哈,我又来了. 如果之前已经有人做过了类似的,估计也没我做的好,反正我是没有见到过的

  4. OpenCV 中获取图像或矩阵最大、最小值的简便方法

    C++: void minMaxLoc(InputArray src, double* minVal, double* maxVal=0, Point* minLoc=0, Point* maxLoc ...

  5. P2085 最小函数值

    题目链接hhh:https://www.luogu.org/problemnew/show/P2085好嘛,运气真好,刚A掉序列合并,正好碰到这题,可以说是序列合并的升级版了 那么简单说一下思路,首先 ...

  6. ftp服务器三种模式

    一.匿名开放模式(最不安全) 1.[root@localhost ~]# vim  /etc/vsftpd/vsftpd.conf  (主配置) anonymous_enable=YES    //允 ...

  7. AGC037 C Numbers on a Circle【思维】

    题目传送门 题意 这道题被某大佬改编拿来出成考试题,是长这个样子的: 好的,其实这才是真正的题意: 给定初始序列和最终序列,每次选择一个数变成自己和相邻2个数的和.问初始序列是否可以变为最终序列,若可 ...

  8. Hadoop+HBase分布式部署

    test 版本选择

  9. [Python3] 026 常用模块 calendar

    目录 calendar 1. calendar.calendar(year, w, l, c, m) 2. calendar.prcal(year, w, l, c, m) 3. calendar.m ...

  10. hugo搭建个人博客

    本地先安装git 1. 下载hugo,并配置好环境变量 我这里win7 64位,选择该版本下载 将解压后的hugo.exe,配置到环境变量中,如下图所示表明配置成功 hugo version 2. 生 ...