如何在汇编linux x86中使用chmod()?

如何在汇编linux x86中使用chmod()?,linux,assembly,permissions,x86,chmod,Linux,Assembly,Permissions,X86,Chmod,如何使用chmod()更改程序集linux x86中的文件权限? 我想要汇编中的示例代码, 我看到了帮助指南,但仍然很难理解 chmod()有2个argv,第一个是路径文件名,第二个是mod path/Users/paul/Desktop/file.txt 和模式为: S_ISUID、S_ISGID、S_ISVTX、S_IRUSR、S_IWUSR 在url中可以看到更多内容 第一个问题:我需要在ecx变量中设置这些值,否则我必须使用 数值,我必须使用哪一个?S_IWGRP或00020#按组编写

如何使用chmod()更改程序集linux x86中的文件权限? 我想要汇编中的示例代码, 我看到了帮助指南,但仍然很难理解

chmod()有2个argv,第一个是路径文件名,第二个是mod

path/Users/paul/Desktop/file.txt 和模式为: S_ISUID、S_ISGID、S_ISVTX、S_IRUSR、S_IWUSR

在url中可以看到更多内容 第一个问题:我需要在ecx变量中设置这些值,否则我必须使用 数值,我必须使用哪一个?S_IWGRP或00020#按组编写

第二个问题:我真的这么做了吗?我将这些放在ecx中并执行相同的操作:

mov eax,15   
mov ebx,mypathfile
mov ecx,S_IWUSR
int 0x80
有人能给我一个代码示例吗

最后一个问题是,如何设置777对文件的权限(对所有文件执行读写)


谢谢。

这是完整的程序。这应该能回答你的问题

main.asm:

        global _start
        section .text

_start:
        mov eax, 15             ; sys_chmod                                     
        mov ebx, path
        mov ecx, 0777o
        int 0x80

        mov eax, 1              ; sys_exit                                      
        mov ebx, 0
        int 0x80

        section .data

path:   db "file.ext", 0
使用以下内容构建:

nasm -f elf32 -o main.o main.asm
ld -m elf_i386 -o main main.o

我找到了如何设置777烫发,请回答我的其他问题
nasm -f elf32 -o main.o main.asm
ld -m elf_i386 -o main main.o