Кто-нибудь знает, почему эта команда:
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
См. полномочия /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
попробуйте это
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 также