Posted on 2009-03-05 15:02
Prayer 阅读(3151)
评论(0) 编辑 收藏 引用 所属分类:
LINUX/UNIX/AIX
函数semget( mykey, numsems, IPC_CREAT | 0660 ) 中,0660是什么意思
学习一下umask
0660表示用户和同组用户有读写权限,其他用户没有任何访问权限。
- C/C++ code
-
/* sys/ipc.h */
/* common mode bits */
#define IPC_R 000400 /* read permission */
#define IPC_W 000200 /* write/alter permission */
#define IPC_M 010000 /* permission to change control info */
#endif
/* SVID required constants (same values as system 5) */
#define IPC_CREAT 001000 /* create entry if key does not exist */
#define IPC_EXCL 002000 /* fail if key exists */
#define IPC_NOWAIT 004000 /* error if request must wait */
#define IPC_PRIVATE (key_t)0 /* private key */
#define IPC_RMID 0 /* remove identifier */
#define IPC_SET 1 /* set options */
#define IPC_STAT 2 /* get options */
/* sys/sem.h */
/*
* Permissions
*/
#define SEM_A IPC_W /* alter permission */
#define SEM_R IPC_R /* read permission */
- BatchFile code
-
The mode of a newly created IPC object is determined by OR'ing the fol-
lowing constants into the flag argument:
-
SEM_R Read access for user.
SEM_A Alter access for user.
(SEM_R>>3) Read access for group.
(SEM_A>>3) Alter access for group.
(SEM_R>>6) Read access for other.
(SEM_A>>6) Alter access for other.
0660:
从左向右:
第一位:(我不清楚,也没有用过)
第二位:当前用户的经权限:6=110(二进制),每一位分别对就 可读,可写,可执行,,6说明当前用户可读可写不可执行
第三位:group组用户,6的意义同上
第四位:其它用户,每一位的意义同上,0表示不可读不可写也不可执行
0660:
从左向右:
第一位:(我不清楚,也没有用过)
第二位:当前用户的经权限:6=110(二进制),每一位分别对就 可读,可写,可执行,,6说明当前用户可读可写不可执行
第三位:group组用户,6的意义同上
第四位:其它用户,每一位的意义同上,0表示不可读不可写也不可执行
第一位0表示这是个八进制数。