потрібно запустити chgrp як root на ubuntu


1

Мені потрібен gitкористувач для запуску

chgrp -R www-data linode.git/
chmod -R 770 linode.git/

як корінь . Тільки ці дві команди і лише для користувача git. Як я можу це зробити?

Відповіді:


2

Додайте git до sudoers, використовуючи visudo. Рядки, які слід додати, виглядатимуть приблизно так:

git hostname = (root) NOPASSWD: /bin/chgrp -R www-data /path/to/linode.git/, /bin/chmod -R 770 /path/to/linode.git/

Я використовував Джо для редагування файлу Судора. Я сподіваюся, що це добре. Коли я запускаю команду chgrp, я отримую цю помилку chgrp: changing group of linode.git / objects / pack ': Операція не дозволена`. Якщо я запускаю comman як root, він працює.
Радек

@Radek: Ти повинен зробити EDITOR=joe sudo visudo. Якщо ви не використовуєте visudoпогані речі, це може статися (див. man visudo). Ви робите, sudo -u git chgrp ...коли ви ввійшли в систему як себе або sudo chgrp ...як користувач "git"? В будь-якому випадку вам доведеться використовувати sudo.
Денніс Вільямсон

@Денніс Вільямсон: якщо я скопіюю рядок, який ви мені дали в судори, я отримаю цю помилку при збереженні. >>> /etc/sudoers: syntax error near line 18 <<<
Радек

дивно, але ця працюєgit ALL=(root) NOPASSWD: /bin/chgrp
Радек

Настійно рекомендую використовувати повні шляхи для всіх посилань на файли чи каталоги в рядку sudo. Наприклад , '/ бен /var/local/linode.git/ / команда chgrp -r WWW-дані'
Слартібартфаст

1

Я рекомендую використовувати супер, зручний інструмент, який в основному налаштований, але ви можете обмежити його певними користувачами або групами.
Я насправді використовую його саме для цієї мети.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.