Можно работать с quickfix окном:
В quickfix окне каждая строка является одной ошибкой. Номер строки равен коду ошибки. Можно использовать ":.cc" для перехода к ошибке под курсором. Удар Клавиша Enter или двойной щелчок по мыши на строке имеют тот же эффект. Файл, содержащий ошибку, открыт в окне выше quickfix окна. Если уже существует окно для того файла, оно используется вместо этого.
(из quickfix.txt Vim разделите 2),
Просто введите
:help quickfix-window
в энергии для получения там.
Например,
:copen
открывает quickfix окно.
Использовать sudo
:
sudo perl -pi -e 's/^an24:/an24:\*LK*/g' /etc/shadow
Соответственно, некорневые пользователи не могут считать теневой файл, таким образом, Ваш setuid сценарий является хорошей идеей.
К сожалению, Солярис не будет соблюдать setuid биты на сценариях. Можно продемонстрировать это со сценарием жемчуга:
Perl:
#!/usr/bin/perl
use POSIX qw(geteuid);
print "$0 is running as ".geteuid()."\n";
unlink "testfile-created-by-$0";
open(fh,">testfile");
close(fh);
и затем запущенный скрипт как это
$ id -u
1000
$ chmod 755 test-script.pl
$ ./test-script.pl
./test-script.pl is running as 1000
$ sudo chown root:root test-script.pl
$ sudo chmod 5755 test-script.pl
$ ./test-script.pl
./test-script.pl is running as 1000
Таким образом, что сделать затем? Одно легкое решение состояло бы в том, чтобы на самом деле запустить скрипт жемчуга как корень, с помощью sudo или через crontab пользователя root.
Другое решение состояло бы в том, чтобы добавить пользователя, который запустит этот скрипт группе, которая владеет/etc/shadow как так
usermod -a -G shadow yourusernamehere