如何创建一个777权限的目录?
How to create a directory with 777 permissions?
我想创建权限为 777 的目录。
下面的代码正在创建目录,但没有我要求的权限。
section .text
global _start:
_start:
mov rax,83 ;syscall number for directory
mov rdi,chaos ; dir name
mov esi,00777Q ;permissions for directory
syscall
mov rax,60
mov rdi,0
syscall
section .data
chaos:db 'somename'
这里是man 2 mkdir
:
The argument mode
specifies the mode for the new directory (see inode(7)). It is modified by the process's umask in the usual way: in the absence of a default ACL, the mode of the created directory is (mode & ~umask & 0777)
.
基本上,您的程序和您的用户都可以否决每个权限位:
- 您可以通过将它们传递给
mkdir
来说明您对哪些位感到满意
- 用户可以通过设置
umask
来说明他们喜欢哪些位
- 只有你们都同意的位才会被设置到最终目录。
因此:
如果您 运行 umask 0000
在 运行 安装您的程序之前,您的目录将是 0777
。
如果您 运行 umask 0027
,您的目录将是 0750
。
如果你想违背用户的意愿强制你的目录 777
,你必须在单独的步骤中 chmod("somename", 0777)
。
我想创建权限为 777 的目录。
下面的代码正在创建目录,但没有我要求的权限。
section .text
global _start:
_start:
mov rax,83 ;syscall number for directory
mov rdi,chaos ; dir name
mov esi,00777Q ;permissions for directory
syscall
mov rax,60
mov rdi,0
syscall
section .data
chaos:db 'somename'
这里是man 2 mkdir
:
The argument
mode
specifies the mode for the new directory (see inode(7)). It is modified by the process's umask in the usual way: in the absence of a default ACL, the mode of the created directory is(mode & ~umask & 0777)
.
基本上,您的程序和您的用户都可以否决每个权限位:
- 您可以通过将它们传递给
mkdir
来说明您对哪些位感到满意
- 用户可以通过设置
umask
来说明他们喜欢哪些位
- 只有你们都同意的位才会被设置到最终目录。
因此:
如果您 运行
umask 0000
在 运行 安装您的程序之前,您的目录将是0777
。如果您 运行
umask 0027
,您的目录将是0750
。如果你想违背用户的意愿强制你的目录
777
,你必须在单独的步骤中chmod("somename", 0777)
。