代码之家  ›  专栏  ›  技术社区  ›  Léo Léopold Hertz 준영

每分钟在/var/www上复制文件,不带sudo

  •  0
  • Léo Léopold Hertz 준영  · 技术社区  · 15 年前

    如果没有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 回复  |  直到 15 年前
        1
  •  6
  •   Norman Ramsey    15 年前

    拥有 /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 或者注销并重新登录。讨厌的事

        2
  •  1
  •   Darryl Hein IrishChieftain    15 年前

    把cron作业添加到根用户中怎么样?这不是个好主意,但能解决问题吗?

    我还发现有趣的是,您的WWW目录将只有根权限,并且归根目录所有。通常它们由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选项,该选项将递归地应用权限或所有者,但同样要非常小心。

        3
  •  -1
  •   erjiang    15 年前
    sudo chown yourusername /var/www
    

    你将成为 /var/www .