Unix 不使用sudo,每分钟在/var/www上复制文件

Unix 不使用sudo,每分钟在/var/www上复制文件,unix,sudo,cp,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我无法复制它们。将cron作业添加到根用户怎么样。这不是一个好主意,但它能解决问题吗 我还发现有趣的是,您的www目录只有root权限,并且由root拥有。通常,它们由apache用户拥有

没有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我无法复制它们。

将cron作业添加到根用户怎么样。这不是一个好主意,但它能解决问题吗

我还发现有趣的是,您的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选项,该选项将递归地应用权限或所有者,但同样要非常小心。

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

sudo chown yourusername /var/www
我还发现有趣的是,您的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选项,该选项将递归地应用权限或所有者,但请再次小心

sudo chown yourusername /var/www
您将成为
/var/www
的新所有者


您将成为
/var/www
的新所有者拥有
/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
或注销并重新登录。讨厌。

自己拥有
/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
或注销并重新登录。真讨厌。

你怎么能这么做我运行sudo-I失败
sudo-I
;vim/etc/crontab
。我将以下内容添加到文件中
1****root sudo cp-r/home/masi/Dropbox/codes//var/www/`您如何做到这一点?-我运行sudo-I失败
sudo-I
;vim/etc/crontab
。我将以下内容添加到文件
1****root sudo cp-r/home/masi/Dropbox/codes//var/www/`中,/var/www/codes中的每个文件都归root所有。下面的命令是否允许我复制
sudo chown/var/www/codes/*
chown-R
,用于递归
chown
。这不是一个好主意,可能会导致其他用户甚至apache自身出现问题。/var/www/codes中的每个文件都归root所有。下面的命令是否允许我复制
sudo chown/var/www/codes/*
chown-R
,用于递归
chown
。这不是一个好主意,可能会导致其他用户甚至apache自身出现问题。尽管其他答案会起作用,但这是正确的方法+1我运行
cp-r codes/var/www/未成功地获取以下错误的长列表
cp:无法创建常规文件/var/www/codes/index.php':权限被拒绝'。这就意味着我需要改变一些其他的东西。虽然其他的答案会起作用,但这个答案是正确的+1我运行
cp-r codes/var/www/未成功地获取以下错误的长列表
cp:无法创建常规文件/var/www/codes/index.php':权限被拒绝'。这就意味着我需要改变其他一些东西。