大佬教程收集整理的这篇文章主要介绍了linux – 如何允许多人通过sftp更改文件的mtime -timestamp?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是如果用户不是该文件的所有者,则用户无法设置文件的修改时间.
例如,用户AAA上传文件’EXAMPLE.jpg’,用户BBB下载它,修改它并再次上传它.该文件的“上次修改”时间戳将是BBB上传时间的时间,而不是上次修改时的时间戳.我尝试将文件的权限设置为777,但它没有帮助.
该问题在sftp-logs中显示为:
Dec 5 16:37:08 servername sftp-server[695]: open "/shared_directory/EXAMPLE.jpg" flags WRITE,CREATE,TRUNCATE mode 0666 Dec 5 16:37:08 servername sftp-server[695]: close "/shared_directory/EXAMPLE.jpg" bytes read 0 written 42765 Dec 5 16:37:08 servername sftp-server[695]: set "/shared_directory/EXAMPLE.jpg" modtime 20111205-15:53:31 Dec 5 16:37:08 servername sftp-server[695]: sent status Permission denied
Winscp会因为上传文件’example.jpg’成功而抱怨,但在设置权限和/或时间戳时发生错误.如果问题仍然存在,请启用“忽略权限错误”.警告很容易被忽略,但如果我想让我的用户通过在文件上传后编辑它们来“保留”时间戳呢?
已经有a similar question了,但已经没有答案了:(.
我能想到的一个解决方法是使用具有dos filemode选项的Samba.它完全符合您的要求(虽然名称不是很明显).当然,我远没有推荐samba超过sftp;桑巴是一场行政噩梦.
事实上,如果我是你,我会去寻找一个非常非常丑陋的黑客.编写一个脚本,扫描sftp-log文件中的set … modtime行,并为每个这样的行立即尝试运行touch –mtime.显然,脚本需要以root身份运行,因此请确保代码注入是安全的(例如文件名和包含’或’或;或$字符的日期).
以上是大佬教程为你收集整理的linux – 如何允许多人通过sftp更改文件的mtime -timestamp?全部内容,希望文章能够帮你解决linux – 如何允许多人通过sftp更改文件的mtime -timestamp?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。