bash
#include "stdio.h"
#include "unistd.h"
int main(int argc, char *argv[])
{
if (chmod("./a.out", 0741) != 0) {
perror("Failed to set exec permission");
return -1;
}
return 1;
}
0741中0是8进制,7是 0111, 4是0100, 1是0001
权限三个位分别表示自己,所在组,其他
然后每个位的值 有3个bit,bit2是read(对应值0100, 十进制是4),bit1是write(对应值010, 十进制是2),bit0是exec(对应值01, 十进制是1)。 所以7表示对于用户而言 3个bit都为1,就是rwx;
实操
并且可以看到ll显示的时候 就是按照rwx分别是bit 2 1 0