如何在没有 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 我无法复制它们。
拥有/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
或者注销并重新登录。令人讨厌。
如何将 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 选项,该选项将递归地应用权限或所有者,但同样要非常小心。
sudo chown yourusername /var/www
您将成为/var/www
.