将日志文件挂载到其他位置

时间:2014-10-03 10:51:35

标签: linux bash shell unix ksh

我有路径,每天动态生成一些日志文件,时间戳和400 (-r--------)权限,因此这些文件的所有者可以查看日志。

记录路径:/dir_01/abc_01/logpath

日志文件:

-r--------    LogFile_20141001
-r--------    LogFile_20141002
-r--------    LogFile_20141003

我希望others能够查看日志,但我无法为others的日志提供读取权限,并且每次都会将日志复制到(eg : /dir_02/logs)&位置。由于日志是动态创建的,因此others可以看到非常困难。有没有办法,只要在实际日志路径中创建日志,即。 /dir_01/abc_01/logpath,在/dir_02/logs等具有others读取权限的其他路径上也会更新相同内容。安装是否有助于这种情况,如果是,那么如何。

1 个答案:

答案 0 :(得分:0)

这可以在mouting期间使用umask选项(对于某些文件系统,例如vfat),然后在此dir中创建的所有文件都将具有所需的权限,但明确更好的选择是使用扩展acls,然后在dir中创建所有文件(s)将根据您的要求设置许可。

Umask syscall(不是umask挂载选项)设置权限,但仅用于调用进程。这意味着,如果另一个具有另一个umask的进程创建文件/目录 - 该权限将不适合您的要求。

如果这些文件是相同的文件,我无法获取:

/dir_01/abc_01/logpath
/dir_02/logs

但是如果你想在创建文件时完全做某事,那么你需要通知监视dir(捕获一个事件)并在创建文件时执行另一个动作。