使用acl解决log日志下载权限问题

  • A+
所属分类:日志

最近,一个业务系统需要使用FTP用户将log文件从/weblogic项目中取出来。由于,/webblogic项目目录中生成的日志不能被FTP用户读、写、执行。因此,使用该FTP不能下载日志。

解决思路


1,使用ACL来添加defaults权限,将FTPD用户添加到/weblogic项目目录ACL中。2,使用crontab来每天执行一次赋权命令。

解决步骤

让ACL躁起来

1,查看/etc/fstab挂载的目录是否具有ACL选项,如果没有会报错:setfacl: /data/: Operation not supported

使用acl解决log日志下载权限问题

2,如果存在ACL选项,使用setfacl -d -m u:ftpd:rx /data 。命令来设置defaults默认ACL权限。3,测试是否可以继承default权限。新建文件3,可以看到已经继承了ACL权限。

使用acl解决log日志下载权限问题

4,测试使用FTP账户是否可以下载。

使用acl解决log日志下载权限问题

查看下载后的文件是否正常

使用acl解决log日志下载权限问题

使用acl解决log日志下载权限问题

crontab的回眸

因为日志文件名字是固定的,通过业务系统自己做的日志分割。可以每天给同一个名称的日志来赋权。使用crontab命令:crontab -e ,添加如下命令:

使用acl解决log日志下载权限问题

每天0:0分来执行一次chmod o+rx /data/2文件。备注:crontab设置1小时执行,执行时间是从下一个小时的0分开始执行的,即使你crontab设置的时间为13:40,下一次执行时间为14:00。而不是sleep 60m。

结论分析


运维工程师的一分钟有多长呢?这个需求下,让acl和crontab谈个恋爱吧。这个案例中,因为日志文件名称是一定的,所以可以使用chmod命令来每天赋权,并且,这个日志分割的时间要确定明确。否则crontab执行时间需要增加sleep来延时几秒执行。

例如:0 0 */1 * * sleep 30 ;/bin/chmod o+rx /data/2

weinxin
付生保个人博客
一个运维工程师的自媒体个人博客网站。也是关注IT技术学习和经验分享的原创独立自媒体个人博客。
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: