函数semget( mykey, numsems, IPC_CREAT | 0660 ) 中,0660是什么意思

函数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表示这是个八进制数。

你可能感兴趣的:(函数semget( mykey, numsems, IPC_CREAT | 0660 ) 中,0660是什么意思)