0

我在 Linux 中写了一个小的打开和关闭文件程序,请在下面找到它:

#include <stdio.h>  
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main()
{

int fd;

fd = open("/home/jeshwanth/junk/text",O_WRONLY | O_CREAT);

if ( fd == -1)
    printf("Error in opening \n");

close(fd);
return 0;
 }

程序执行后,我发现可执行位显示一些未知权限 -rwsrwSr-T。有人可以解释一下吗?
提前致谢

4

1 回答 1

2

他们有什么不为人知的?从ls手册页:

The next three fields are three characters each: owner permissions, group
permissions, and other permissions.  Each field has three character positions:

     1.   If r, the file is readable; if -, it is not readable.

     2.   If w, the file is writable; if -, it is not writable.

     3.   The first of the following that applies:

                  S     If in the owner permissions, the file is not exe-
                        cutable and set-user-ID mode is set.  If in the
                        group permissions, the file is not executable and
                        set-group-ID mode is set.

                  s     If in the owner permissions, the file is exe-
                        cutable and set-user-ID mode is set.  If in the
                        group permissions, the file is executable and set-
                        group-ID mode is set.

                  x     The file is executable or the directory is search-
                        able.

                  -     The file is neither readable, writable, exe-
                        cutable, nor set-user-ID nor set-group-ID mode,
                        nor sticky.  (See below.)

            These next two apply only to the third character in the last
            group (other permissions).

                  T     The sticky bit is set (mode 1000), but not execute
                        or search permission.  (See chmod(1) or
                        sticky(8).)

                  t     The sticky bit is set (mode 1000), and is search-
                        able or executable.  (See chmod(1) or sticky(8).)
于 2013-07-16T16:57:12.827 回答