我使用sshfs将远程文件夹从另一台服务器挂载到本地服务器。使用以下命令挂载远程文件夹没有问题:
sshfs -o allow_other someServerFromSSHConfig:/home/data/somefolder/ /some/local/folder
Run Code Online (Sandbox Code Playgroud)
问题是我无法使用 chown 更改文件的所有者(无论 root 权限如何)我总是得到:
chown: changing ownership of ‘/somefolder/file.img’: Permission denied
Run Code Online (Sandbox Code Playgroud)
访问该文件夹的用户是 fuse 组的成员。即使我在 sshfs 中添加额外的挂载选项来设置所有者,因为userx:groupx我无法使用userx和使用更改权限chown -R userx:groupx [...]
我希望能够为已安装文件夹中的文件设置用户权限,但事实并非如此。
为了让我的网络服务器工作最简单,我建议做如下事情:
sudo chown www-data:www-data /var/www -R
cd /var/www
sudo find . -type f -exec chmod 664 {} \;
sudo find . -type d -exec chmod 775 {} \;
Run Code Online (Sandbox Code Playgroud)
我也将我的日常用户添加到 www-data 组。
我的问题是:这是一个愚蠢/危险的权限集吗?是否给 www-data 组那些打开我的服务器的权限?
谢谢亚历克斯
我打算将目录的所有权更改为apache:apache,但我最终运行了:
chown -R apache:apache /
Run Code Online (Sandbox Code Playgroud)
坏的!很坏!当它开始说时,我知道发生了什么:
chown:更改`/proc/2694/fd/48'的所有权:权限被拒绝
那时我停止了一切(Ctrl + C)。
我目前的系统是一台运行 Virtualbox 的服务器,运行 CentOS 5。这个问题发生在 VM 内部。
目前似乎一切正常,但我还没有重新启动系统,老实说,我担心如果我做了一些事情会崩溃。
我不知道chown的顺序,我是否应该担心并假设重启后会发生某些事情?有没有办法在不依赖备份的情况下从这个问题中恢复?我每天都有一个,但我认为可能有更简单的方法。
我需要在一个驱动器上 chown 150 万个文件。我目前正在做:
sudo chown -R www-data:www-data /root-of-device
Run Code Online (Sandbox Code Playgroud)
但是运行需要很长时间。我想知道是否有某种超快的低级方式来 chown 驱动器上的每个文件。
我们正在 CentOS 上配置一个 PHP Web 应用程序,并且我们所有的文件当前都在 /var/www/html/project/
Apache 被配置为作为 apache:apache 运行并且可以访问上面的目录。现在我们的文件和目录具有以下权限:
所有者 = 根组 = apache
目录:drwxr-x---root apache
文件:-rw-r-----root apache
这是一个安全的设置吗?还是使用新用户(例如“项目”)成为所有文件和目录的所有者会更好吗?
我不小心执行了 chown userx:userx /命令。
有没有办法以温和的方式解决这个问题?
我知道 mysql 文件夹必须归 mysql:mysql 所有。但是其他文件夹呢?是否有可用的权限脚本?
它是一个在 Virtuozzo 集群环境中使用 OS Redhat 运行的 VPS。
我的网络上有一个 Windows 用户,他可以通过 Samba 访问我们的 linux 开发服务器。有时,由于未知原因,权限或所有权会变得混乱,他将无法再编辑文件。
为了解决这个问题,我通过 PuTTY 给了他访问权限,并在 sudoers 文件 ( sudo visudo) 中添加了如下一行:
username ALL = /bin/chmod, /bin/chown
Run Code Online (Sandbox Code Playgroud)
现在很明显,他现在可以把所有东西都给自己吃掉,然后删除整个驱动器。他是值得信赖的,但我担心是否有人泄露了他的帐户,或者他不小心脱离了他的深度而这样做了。
有没有办法限制他的帐户,使其只能chmod或chown在/home/username和/specified/directory?
我在服务器上运行 Ubuntu 10.10。
我最近在 /usr/local 目录中的 MacBook Pro 上成功安装了 64 位版本的 mysql-5.5.8。
为了解决一个完全不相关的软件(实际上是 RVM),我将我的 /usr/local 目录更改为 $USER,这让 MySQL 非常不高兴。它特别抱怨 /usr/local/mysql/data 目录,所以我将该目录更改为 _mysql:wheel。
一切似乎又恢复了,但这让我想知道我是否最好更改整个/usr/local/mysql 目录的所有者,而不仅仅是 data 子目录。
由于我在草率更改 /usr/local 目录的所有者之前忽略了默认安装运行的所有者的记录,如果您不这样做,有人可以告诉我 /usr/local/mysql 目录的默认所有者和权限是什么'不小心搞砸了?:-/
就权限而言,我猜 rwxr-xr-x 是合适的(这是数据目录当前拥有的并且看起来工作正常),但是对于这种预感的强化将不胜感激。
谢谢你的帮助。
史蒂夫
我有一个 Linux Web 服务器,其中多个站点由 CPanel 托管。我在访问网站时遇到问题,所以我运行了这个命令:
chown -R root:root /home/evalreal/.在等待命令时,我开始看到一堆错误。错误类似于/home/evalreal/public_html/../virtfs/home/*Other website folders* Could not be accessed
所以,我搞砸了我的命令并将这些所有者应用于我的大量 /?
我的网站宕机了,直到我从备份中重置他们的权限。我的/tmp 目录和/var/lib/mysql 目录目前都运行777。我需要为妨碍 Exim 的任何事情做类似的事情。我不知道发生了什么变化,但是由于我在运行命令时是 root 用户,所以我怀疑它发生了很多变化。
最终我需要从备份中恢复整个系统,对吗?如果我一天左右都做不到怎么办?
我们运行网络服务器,我们有以下情况:
所有用户都必须对 /var/www/mysite 具有读+写访问权限。我们目前通过拥有 /var/www/site 到 www-data 的组来实现这一点。然后我们在组上设置 write + setgid 位以确保所有子目录都具有相同的权限。
现在,这一切运行良好,但我们在以下场景中遇到了问题:
bower install. bower install第一次运行的用户拥有该public/bower_components目录并且没有设置 setgid 位public/scripts/srctopublic/scripts/dist和第一个运行的用户缩小到gulp build拥有这些文件在这两种情况下,afind path/to/dir -type d -exec chmod g+ws {} \;确实可以缓解问题,但是否有可能首先解决此问题?我们已经在/var/www/mysite目录上设置了 setgid 位,那么为什么不bower install遵循这个权限集呢?
如果没有,有没有更好的方法来解决这个问题?我们曾想过在部署自动化过程中设置这些位,但如果用户忘记了 setgid 位,我们认为自动化部署也会卡住。
chown ×10
linux ×6
chmod ×4
permissions ×3
apache-2.2 ×1
centos ×1
filesystems ×1
local ×1
mysql ×1
owner ×1
php ×1
root ×1
security ×1
ssh ×1
sshfs ×1
sudo ×1
ubuntu ×1
web-server ×1
xfs ×1