Используя восьмеричный метод, как мне ввести точную команду, которую я бы использовал, чтобы предоставить test.txt следующие разрешения dr-xr-x---

В настоящее время sudoпереключает вашего пользователя на root, а в Debian по умолчанию он перезаписывает ваш $HOME, поэтому он становится/root:

$ sudo sh -c 'echo $HOME'
/root

Таким образом, предполагается, что $HOME/.gemrcпод root находится в /root/.gemrc, и есть вероятность, что вы хотите, чтобы он взял файл из каталога вашего обычного пользователя.

Решение для тупой силы состоит в том, чтобы сделать что-то вроде

sudo ln -s /home/your_user_name/.gemrc /root/.gemrc

Чуть более сложное решение — отключить always_set_homeв /etc/sudoers.

Другой вариант — использовать несколько сложный способ вызова sudo, например

sudo sh -c 'export HOME=/home/your_user_name; bundle install'
-4
06.10.2018, 01:44
2 ответа

Обычно я пропускаю заказы, не являющиеся вопросами; но в этом случае вот именно то, что вы заказали , используя восьмеричный метод для ввода на TTY точной команды, которую я бы использовал.

$ printf '\151\156\163\164\141\154\154\040\055\144\040\055\155\040\060\065\065\060\040\164\145\163\164\056\164\170\164\012'

Момент, когда вы понимаете это самостоятельно, без дальнейших объяснений, является моментом, когда сценарии оболочки Unix становятся второй натурой. & #9786;

0
28.01.2020, 05:20

Если test.txtявляется текстовым -файлом, вы не можете этого сделать. Если это произойдет, это будет каталог :

chmod 550 test.txt
0
28.01.2020, 05:20

Теги

Похожие вопросы