默认权限或配置是什么?恢复 chmod 777

默认权限或配置是什么?恢复 chmod 777

我是 Ubuntu 和 Linux 的新手,似乎犯了一个错误。我当前以 root 身份登录,在我的 python 文件中遇到权限问题,使用以下命令时无法创建文件。

open('test.txt', 'w')

为了解决这个问题,我运行了以下命令。

sudo chmod -R 777 ~/MyDir

所有内容都以浅绿色突出显示,表明它是可执行的。经过进一步阅读,我明白这实际上是一个重大错误。

我一直在摸索各种 chmod 命令,但情况似乎越来越糟。为了确保我没有破坏任何东西,或者我的程序不会因为我的缺乏经验而遇到问题,我该如何重新配置​​我的目录和文件,使其从正常chmod -R 777 ~/MyDir的文件和文件夹恢复正常,在那里我可以写入open("text.txt", 'w')

答案1

最接近“默认”的权限可能是您的登录会话或 shell 的umask值所暗示的权限,例如,如果umask返回0002,则默认八进制权限0664针对文件和0775目录;而如果umask是,则0022它们分别是06440755

你可以申请此类权限使用

find ~/MyDir -type d -exec chmod 0755 {} +

find ~/MyDir -type f -exec chmod 0644 {} +

显然,您需要手动纠正一些情况,例如可执行脚本或程序文件需要设置其可执行位才能正常运行。

相关内容