umask

linux umask计算方法

对着背影说爱祢 提交于 2019-12-03 09:56:37
1. umask用于设定默认的新建文件或目录的权限  查看umask当前值命令: umask -p  计算创建出的file权限方法: 如果umask值的每位数都是偶数,使用666按位减umask的值即可   如果某一位或所有位的数值是奇数, 则要在666按位减umask值的对应位数上+1.  计算创建出的dir权限方法: 直接使用777按位减umask值即可, 与位上的奇偶数无关. 2. 对应位数上值为7的数字, 在计算file权限时按照6计算, 计算dir时照常计算即可. 来源: https://www.cnblogs.com/quzq/p/11787235.html

文件的默认权限UMASK

*爱你&永不变心* 提交于 2019-12-03 09:29:31
当进入Linux系统后新创建的文件或者文件夹总是会有一个默认的权限,那么这个权限是如何设置的呢? umask就是设置文件与目录的默认权限 1. 查看umask 直接查看, [root@centos6 ~]# umask 0022 以模式方式显示 [root@centos6 app]# umask -S u=rwx,g=rx,o=rx 输出可被调用,重定向 [root@centos6 app]# umask -p umask 0022 0022表示的权限是rwxr-xr-x,第一位的0是特殊权限,这里先不做考虑。 2. 文件与目录权限 文件:新文件对于所有用户来说具有执行权限是很可怕的事情。所以对于文件来说默认最大权限就是666 rw-rw-rw 目录:对于目录来说,x权限意味着是否能进入到目录中。如果一个新建的目录无x权限就进入不了这个目录。那目录就没有存在的意义。所以目录的最大权限是777 drwxrwxrwx 3. 默认权限的计算 文件: 最大权限减去umask码等于默认权限,结果为奇数,则 奇数位 +1 结果为偶数 666-022=644,转换为权限 rw- r- - r - - 如果mask=135 666-025=641,奇数+1为642,转换为权限rw- -r- - - w- 目录: 最大权限减去umask码等于默认权限 777-022=755 转换为权限 rwxr

linux: getting umask of an already running process?

我的梦境 提交于 2019-12-03 05:40:55
问题 How can I check the umask of a program which is currently running? [update: another process, not the current process.] 回答1: You can attach gdb to a running process and then call umask in the debugger: (gdb) call umask(0) [Switching to Thread -1217489200 (LWP 11037)] $1 = 18 (gdb) call umask(18) $2 = 0 (gdb) (note: 18 = O22) This suggests that there may be a really ugly way to get the umask using ptrace. 回答2: From the GNU C Library manual: Here is an example showing how to read the mask with

Linux命令详解 三

情到浓时终转凉″ 提交于 2019-12-03 04:23:16
Linux用户和组的属性与权限 本章结构 1.用户账号和组账号概述 2.用户账号和组账号管理 3.查询账号信息 4.查看目录或文件的属性 5.设置目录或文件的权限 6.设置目录或文件的归属 前言 在linux中一切都是文件(文件夹和硬件设备是特殊的文件),如果有可能尽量使用文本文件。文本文件是人和机器能理解的文件,也成为人和机器进行交流的最好途径。由于所有的配置文件都是文本,所以你只需要一个最简单的编辑器就可以修改。由于修改文本文件如此简单,所以Linux系统本身肯定要加以规范。这就引出了用户(组)和权限这2个概念。而这2个概念的引入,完美的保证了Linux的安全性,同时没有添加复杂性。由于一切皆为文件。所以Linux引入了3个文件来管理用户(组), /etc/passwd存放用户信息,/etc/shadow存放用户密码信息,/etc/group存放组信息,然后在文件系统中的每个文件的文件头里面添加了用户和文件之间的关系信息。 一、用户和组的信息查看 1.用户:在Linux下,用户分为三类:超级用户(root)、普通用户、程序用户。 超级用户:UID=0 程序用户:Rhel5/6,UID=1-499; Rhel7,UID=1-999 普通用户:Rhel5/6,UID=500-65535; Rhel7,UID=1000-60000 超级用户有且只有一个,且不能被代替! 匿名用户

umask默认权限及特殊权限

删除回忆录丶 提交于 2019-12-03 02:21:19
1. linux系统中,创建一个新的文件或者目录的时候,新的文件或目录都会有默认的访问权限,umask命令与文件和目录的默认访问权限有关。 用户创建一个文件,文件的默认权限为 -rw-rw-rw-(666) ,创建目录的默认权限 drwxrwxrwx (777),umask值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值 2. 查看umask值 umask 修改umask值 umask 026 当umask为偶数: 创建文件的权限为:666-026 当umask为奇数: umask 025 创建文件权限为:666-025然后在奇数位上加1,权限为666-025+001=642  目录权限为:777-025=752 umask 055 文件权限为:666-055+011=622  目录权限为:777-055=722  临时设置umask,退出后失效 3. 永久修改umask的方法: vim /etc/profile if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then #[ 用户UID>=199 ] 并且 [ 用户的名字 == 用户组名字 ] umask 002 else umask 022 fi source /etc/profile 或者修改: 修改文件/etc

Linux命令详解 三

匿名 (未验证) 提交于 2019-12-02 21:59:42
Linux用户和组的属性与权限 本章结构 1.用户账号和组账号概述 2.用户账号和组账号管理 3.查询账号信息 4.查看目录或文件的属性 5.设置目录或文件的权限 6.设置目录或文件的归属 前言 在linux中一切都是文件(文件夹和硬件设备是特殊的文件),如果有可能尽量使用文本文件。文本文件是人和机器能理解的文件,也成为人和机器进行交流的最好途径。由于所有的配置文件都是文本,所以你只需要一个最简单的编辑器就可以修改。由于修改文本文件如此简单,所以Linux系统本身肯定要加以规范。这就引出了用户(组)和权限这2个概念。而这2个概念的引入,完美的保证了Linux的安全性,同时没有添加复杂性。由于一切皆为文件。所以Linux引入了3个文件来管理用户(组), /etc/passwd存放用户信息,/etc/shadow存放用户密码信息,/etc/group存放组信息,然后在文件系统中的每个文件的文件头里面添加了用户和文件之间的关系信息。 一、用户和组的信息查看 1.用户:在Linux下,用户分为三类:超级用户(root)、普通用户、程序用户。 超级用户:UID=0 超级用户有且只有一个,且不能被代替! 匿名用户(nobody):普通用户中权限最小的 2.组:用户权限的集合称为组 私有组:伴随着用户的创建而创建,与用户同名 共有组:附加组 直接创建空组,可以添加已有用户,给组设置权限

Linux用户及权限管理

匿名 (未验证) 提交于 2019-12-02 21:56:30
接触过Linux系统的人都知道Linux系统都是由文件组成的。那我们就应该意识到关于文件权限的重要性。下面详细介绍一下: 博文大纲: 用户与用户组; Linux文件权限的重要性; 文件与目录的默认权限与隐藏权限; 文件特殊权限; 一、用户与用户组 我们来通过一张图片,来详细了解一下用户与用户组之间的关系: 通过这张图片就可以详细的了解用户与用户组之间的关系! 我们通过浏览/root目录下的文件来了解一下每个文件各个部分的内容: (1)第一栏代表这个文件的类型与权限 这个地方最需要注意了!仔细看的话,你应该可以发现这一栏其实共有十个字符,每个字符的含义,如图: 第一个字符代表这个文件是『目录、文件或链接文件等等』: 若是[ d ]则是目录,例如上表文件名为“.config”的那一行; 若是[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行; 若是[ l ]则表示为链接文件(link file); 若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备); 若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备); 接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是

linux下文件/目录的默认权限

匿名 (未验证) 提交于 2019-12-02 21:56:30
在linux系统中任何文件/目录都有一定的权限,对于新创建的文件或目录,也会有默认的访问权限。可能是出于安全的考虑,linux系统新建文件默认没有执行权限,其最大权限为rw-rw-rw-(666),新建目录的最大权限为rwx-rwx-rwx(777)。而默认的权限与umask命令有关。 umask指定当前用户在新建文件和目录时的默认权限,其值可以通过 umask 命令得到,其值的含义与chmod 命令是补码的关系。也可以通过 umask -S 直接查看默认权限。 例如:umask 0002 新建文件的权限为(最大权限666-002)664,即rw-rw-r-- 新建目录的权限为最大权限(777-002)775,即rwxrwxr-x 临时改变 ```umask 027 只改变当前终端 * 永久改变 在/etc/bashrc中添加umask 27 ```

重读APUE(6)-umask

这一生的挚爱 提交于 2019-12-02 21:14:33
umask函数设置当前进程的权限为屏蔽字;系统会有一个默认的屏蔽字,为 了确保创建文件具有的权限位成功被设置,需要使用umask将屏蔽字置0 ; 系统屏蔽字用shell查看,比如得到如下结果,其为八进制表示形式,以0开头;这个屏蔽字表示屏蔽掉了组的写和其他的写权限; 1 0022 下面的例子很好的说明了umask的使用,首先使用umask(0)将屏蔽字置0,此时新建foo文件,可见其具有设置的全部读写权限;而后用umask屏蔽掉组和其他的读写位,新建bar,可见bar之具有用户读写权限; 另外需要注意的是, 进程设置umask不会改变到系统的umask,只在进程内部有效 ; 1 #include "apue.h" 2 #include <fcntl.h> 3 4 #define RWRWRW (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) 5 6 int 7 main(void) 8 { 9 umask(0); 10 if (creat("foo", RWRWRW) < 0) 11 err_sys("creat error for foo"); 12 umask(S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); 13 if (creat("bar", RWRWRW) < 0) 14 err_sys(

umask

佐手、 提交于 2019-12-02 18:02:43
目录 umask umask 修改 永久修改 附加权限(TODO) title: umask date: 2019/10/29 08:44:24 toc: true --- umask umask umask是shell终端或者说是你这个环境的读写执行的权限,你在自己的环境中执行open所附加的权限要和这个权限进行与操作,这个umask是4个8进制数值,最高位的这个是什么附加权限,暂时不去理会. 我们默认 创建文件的权限是 -rw-rw-rw- ,创建目录的权限是 drwxrwxrwx 先看root, 0022 中 2 就是写权限,也就是去除写权限 root@100ask:/home/book/work/1_write# umask 0022 root@100ask:/home/book/work/1_write# touch a root@100ask:/home/book/work/1_write# mkdir b root@100ask:/home/book/work/1_write# ls -l a -rw-r--r-- 1 root root 0 10月 28 22:50 a drwxr-xr-x 2 root root 4096 10月 28 22:51 b 再看普通用户,这里就是去除other的写权限 book@100ask:1_write$ umask 0002