我是 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
它们分别是0644
和0755
。
你可以申请此类权限使用
find ~/MyDir -type d -exec chmod 0755 {} +
find ~/MyDir -type f -exec chmod 0644 {} +
显然,您需要手动纠正一些情况,例如可执行脚本或程序文件需要设置其可执行位才能正常运行。