![如何让用户(例如网络服务器用户)可以访问外部驱动器](https://linux22.com/image/1056469/%E5%A6%82%E4%BD%95%E8%AE%A9%E7%94%A8%E6%88%B7%EF%BC%88%E4%BE%8B%E5%A6%82%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%94%A8%E6%88%B7%EF%BC%89%E5%8F%AF%E4%BB%A5%E8%AE%BF%E9%97%AE%E5%A4%96%E9%83%A8%E9%A9%B1%E5%8A%A8%E5%99%A8.png)
我有一个程序,它使用root
用户作为脚本参数提供的目录旁边的目录创建一些日志目录。我稍后将chown
它们发送给我的网络服务器用户。
问题是,如果所有这些都在 上,external drive
那么目录确实会创建,但 Web 服务器用户无法写入它们,即其中的文件。我猜这主要是因为目录/media/<my-user>
对 没有执行权限other users
。外部驱动器自动挂载在/media/<my_user>/external-drive
。
我可以通过正确的权限安装fstab
或nautilus
使用打开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 否则每次系统重启时您都会遇到问题。