如何在Linux中为文件提供写入权限?

时间:2011-07-18 11:48:50

标签: c linux

我如何(以编程方式)将文件的写权限授予Linux中的特定用户?比如,它的拥有者?每个人都有对此文件的读取权限。

5 个答案:

答案 0 :(得分:24)

在shell或shell脚本中,只需使用:

chmod u+w <filename>

这仅修改用户的写入位,所有其他标志保持不变。

如果您想在C程序中执行此操作,则需要使用:

int chmod(const char *path, mode_t mode);

首先通过

查询现有模式
int stat(const char *path, struct stat *buf);

...只需通过newMode = oldMode | S_IWUSR设置写入位。有关详细信息,请参阅man 2 chmodman 2 stat

答案 1 :(得分:9)

八进制模式644将赋予所有者读取和写入权限,并且只读取该组其余部分以及其他用户的权限。

read     = 4
write    = 2
execute  = 1
owner    = read | write = 6
group    = read         = 4
other    = read         = 4

设置模式的命令的基本语法是

chmod 644 [file name]

在C中,那将是

#include <sys/stat.h>

chmod("[file name]", 0644);

答案 2 :(得分:1)

chmod 644 FILENAME

6是读写,4是只读。假设文件的所有者是您希望授予写入权限的用户。

答案 3 :(得分:-1)

你可以使用chmod做到这一点,在ubuntu你可以试试 $ sudo chmod 666 这将为所有人提供读/写权限...请查看此信息以获取更多详细信息: http://catcode.com/teachmod/

答案 4 :(得分:-1)

您可以使用chmod 777 <filename>