一、文件基本权限

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. Java内存泄漏分析和预防

    1. 什么是内存泄漏?有什么危害 书面说法: 内存泄漏:对象已经没有被应用程序使用,但是垃圾回收器没办法移除它们,因为还在被引用着. 在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个 ...

  2. Jquery 选择器的用法

    用js 动态生成<ul>标签的<li>条目,因为在动态的创建过程中li的点击事件是不太方便的,因此采用JQuery 的类选择器来实现. html代码: <div id=& ...

  3. 使用hash方法切割文件

    如果有大型数据文件(如每行为url或者ip或者单词等的),以G为单位的,处理的时候需先切分.普通切分方法直接根据数据条数切分,得到的每个文件大小相近. 但是有时需要将相同数据放到相同文件中.可以使用h ...

  4. Activity 的状态都有哪些?

    a) foreground activityb) visible activityc) background activityd) empty process

  5. [Python]操作shell脚本报错Permission denied

    问题: In []: os.system('./test_shell_no_para.sh') : ./test_shell_no_para.sh: Permission denied Out[]: ...

  6. Selenium 2自动化测试实战19(下载文件)

    一.下载文件 webDriver允许设置默认的文件下载路径,也就是说,文件会自动下载并且存放到设置的目录中.下面以火狐浏览器为例,执行文件的下载. #downfile.py # -*- coding: ...

  7. properties文件的加载方式

    下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...

  8. PowerDesigner_15连接Oracle11g,反向工程导出模型图

    1.启动PowerDesigner2.菜单:File->ReverseEngineer->Database出来NewPhysicalDataModel对话框,DBMS选择ORACLEVer ...

  9. hadop-eclipse-plugin导入plugins后没有mapreduce视图

    这种现象一般由于安装在eclipse\plugins下的插件没有导入的问题. 解决方法:把 eclipse\configuration\org.eclipse.update 删除掉.出现这种情况的原因 ...

  10. 2031 HDOJ 进制转换

    Problem Description 输入一个十进制数N,将它转换成R进制数输出.   Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=1 ...