gpt4 book ai didi

linux - os.Mkdir 和 os.Mkdir 所有权限

转载 作者:IT老高 更新时间:2023-10-28 12:58:44 27 4
gpt4 key购买 nike

我正在尝试在我的程序开始时创建一个日志文件。

如果 /log 目录没有创建目录,我需要检查它是否存在,然后继续创建日志文件。

好吧,我尝试使用 os.Mkdir(以及 os.MkdirAll),但无论我在第二个参数中输入什么值,我都会被锁定没有权限的文件夹。为了获得用户文件夹的读/写,这应该是什么值?我以为它会是 0x700 但它似乎不起作用。

谢谢!

最佳答案

你可以直接使用八进制:

os.Mkdir("dirname", 0700)


权限位

+-----+---+--------------------------+
| rwx | 7 | Read, write and execute |
| rw- | 6 | Read, write |
| r-x | 5 | Read, and execute |
| r-- | 4 | Read, |
| -wx | 3 | Write and execute |
| -w- | 2 | Write |
| --x | 1 | Execute |
| --- | 0 | no permissions |
+------------------------------------+

+------------+------+-------+
| Permission | Octal| Field |
+------------+------+-------+
| rwx------ | 0700 | User |
| ---rwx--- | 0070 | Group |
| ------rwx | 0007 | Other |
+------------+------+-------+

A Unix Permission Primer


常见的权限用法

0755 常用于网络服务器。所有者可以读、写、执行。其他人都可以读取和执行,但不能修改文件。

0777 每个人都可以读写和执行。在 Web 服务器上,不建议对您的文件和文件夹使用“777”权限,因为它允许任何人向您的服务器添加恶意代码。

0644 只有所有者才能读写。其他人只能阅读。没有人可以执行该文件。

0655 只有拥有者可以读写,不能执行文件。其他人都可以读取和执行,但不能修改文件。

www.maketecheasier.com/file-permissions-what-does-chmod-777-means/


Linux 上的目录权限

在 Linux 上对目录应用权限时,权限位的含义与常规文件不同。 (source)

读取位 用户可以读取目录中包含的文件名。
写入位如果也设置了执行位,用户可以{添加、重命名、删除}文件名。
执行位 用户可以进入目录,访问里面的文件。

https://unix.stackexchange.com/a/21252

权限计算器

permissions calculator

一个方便的permissions calculator .

关于linux - os.Mkdir 和 os.Mkdir 所有权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14249467/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com