我最近迁移到了不同位置的不同服务器,现在遇到了一个奇怪的问题:
postfix/master[1281]: fatal: open lock file /var/lib/postfix/master.lock: cannot open file: Permission denied
我在 Google 上搜索了一番,但还是无法让它工作。我检查了权限/var/lib/
,一切看起来都很好:
hawk084:/var/lib/postfix# l
total 20K
-rw------- 1 postfix postfix 0 Jan 25 19:06 master.lock
-rw------- 1 postfix postfix 1.0K Jan 6 02:48 prng_exch
-rw------- 1 postfix postfix 8.0K Jan 6 00:43 smtpd_scache.db
-rw------- 1 postfix postfix 8.0K Jan 6 00:43 smtp_scache.db
hawk084:/var/lib/postfix# /etc/init.d/postfix status
postfix is not running.
我卸载了 postfix 并重新安装,但是并没有解决这个该死的问题。
我甚至删除了 master.lock,但什么都没改变。Postfix 默认在“postfix”用户帐户下运行。
我的配置与同样运行在 debian squeeze 上的旧服务器的配置完全相同。
答案1
授予我们以下权限:
/
/var
/var/lib
/var/lib/postfix
最有可能的是,上述 4 个文件夹中有一个没有正确的权限。另外,运行以下命令的输出是什么:
sudo -u postfix /bin/bash
touch /var/lib/postfix/master.lock
如果成功,则写入 master.lock 的用户就不是用户postfix
,而是另一个用户。