如何让用户(例如网络服务器用户)可以访问外部驱动器

如何让用户(例如网络服务器用户)可以访问外部驱动器

我有一个程序,它使用root用户作为脚本参数提供的目录旁边的目录创建一些日志目录。我稍后将chown它们发送给我的网络服务器用户。

问题是,如果所有这些都在 上,external drive那么目录确实会创建,但 Web 服务器用户无法写入它们,即其中的文件。我猜这主要是因为目录/media/<my-user>对 没有执行权限other users。外部驱动器自动挂载在/media/<my_user>/external-drive

我可以通过正确的权限安装fstabnautilus使用打开sudo然后更改权限,但也许有更好的解决方案。我的应用程序最终用户没有使用 ubuntu/linux 的经验。

我也尝试添加网络服务器用户,plugdev但没有效果。

答案1

我看不出外部或内部有什么不同:Linux 将安装您要求其安装的内容。这里的区别是,如果 HD 由系统安装,它将以系统认为应该安装的方式安装,这可能会导致权限问题。我从不使用/媒体安装外部驱动器。

如果您将外部硬盘添加到 /etc/fstab,它将以您想要的权限挂载,并像任何其他文件系统一样被考虑。这是我自己的 fstab 的示例:

#<file system>                            <mount point>   <type>   <options>                      <dump>  <pass>
UUID=a05fab8c-5c4c-42be-9898-830ec5ad45dc /here/external-drive  ext4    defaults,noatime,nofail,noauto 0       0

假设您的日志文件创建于/此处/外部驱动器/日志,只需更改权限以允许 Web 服务器用户在那里写入,一切都应该没问题。

只需记住添加无失败,无自动到您的 fstab 否则每次系统重启时您都会遇到问题。

相关内容