我正在使用Solaris服务器。我正在使用具有所有访问权限的ADMIN
用户,而其他同事正在使用具有有限访问权限的其他用户。
当其他人想要访问日志时,我必须在日志文件夹上手动提供chmod 755
,当生成新文件时,我必须再次chmod
。
有没有办法编写脚本,在某些文件夹上每隔2分钟连续运行chmod
?
答案 0 :(得分:1)
我认为每2分钟分配一次权限不是一个好主意
最好更改日志文件所有者的umask以创建具有默认777权限的新日志文件
如果你想像你的想法一样使用
答案 1 :(得分:0)
您需要的是cron工作。
要设置cron
任务,请以ADMIN
用户身份运行此命令:
crontab -e
它将打开一个文本编辑器供您输入新作业。在文本编辑器中写下以下行,将[file1 file2 ... fileN]
替换为您想要chmod
的文件,然后保存。它应该每2分钟运行一次chmod
命令。
*/2 * * * * chmod 755 [file1 file2 ... fileN]
这个第一个解决方案并不适用于每个系统!我真的不知道Solaris,但是如果你对第一个格式有问题,这里有一个解决方法,你将运行命令小时0分钟,分钟2分钟等等,直到分钟58:
0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,3 6,38,40,42,44,46,48,49,50,52,54,56,58 * * * * chmod 755 [file1 file2 ... fileN]
您可以使用列出crontab -l
任务的cron
命令检查您的作业是否已正确保存。
我邀请您阅读cron
上的一些文档,以便了解crontab
使用的格式。 Here is a good link
答案 2 :(得分:0)
您可以考虑在包含目录上设置GUID
位,并将目录的组所有权设置为这些其他人所属的组。
这样,在目录中创建的任何文件都将自动并始终继承目录组,而不是创建目录的用户组。
因此,具体而言,如果您的日志文件位于/var/log/somewhere
,您可以执行以下操作:
chmod g+s /var/log/somewhere
chgrp OTHERADMINSGROUP /var/log/somewhere
现在通过创建文件并查看其组来进行测试:
touch /var/log/somewhere/aFile
ls -l /var/log/somewhere/aFile
您应该看到该文件属于OTHERADMINSGROUP而不是您自己的组。