Почему я получаю `egrep: / etc / shadow: Permission denied` при запуске этой команды awk?

Кто-нибудь знает, почему эта команда:

sudo awk -v LIMIT=50000 -F: '($3>=LIMIT) && ($3!=65534) {print $1}' /etc/passwd | tee - |egrep -f - /etc/shadow > /home/bulgarini/server_transfer/shadow.sync

выдает сообщение

egrep: /etc/shadow: Permission denied
1
задан 3 July 2014 в 21:58

2 ответа

См. полномочия /etc/shadow файл:

ls -l /etc/shadow

вывод - что-то как:

-rw-r----- 1 root shadow 1530 apr 10 08:47 /etc/shadow

Так, только базируйтесь, и у тех пользователей от теневой группы есть полномочия считать тот файл. Так, в заключение необходимо выполнить ту команду как корень.

, Если Вы думаете, что выполняете ту составную команду как корень, потому что Вы помещаете sudo перед ним, Вы неправы - в этом случае sudo влияние только эти awk команда и ничто иное после канала (|). Я предлагаю Вас следующее:

sudo -i
awk -v LIMIT=50000 -F: '($3>=LIMIT) && ($3!=65534) {print $1}' /etc/passwd | tee - |egrep -f - /etc/shadow > /home/bulgarini/server_transfer/shadow.sync
exit
1
ответ дан 3 July 2014 в 21:58

попробуйте это

sudo awk -v LIMIT=50000 -F: '($3>=LIMIT) && ($3!=65534) {print $1}' /etc/passwd | tee - |sudo egrep -f - /etc/shadow > /home/bulgarini/server_transfer/shadow.sync

, или

sudo awk -v LIMIT=50000 -F: '($3>=LIMIT) && ($3!=65534) {print $1}' /etc/passwd | tee - | sudo egrep -f - /etc/shadow > /home/bulgarini/server_transfer/shadow.sync

Вам нужны sudo полномочия выполнить egrep и после того, как | считается новой командой, таким образом, ему нужен sudo также

0
ответ дан 3 July 2014 в 21:58

Другие вопросы по тегам:

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