为啥使用 sftp 上传文件后文件权限发生变化?
Posted
技术标签:
【中文标题】为啥使用 sftp 上传文件后文件权限发生变化?【英文标题】:why permission of file changes after uploading file using sftp?为什么使用 sftp 上传文件后文件权限发生变化? 【发布时间】:2012-01-19 06:19:12 【问题描述】:假设本地机器的文件权限是644 如果我将文件上传到远程,则使用 openssh (sftp) /putty ssh 远程机器的文件权限改为640 为什么?
我们必须做什么我们需要相同的权限?
我们实现的SFTP库 朗:C
【问题讨论】:
这和编程有关吗?如果不是,那么这里就是题外话了。如果是,请指定您使用的语言/环境。 【参考方案1】:这是由于 umask,它会影响新创建文件的默认权限。如果远程服务器允许,您可以使用umask
命令更改此设置。
【讨论】:
感谢回复,上传后我必须发送 UMASK 或在上传 cmd 本身我们可以发送 umask 你需要设置umask,然后开始上传。您当前的 umask 决定了新创建文件的权限。 我想知道,为什么上传完成后,如果本地权限是wrxwrxwrx,那么在remore write permision removes,远程文件权限是rwxr_xr_x for group而其他人write permision autoalyreved为什么? 如果您想了解更多关于 umask 的信息,最好的办法是:en.wikipedia.org/wiki/Umask(如果 Wikipedia 的页面过于技术性,Google 可能会提供一些更易于访问的文档)。【参考方案2】:要么是@pgl 所说的,要么是使用传输后实际设置文件模式的程序,例如rsync(-over-ssh)。
【讨论】:
以上是关于为啥使用 sftp 上传文件后文件权限发生变化?的主要内容,如果未能解决你的问题,请参考以下文章