【问题标题】:How to set file permission for linux host under windows?windows下如何设置linux主机的文件权限?
【发布时间】:2011-03-04 01:15:54
【问题描述】:

例如,我希望一个文件在我上传到我的 linux 主机时自动具有 644 权限,在上传之前,它是在 windows 下。我怎么能这样做?

顺便说一句,我使用 Filezilla 进行上传

更新:在发布这个问题之前,实际上,我曾经认为这也是不可能的。但是,由于我有很多 wordpress 网站,我记得我从来不需要为 wordpress 文件设置权限。于是我做了一个实验,

  1. 下载一个新的wordpress包,zip格式(windows下)
  2. 上传到我的linux主机,
  3. 取消归档
  4. 检查这些文件的权限

我看到所有文件的权限都是正确的,有些是 644,有些是 755,与 wordpress 文档中描述的完全一样

【问题讨论】:

  • 您能正确使用大写字母吗?对于英语阅读不好的人,正确使用I会有所帮助。
  • 抱歉拼写错误,英语不是我的母语。你能告诉我应该在哪里把“i”改成“我”吗? 'i'这个词应该总是大写吗?

标签: php windows linux permissions file-permissions


【解决方案1】:

你不能。权限不是写入文件本身,而是写入文件系统。所以必须在文件上传后完成。

【讨论】:

  • 我不明白为什么在文件系统中。用例:我在 Windows 中创建了 .sh 脚本。推送到 git。在linux上克隆它。试图执行:没有机会。给 chmod +x ../script.sh,强制推送。在另一台 linux 机器上克隆。试图执行 - 利润。
  • @Alexander.Iljushkin 我认为在您的情况下,它来自 git 充当中间人并且知道模式的事实。 OP想直接上传。请参阅stackoverflow.com/a/40979016/860246 了解 git 如何处理它
【解决方案2】:

我认为在大多数情况下这是不可能的。

您能否提供更多关于您如何上传的信息? FTP、SFTP、SMB? :-)

例如,对于 FTP,您可以配置 FTP 服务器,以便为所有新文件提供 644 umask(请参阅 this example for ProFTPd)。

对于 SFTP,客户端可能能够在上传后更改权限,因为它毕竟具有 SSH 访问权限。

【讨论】:

  • 关于您的更新:这取决于存档格式。例如,Tar 知道 linux 文件权限,因此 .tar 或 .tar.gz 存档中的文件可以保留其权限。无论您是通过 FTP 传输还是将其存储在 Windows 机器上都没有关系,因为权限存储在 内部存档中。
  • 我下载上传的wordpress包是zip格式的,没用过tar或者tar.gz
  • 继续你的想法,也许是因为wordpress在linux下构建了他们的zip包?而且当我在windows中压缩我的文件时,虽然存储了权限但linux无法识别windows权限信息,它看起来很有意义
  • 是的,这是有道理的。我刚刚在我的 linux 工作站上使用 Zip 文件对其进行了测试。事实上,Zip 文件也保留了权限,至少在 linux 下压缩和提取时是这样。是的,Windows 和 Linux 下的权限不能很好地结合在一起,因此 linux 忽略 Zip 文件中的任何 Windows 权限是有道理的。
【解决方案3】:

假设您使用 FTP 上传文件,如果服务器设置为允许 FTP 客户端设置,则更好的 FTP 客户端 (FileZilla) 将允许您设置权限。

就“默认设置”而言,644 通常是文件的默认值。这再次由服务器设置。我会假设那里有一个 FTP 客户端,它会为每个文件自动设置它,但我不确定。如果你在使用权限,请记住目录是 755,而不是 644,并且服务器可能会让你删除你自己对文件的访问权限。

【讨论】:

    【解决方案4】:

    首先,什么用户名拥有这些文件?上传时连接的用户名是什么?

    该用户的默认umask 设置是什么?

    【讨论】:

      【解决方案5】:

      因此您可以使用 Windows FTP 命令“quote”,它可以让您向 FTP 服务器发送任意命令。

      假设您的 Linux FTP 服务器支持 SITE UMASK...

      例如ftp> 引用站点 UMASK 111

      这相当于在 Linux 命令行上执行:chmod 666 *,但在 Windows 上通过 FTP。

      【讨论】:

        猜你喜欢
        • 2011-06-10
        • 2017-05-17
        • 1970-01-01
        • 2019-07-09
        • 2012-08-23
        • 2023-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多