如何在不使用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就无法复制它们。
答案 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 您可以使用chmod
和chown
命令更改权限:
sudo chmod 755 /path
sudo chown user:user /path
使用时要非常小心。您可以通过更改错误文件或文件夹的权限来完全搞砸操作系统。您可能希望添加-R选项,它将递归地应用权限或所有者,但同样要非常小心。
答案 2 :(得分:-1)
sudo chown yourusername /var/www
您将成为/var/www
的新所有者。