C语言 如何在Linux中给予对文件的写权限?

hgncfbus  于 2023-10-16  发布在  Linux
关注(0)|答案(6)|浏览(108)

在Linux中,如何(以编程方式)将文件的写权限给予特定用户?比如说,它的主人?每个人都可以读取此文件。

qpgpyjmq

qpgpyjmq1#

在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

im9ewurl

im9ewurl2#

八进制模式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);
7uhlpewt

7uhlpewt3#

chmod 644 FILENAME

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

g2ieeal7

g2ieeal74#

你可以使用chmod,在ubuntu上你可以尝试$sudo chmod 666这将给予读/写权限给所有.查看更多细节:http://catcode.com/teachmod/

guicsvcw

guicsvcw5#

在shell脚本中,如果你想授予用户“john”访问权限,并且他们属于“users”组,你可以运行:
sudo chown john:用户示例. txt

rqcrx0a6

rqcrx0a66#

可以使用chmod 777 <filename>

相关问题