进程(user1)如何将日志写入目录(root)

进程(user1)如何将日志写入目录(root)

我在我的服务器(ubuntu 16.04 x86_64)上使用proftpd。

我看到 proftpd 在 proftpd 用户下运行:

$ ps aux | grep [p]roftpd
proftpd  26334  0.0  0.1 112656   716 ?        Ss   04:39   0:00 proftpd: (accepting connections)

proftpd 将日志写入/var/log/proftpd。但只有 root 才能写入此目录:

$ ls -la /var/log | grep [p]roftpd
drwxr-xr-x  2 root                adm      4096 Jun  1 04:39 proftpd
ls -la /var/log/proftpd
total 76
drwxr-xr-x 2 root adm     4096 Jun  1 04:39 .
drwxrwxr-x 7 root syslog  4096 Jun  1 04:39 ..
-rw-r----- 1 root adm        0 May 15 15:53 controls.log
-rw-r----- 1 root adm     7611 Jun  1 09:54 proftpd.log
-rw-r----- 1 root adm    23207 May 29 04:39 proftpd.log.1
-rw-r----- 1 root adm     3649 May 21 04:39 proftpd.log.2.gz
-rw-r----- 1 root adm      521 Jun  1 09:42 xferlog
-rw-r--r-- 1 root adm    17656 May 31 22:55 xferlog.1
-rw-r--r-- 1 root root       0 Jun  1 04:39 xferreport
  1. proftpd如何写日志?

  2. 是否正确,proftpd 目录的所有者是 root。可能应该是proftpd?

  3. 为什么文件(日志)没有其他权限读取。是不是不安全?

答案1

  1. ProFTPd 与 Unix 上的许多其他服务一样,用于syslog记录日志。 syslog是一个以超级用户权限运行的进程。这意味着 ProFTPd 本身永远不必在日志目录中创建文件。

  2. 是的。这是应该的。不要改变这个

  3. 一般来说,任何记录的用户活动只能由超级用户访问。这是为了保护用户的隐私。这是我个人的看法。

有关使用 ProFTPd 进行日志记录的更多信息,请参阅http://www.proftpd.org/docs/howto/Logging.html

一般来说,假设您安装的服务按预期运行,除非它明显行为不当。如果它是从包管理器安装的程序,那么它显然已经在您运行的 Unix 版本上经过了测试,如果您发现错误,您应该联系包维护者。但大多数时候,“错误”通常是在高度定制的系统上运行或使用极端或不寻常的配置并出错的结果。默认安装很少会出错,只有当您真正知道自己在做什么时才应该“调整”。

这样尤其用于更改文件和目录的权限或所有权。

相关内容