有时在绝望中,要测试我的问题是否不是我所做的权限问题:
sudo chmod -R 777 mydir/
在大多数情况下它没有帮助,现在我有两个问题;)
mydir /中的文件各有不同的权限和所有者,现在我需要将它们恢复到原始状态.
除了创建备份副本之外,还有任何智能方法可以递归恢复权限吗?例如.
command_to_save_the_permissions_somewhere mydir/ chmod -R 777 mydir/ command_to_restore_the_permissions_from_somewhere mydir/
顺便说一下,关于调试权限问题的任何提示?
使用ACL工具可以轻松地备份和恢复权限以及目录树的所有权.即使您没有在文件系统上启用ACL,它也能正常工作.
getfacl -R >saved-permissions setfacl --restore=saved-permissions
大多数权限问题都会导致“权限被拒绝”错误消息出现在控制台或某些日志文件中.
调查文件访问问题的强大工具是strace.它显示了进程进行的系统调用.输出可能很难理解,但是相对容易看到程序试图访问哪些文件以及它为什么能够找到它想要的东西.用法示例:
strace -s9999 -o myprogram.strace myprogram # trace myprogram strace -s9999 -fF ... # also trace subprocesses strace -s9999 -p12345 # connect to running process by PID strace -s9999 -efile ... # only show filesystem calls strace -eaccess,open,stat,lstat # only show common file access calls