1. chmod 改变已有目录或文件的权限

chmod 设置已有目录或文件的权限。可以为指定范围的用户添加或删除权限。

权限范围的表示法如下:

  • u:User,即文件或目录的拥有者;
  • g:Group,即文件或目录的所属群组;
  • o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
  • a:All,即全部的用户,包含拥有者,所属群组以及其他用户;

权限设置如下:

  • r:读取权限,数字代号为“4”;
  • w:写入权限,数字代号为“2”;
  • x:执行或切换权限,数字代号为“1”;
  • -:不具任何权限,数字代号为“0”;
  • s:特殊功能说明:变更文件或目录的权限。

语法:

chmod [选项] 权限模式 文件

选项:

  • -f--quiet--silent:不显示错误信息;
  • -R--recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
  • -v--verbose:显示指令执行过程;
  • --reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
  • +:开启权限范围的文件或目录的该选项权限设置;
  • -:关闭权限范围的文件或目录的该选项权限设置;
  • =:指定权限范围的文件或目录的该选项权限设置;

示例:

chmod u+x,g+w file  // 所有者添加可执行权限,同组用户添加可写入权限
chmod u=rwx,g=rw,o=r file  
chmod 764 file  
chmod a+x file  //对文件的 u,g,o 都设置可执行属性

2. umask 设置用户创建目录或文件时的默认权限

默认情况下的 umask 值是 022。

与 chmod 相反,umask 用来设置限制新建目录或文件的权限掩码,用于指定在新目录或文件的默认权限中删除哪些权限。当创建新目录或文件时,默认的初始权限由权限掩码决定。用户每次登陆系统时都会自动执行 umask 命令,并自动设置权限掩码来限制新文件的权限。可以手动执行 umask 命令来改变默认值。

设置掩码时,文件和目录的可执行权限有所区别。文件基数为 666,目录为 777,即文件无法设置可执行位,目录可设可执行位。所以 033 效果与 022 一样,假设使用 033 掩码进行设置,则真实权限应为 633 即 rw- r-x r-x,但前提规定文件不生成 x 位,所以文件的权限最终将以 rw-r--r-- 出现。因此建立的文件默认权限是 644,建立的目录的默认权限是 755。

语法:

umask [选项] [权限掩码]

选项:

  • -p:输出的权限掩码可直接作为指令来执行;
  • -S:以符号方式输出权限掩码。

示例:

将新文件和目录的默认权限就为 642,753:

umask 024

下面的两个命令创建相同作用的掩码,取消组用户的写权限,其他用户的读、写和执行权限:

umask u=, g=w, o=rwx

umask 027

上面的命令执行以后,对于下面创建的新文件,其文件主的权限未做任何改变,而组用户没有写权限,其他用户的所有权限都被取消。

查看当前权限掩码:

[root@VM_120_242_centos ~]# umask
0022
[root@VM_120_242_centos ~]# umask -S
u=rwx,g=rx,o=rx

umask 一般在 /etc/profile~/.bash_profile~/.profile 中设置,由于 profile 的读取有一定的顺序:

/etc/profile -> ~/.profile -> ~/.bash_profile,所以在 .profile 里面设置的 umask 会被后面的 profile 覆盖,推荐设置在 ~/.bash_profile

[root@VM_120_242_centos ~]# cat /etc/profile
...
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002
else
umask 022
fi
...

Linux 文件和目录的权限设置 - umask(默认权限),chmod(改变权限)的更多相关文章

  1. Linux学习之十四-Linux文件和目录权限

    Linux文件和目录权限 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允 ...

  2. Linux文件和目录的属性及权限总结

    本文讲述的是文件或目录的属性及权限,比如索引节点inode.文件类型.文件权限及属主:还对setuid.setgid及粘贴位进行了相关的讲解.其中,对ln.chmod.chown.chgrp.umas ...

  3. Linux文件和目录的属性及权限

    Linux文件和目录的属性及权限讲解 文字解释: 第一列:inode索引节点 第二列:文件类型及权限 第三列:硬链接个数 第四列:文件或目录所属的用户(属主) 第五列:文件或目录所属的用户所归属的组( ...

  4. Linux文件和目录权限详细讲解

    转载请标明出处: http://www.cnblogs.com/why168888/p/5965180.html 本文出自:[Edwin博客园] Linux文件和目录权限解读 如何设置Linxu文件和 ...

  5. Linux文件和目录的777、755、644权限解释

    Linux文件和目录的权限 1.文件权限 在linux系统中,文件或目录的权限可以分为3种: r:4 读 w:2 写 x:1  执行(运行)-:对应数值0 数字 4 .2 和 1表示读.写.执行权限 ...

  6. Linux文件和目录权限实战讲解

    一 相关课程回顾1.1 linux文件类型当执行ls -l或ls -la 命令后显示的结果中最前面的第2~10个字符是用来表示文件权限 第一个字符一般用来区分文件和目录: d:表示是一个目录,事实上在 ...

  7. Linux文件和目录管理常用重要命令

    一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 "路径" 以及 "相对路径" 与 "绝 ...

  8. linux入门教程(六) Linux文件与目录管理

    在linux中什么是一个文件的路径呢,说白了就是这个文件存在的地方,例如在上一章提到的/root/.ssh/authorized_keys 这就是一个文件的路径.如果你告诉系统这个文件的路径,那么系统 ...

  9. CentOS(十)--与Linux文件和目录管理相关的一些重要命令②

    在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux.在上一篇随笔 Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令① 中,详细记录了与Lin ...

随机推荐

  1. POJ-2456.Aggressivecows.(二分求解最大化最小值)

    本题大意:在坐标轴上有n个点,现在打算在这n个点上建立c个牛棚,由于牛对厂主的分配方式表示很不满意,它很暴躁,所以它会攻击离它很近的牛来获得快感,这件事让厂主大大知道了,他怎么可能容忍?所以他决定有策 ...

  2. ajax 的post方法 的content-type设置和express里应用body-parser

    ajax的post方法相比get方法,在传参形式上很不一样, get把参数用'?'拼接在端口后,并且用'&'连接;而post则是需要在send参数里设置. 根据ajax实例xhr.setReq ...

  3. win7 开启 telnet 服务

    如何重新开启win7的telnet服务 “控制面板”-->“系统和安全”-->“允许远程访问”-->“远程桌面”-->“选择用户”,添加可telnet的用户. “控制面板”-- ...

  4. webpack 4.0 报错

    ERROR in multi ./src/entery.js dist/bundle.jsModule not found: Error: Can't resolve 'dist/bundle.js' ...

  5. uboot中Kconfig架构的理解

    1./u-boot-2019.07/Kconfig 是顶层Kconfig mainmenu "U-Boot $UBOOTVERSION Configuration"  #这是总me ...

  6. 前端每日实战:98# 视频演示如何用纯 CSS 创作一只愤怒小鸟中的绿猪

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/VBGWqX 可交互视频 此视频是可 ...

  7. springboot操作rabbitmq

    ////DirectExchange directExchange = new DirectExchange("test.direct");////amqpAdmin.declar ...

  8. Windows 下搭建 SVN服务器

    目录 一 .安装Visual SVN 二.配置SVN 三.安装TortoiseSVN 四.上传项目到远程仓库 五.从远程仓库下载项目 六.检出项目 七.版本回退   参考链接 https://blog ...

  9. Python随笔——Map之键对应多值的处理

    在使用 Python 处理时,因为某些原因,可能遇到 Map 的键对应多个值的处理. 很常见的比如:查询某表的结果,对应了多条记录. 此时使用Python进行算法处理时,其中一种方式如下: 定义一个 ...

  10. 【leetcode】1054. Distant Barcodes

    题目如下: In a warehouse, there is a row of barcodes, where the i-th barcode is barcodes[i]. Rearrange t ...