18 May 2007

umask 疑云

(很久没有好好 blogging 了……)

众所周知,Linux 下的文件有三种权限位: r(read), w(write), x(execute),每个文件又把用户分成三组: user, group, others。由此相成一个文件的权限:
$ touch file
$ ls -l file
-rw-r--r-- 1 jick users 0 2007-05-18 17:56 file

每一种权限又可以使用数字来表示:r - 4,w -2,x - 1。由此,上面文件的权限又可以表示为 644。r,w,x 全打开可表示为 777。用 touch 命令创建的文件会设置默认的权限位。

权限位使用 umask 查看和设置:
$ umask
0022

(之所以是四位而不是三位,是因为 u,g,o 之外还有 Super 位,这不在我们本次的讨论中 ;-)

这里有一个问题,全部设置后权限位是 0777,系统默认的 umask 值是 0022,为什么 touch 创建的文件权限位是 0666? 执行权限位跑哪里去了? 这就是今天要说的 umask 疑云。

umask 值会在两个地方用到: open() 和 mkdir(),也就是系统创建文件和目录的时候。我们来分析一下 open()。
       #include <sys/types.h>
       #include <sys/stat.h>
       #include <fcntl.h>

       int open(const char *pathname, int flags);
       int open(const char *pathname, int flags, mode_t mode);

open() 有两种调用方式,一种不设置 file 的 mode,而使用系统默认的 umask;一种可以设置 file 的 mode,从而产生不同的权限位。

当 open() 的 mode 设置为 0777 ,默认 umask 为 0022 时,所创建文件的权限位是 0755。从这里可以看出,umask 值是可以屏蔽  open() 的 mode。

但 touch 的时候,为什么系统会雪藏我们的执行权限位呢? 原来 ,在创建文件的时候,Linux 系统会拿掉执行权限位;而在创建目录的时候,Linux 系统则不会拿掉执行权限位,因为在查看目录的时候需要用到执行权限位(尝试拿掉目录的权限位,然后 ls 该目录,看到了什么?)。我猜测,Linux 继承 Unix 的这一传统,大概是出于安全性的考虑 ;-)

--
每一个不曾起舞的日子都是对生命的辜负。
期待 2007

总结过去是为了展望未来 :-)

1. 期待一台 Notebook。不一样的计算机带来不同的使用习惯:从共用一台 PC,到独享一台 PC,再到一台 NB,我相信我对网络和计算机的使用习惯会发生相当大的变化。在 2006 的末尾,我忽然发现是时候有一台 NB 了。

2. 期待 Google 产品大整合: 在 Gmail 里方便的写 BlogSpot;Google 使用统一的超强的地址本; Google Reader 和 Gmail 两个收件箱合起来;使用 GDrive 统一存储; Google Reader,或者说 RSS 可以追踪留言。

3. 期待财务自由。以前从没有关注过这方面,但今年刚开始就突然就有了这么一个念头。努力,奋斗!

2007-05-18
这应该是一个为完成的作品,现在也忘记接下来想说什么了 ;-)

2007已经过去一半了,我终于有了自己的 Notebook,开始不一样的网络和电脑使用习惯 ;-) 更进一步,我还通过 Opera Mini 将互联网装到了 Moto E2 这个随身设备里面。

Google 依旧继续着整合,这正式我希望看到的。

我已经不期待短期内实现财务自由了,因为我现在了解到了实现财务自由的艰难,这将是我长期的追求。
Opera - 我用着最顺手的浏览器。

Firefox - 有些 Google 服务不支持 Opera,但 Firefox 可以。

Vim - Linux 下第一编辑器;Windows 下也尽量使用,和车东一样,避免对 UltraEdit 产生依赖。

Gtalk -身兼两职。是 IM,也是 Gamil Alerter。

PieTTY - 增强对中文字符集支持的 PuTTY,来自车东的推荐 :-)

7-zip - Win 下的压缩/解压缩工具,替代破解版的 WinRAR。

StarDict - Linux 下第一字典软件;Win 下最终替代了破解版的金山词霸。

相关连接:

http://my.donews.com/jnan/2005/12/24/2005-最常用的服务/

年终小结:2006
http://www.chedong.com/blog/archives/001266.html

2006年我的常用软件和网络服务
http://www.shunz.net/2007/01/2006-commonly-used-software.html

2007-05-18
继续整理 Docs 中...

软件的使用习惯变化不是太大。新发现 Pidgin (以前叫 Gaim)可以在 Linux 和 Windows 双平台上拼掉 MSN/QQ/Gtalk 之类,而且具有 Gmail、Hotmail 的邮件提醒。

2006 年,除了由 SC 的一年级升到了二年级,我有如下转换:

1. Blog 平台: Wordpress.com -> My.donews.com -> Blogger.com。2 月份,从 Wordpress 到 MyDonews 是因为 Wordpress 被墙挡在了外面; 8 月份,从 MyDonews 到 Blogger 是因为 Blogger 被转移到了墙里面。

2. Linux 发行版: Debian -> Slackware。喜欢 Slackware 的简单;不喜欢 Debian 对源码包的深度修改,当然这些修改从另一个角度讲似乎很必要。

3. Win 软件: 破解软件-> 免费/开源/自由软件。重装了一次 Win,试着采用了不少非破解软件: WinRAR->7-zip, Kaspersky->ClamWin, FileFXP->FileZilla, Adobe Reader->Foxit Reader, MS Office->WPS Office, UltraEdit->Vim, 金山词霸->StarDict。在 Win 下,值得一提的还有: mplayer, wxMusik。常用的 Win Softare 列表在这里:
http://jicknan.googlecode.com/svn/trunk/doc/knowledge/win_software

4. Blog Search: Technorati->Google Blog Search。众所周知,还是那堵墙的威力。

5. 网络相册:网易相册->又拍

相关链接:

http://my.donews.com/jnan/2005/12/24/2005-失去的常用服务 /


2007-05-18
2006 年总结的系列文章,用 Google Docs 写的。整理Docs的时候发现了,准备放出来。
目前为止变化还不大,只是网络相册增加了 Picasa Web。

12 May 2007

2nd hand T42

Thinkpad T42 2373-NTH
PM725 1.6G/512M/40G/ATI 7500 32M/802.11 BG/14.1/4.7K

More:
http://digest-of-jick.blogspot.com/2007/05/t42-report-from-thinkpad-configuration.html
http://digest-of-jick.blogspot.com/2007/05/t42-report-from-everest.html

--
每一个不曾起舞的日子都是对生命的辜负。

7 May 2007

我的新窝?

Chen Bo 给我发信说通过 Google webmaster 发现了我在 mayi 的新窝,其实我只是注册了 mayi,都忘了填没填 blog 地址。

然后某次进行自恋搜索的时候发现了 mayi 的把戏,现在是活动频繁的 Chen Bo 发现了我的这个地方,还误以为是我的新窝呢。

写这篇 blog 就是要声明: mayi 不是我的新窝。 我是没有精力维护新窝的,但有人给我做个国内的镜像,在 CC(署名,非商业) 的版权下,我还是很欢迎的 ;-) 目前,mayi 还是遵循 CC 的,每篇 blog 下面都添加了一个"原文地址"。

所谓"新窝"的地址我就不给了,你发现的时候知道有这么回事就可以。每个社区都需要有自己的内容,这可能是 mayi 内容爆增计划的一部分吧。

--
每一个不曾起舞的日子都是对生命的辜负。