0

如何在没有 sudo 的情况下将文件夹复制到 /var/www?

我的文件夹codes在 /var/www 具有以下权限

4 drwxr-xr-x 8 root root 4096 2009-08-09 03:01 codes

我只能sudo cp -r ~/Dropbox/codes/ /var/www复制文件。没有 sudo 我无法复制它们。

4

3 回答 3

6

拥有/var/www自己可能与系统上的其他选项发生冲突。在我的 Debian 系统上,我会这样做

sudo addgroup www
sudo adduser nr www   # add myself to the www group
sudo chgrp -R www /var/www  # make files in the group
find /var/www -type f -exec chmod g+w '{}' ';'  # make each file group writable
find /var/www -type d -exec chmod g+ws '{}' ';' # make each directory group writable and sticky

如果该目录是组可写且具有粘性的,则在其中创建的所有文件/var/www都可以由www组中的任何人写,无论是谁或什么在那里创建它们。(警告:它们必须通过“正常”方式创建;cp -a可以绕过组粘性位。)

因为 Unix 在组成员身份方面非常愚蠢,所以为了让您的成员资格受到尊重,您将不得不再次登录,例如,ssh localhost或者注销并重新登录。令人讨厌。

于 2009-08-09T01:33:00.343 回答
1

如何将 cron 作业添加到 root 用户。这不是一个好主意,但它会解决问题吗?

我还发现有趣的是,您的 www 目录只有 root 权限并且归 root 所有。通常它们由 apache 用户拥有或具有其他权限,以便 apache 可以访问它们。

编辑您可能不想直接编辑 crontab 文件。但是类似于以下命令的东西应该可以工作:

sudo crontab -e -u root

您可能不需要,-u root但它很好,所以 sudo 不会混淆 crontab。

编辑 2chmod您可以使用andchown命令更改权限:

sudo chmod 755 /path
sudo chown user:user /path

使用它时要非常小心。您可以通过更改错误文件或文件夹的权限来彻底搞砸操作系统。您可能需要添加 -R 选项,该选项将递归地应用权限或所有者,但同样要非常小心。

于 2009-08-09T00:19:05.423 回答
-1
sudo chown yourusername /var/www

您将成为/var/www.

于 2009-08-09T00:28:49.453 回答