QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 840|回复: 7

菜鸟的问题

[复制链接]
发表于 2004-3-10 09:40:13 | 显示全部楼层 |阅读模式
在/etc/bashrc脚本中有这样的一句话,是设置umask的,
[code:1]
if [ "`id -gn`" = "`id -un`" -a `id -u` -gt 99 ]; then
        umask 002
else
        umask 022
fi
[/code:1]

我想知道:
umask是干什么用的,后面的编码表示什么?
那个比较条件怎么解释?
发表于 2004-3-10 10:16:37 | 显示全部楼层
虽然帮不了你,但也是要顶!
回复

使用道具 举报

 楼主| 发表于 2004-3-10 15:30:08 | 显示全部楼层
怎么没人回答呀 :neutral:  :neutral:
回复

使用道具 举报

发表于 2004-3-10 18:45:59 | 显示全部楼层
umask 是设置用户文件权限掩码的,例如在root下的umask值一般为022。
比较有用,我也是新手。
可以看一下系统安装栏里的盲主席的扫盲文章.
回复

使用道具 举报

发表于 2004-3-10 21:43:52 | 显示全部楼层
我记得好像是这样的
umask是反码,就像ip地址的掩码一样
#su
#umask 022
#mkdir test
#ll -d test
你可以看到test的权限是755
就这样,很简单的
如果改一下
#umask 777
#mkdir test1
#ll -d test1
你会看到test的权限变成000了
hoho~~
回复

使用道具 举报

 楼主| 发表于 2004-3-11 14:45:24 | 显示全部楼层
创建文件或文件夹时用umask的反码
如777,八进制 111 111 111,对应的反码 000 000 000
如022 八进制   000 010 010,对应的反码 111 101 101, 翻译成权限就是
文件或文件夹的所有者可读、可写、可执行,组用户和其他用户可读、可执行

***********************************

但哪个比较条件是怎么解释呢?

bash的高手在哪?????????????
回复

使用道具 举报

发表于 2004-3-12 17:44:26 | 显示全部楼层
umask对目录和文件是不同的
比如系统默认umask=022,那么如果新建一个目录,则这个目录的默认权限值就是777的每一位减去umask的相应位即755,如果新建的是文件,则这个文件的默认权限值就是666去减即644,也就是目录默认是可执行的,文件默认不可执行,调整umask值可以改变系统新建文件和目录的权限默认值;具体内部是怎样实现的我就不清楚了。
回复

使用道具 举报

 楼主| 发表于 2004-3-15 15:24:32 | 显示全部楼层
当我们执行一个目录的时候系统会报这个信息
[code:1]
bash: ./ttt: is a directory
[/code:1]
当去掉目录的可执行权限后,对目录的使用几乎不产生什么影响,切换、修改、删去都能正常使用。
但执行时,bash报的消息不一样,与执行一个没有执行权限文件是一样的
[code:1]
bash: ./ttt: No such file or directory
[/code:1]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 22:35 , Processed in 0.086522 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表