我在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 。任何人都能解释一下这个吗? 提前致谢
答案 0 :(得分: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).)