Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1448921
  • 博文数量: 263
  • 博客积分: 10851
  • 博客等级: 上将
  • 技术积分: 2627
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-26 22:40
文章分类

全部博文(263)

文章存档

2013年(4)

2012年(25)

2011年(33)

2010年(50)

2009年(138)

2008年(13)

分类: LINUX

2009-12-27 17:31:13

1. umask的中文意思是用户权限“掩码”, 掩码中相应的位被设置了, 它所对应的权限就会被“禁止/拒绝”
2. 更改进程的umask值并不影响其父进程(通过是shell)的umask值
3. linux下默认, 创建文件的权限是666(rw-rw-rw), 创建目录的权限是777(rwxrwxrwx), 但是, 实际上open/creat调用中的标志是设置文件访问权限的请求, 所请求的权限是否被设置取决于当时的umask值, 如何取决, 见4
4. open/creat调用里给出的模式值与umask的“位反”做”位与“操作, 即得到创建文件的权限
网上一些说法的误解:
 umask值为022, 则创建文件的权限为644,  所以umask值为033, 则创建文件的权限为633,  实际上为644
 
 
umask 022 不仅仅可以这样用, 也可以直观的umask u=rw,g=rw,o= 使用来设置umask, 这时的umask值为117
umask -S 打印符号形式的umask值(即允许设置的权限位)
 
umask也有系统调用, 可以在进程里面设置当前进程在创建文件时使用的umask值
 
 
阅读(1045) | 评论(0) | 转发(0) |
0

上一篇:sort总结

下一篇:flock

给主人留下些什么吧!~~