每分钟在没有sudo的/ var / www上复制文件

时间:2009-08-09 00:15:23

标签: unix sudo cp

如何在不使用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就无法复制它们。

3 个答案:

答案 0 :(得分: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或者注销并重新登录。这是一种麻烦。

答案 1 :(得分:1)

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

我也觉得有趣的是,你的www目录只有root权限并且由root拥有。通常它们由apache用户拥有或具有其他权限,以便apache可以访问它们。

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

sudo crontab -e -u root

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

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

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

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

答案 2 :(得分:-1)

sudo chown yourusername /var/www

您将成为/var/www的新所有者。