![切换到新的 NIS 和 NFS 服务器后无法打开 Firefox 和某些其他应用程序](https://linux22.com/image/743874/%E5%88%87%E6%8D%A2%E5%88%B0%E6%96%B0%E7%9A%84%20NIS%20%E5%92%8C%20NFS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%8E%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80%20Firefox%20%E5%92%8C%E6%9F%90%E4%BA%9B%E5%85%B6%E4%BB%96%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F.png)
我们刚刚升级了两台服务器,它们为我们的网络提供了许多服务,包括 NFS 和 NIS。用户身份验证由一台服务器 (serverA) 完成,主目录和许多共享文件夹由另一台服务器 (serverB) 的 NFS 共享提供。
NIS 用户能够针对新的 serverA 进行身份验证,并像以前一样与他们的主目录和共享目录进行交互,但如果他们启动某些应用程序(例如 Firefox 或 LibreOffice),窗口就不会打开。
如果有问题的应用程序由本地非 NIS 用户启动,它们就会运行正常。
从终端运行 Firefox 时根本没有文本输出。
如果在打开之前删除 Firefox 配置文件(~/.mozilla/firefox),则会创建一个新的配置文件,但其他行为是相同的。
strace
如果 Firefox在以下情况下运行,它将停止:open("/home/user/.mozilla/firefox/gmm7ny7n.default/.parentlock", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 8 fcntl(8, F_GETLK
- 在 NIS 和 NFS 服务器上禁用 SELinux 没有帮助。
非常感谢您的帮助,谢谢。
答案1
该问题与 NFS 文件锁定有关。在服务器防火墙上启用 MOUNTD_PORT、STATD_PORT、LOCKD_TCPPORT 和 LOCKD_UDPPORT 端口后,一切正常。这些端口号在我的系统的 /etc/sysconfig/nfs 中定义,并且默认情况下会注释相应的行,最好将它们明确化,以确保它们与防火墙设置相匹配。如果使用默认端口,则以下命令将进行所需的更改:
firewall-cmd --permanent --zone=public --add-port=892/tcp
firewall-cmd --permanent --zone=public --add-port=892/udp
firewall-cmd --permanent --zone=public --add-port=662/udp
firewall-cmd --permanent --zone=public --add-port=662/tcp
firewall-cmd --permanent --zone=public --add-port=32803/tcp
firewall-cmd --permanent --zone=public --add-port=32769/udp
firewall-cmd --reload
我之前尝试过完全禁用防火墙并得出结论它没有帮助,但在服务器和客户端重新启动后它开始工作。