Я сказал бы:
cd "/`pwd|cut -d"/" -f2,3`"
создайте сценарий и включайте эту строку внутри.
Кавычки позволяют использовать пространство или вкладку в имени файла.
Это не будет работать с папкой, содержащей пространство.
Можно интегрировать его к Вашему .zshrc
файл профиля как это:
function prjroot(){
cd "/`pwd|cut -d"/" -f2,3`" && return 0;
}
Также, если Ваш на основном уровне как /opt
/usr
это ничего не сделает.
tmux
уже открывает оболочку, в которой выполняет команды cd
и perl
. Если при этом не требуется запускать другую оболочку только для продолжения интерактивного сеанса (или для предотвращения закрытия окна без использования наборов -rain-on-exit
), можно выполнить следующие действия:
tmux new-window -t $SESSION:0 -k -n MAIN
tmux send-keys 'cd ~/main/ && perl -Ilib myapp' C-m
Если под оболочкой tmux
'создана другая оболочка и требуется, чтобы эта оболочка выполняла команды и стала интерактивной (что отличается от ответа @ n.st, который запускает оболочку после этого), можно выполнить следующие действия:
tmux new-window -t $SESSION:0 -k -n MAIN 'bash --init-file <(echo "cd ~/main/ && perl -Ilib myapp")'
и если проблема заключается в том, что bash
имеет неполную среду, выполните следующие действия:
tmux new-window -t $SESSION:0 -k -n MAIN 'bash --init-file <(echo "source ~/.bashrc; cd ~/main/ && perl -Ilib myapp")'
-121--106064- Можно использовать dpkg-checkbuilddeps
. Страница человека говорит
, Эта программа проверяет установленные пакеты в систему против зависимости построения и конфликты построения, перечисленные в файле элемента управления. Если любой не соблюдаются, они отображаются и выходят с ненулевым кодом возврата.
Например:
faheem@orwell:/usr/local/src/julia/julia-0.3.2$ dpkg-checkbuilddeps
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme
Однако, вы можете просто попытаться построить пакет, используя (например) debuild
, например
faheem@orwell:/usr/local/src/julia/julia-0.3.2$ debuild -uc -us
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package julia
dpkg-buildpackage: source version 0.3.2-1
dpkg-buildpackage: source changed by Sébastien Villemot <sebastien@debian.org>
dpkg-source --before-build julia-0.3.2
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed
, который дает ту же информацию (поскольку он использует dpkg-checkbuilddeps
), но немного шумнее.
Просто идея. Греп через ваши журналы apache. Если у вас есть время, когда письма были отправлены это может быть легко найти их. Особенно ищите сценарии perl.
Использование Perl с lookaheads, так что вторая запятая не является частью матча:
perl -pe 's/,(?=,)/,\\N/g'
или, используйте одно и то же выражение дважды на одной строке:
sed 's/,,/,\\N,/g;s/,,/,\\N,/g'
-121--217501- Получить пользователя
Обычно поля UID поля показывает UID пользователя, который запустил процесс.
В вашем случае это будет ISER с UID 33
.
Использование Phetent Passwd 33
, чтобы увидеть имя пользователя.
Отслеживайте пользователя
Вы можете легко посмотреть и регистрировать активность пользователя с небольшим количеством демона C,
, используя , это ITLE Маленькая библиотека для чтения / POC / PID / Статус
Файл и найдите после пользователя.
Это может помочь вам избежать проблем с временем выполнения сервера.
(Вы также можете позволить демону Убить
этих процессов)
tmux
уже открывает оболочку, в которой выполняет команды cd
и perl
. Если при этом не требуется запускать другую оболочку только для продолжения интерактивного сеанса (или для предотвращения закрытия окна без использования наборов -rain-on-exit
), можно выполнить следующие действия:
tmux new-window -t $SESSION:0 -k -n MAIN
tmux send-keys 'cd ~/main/ && perl -Ilib myapp' C-m
Если под оболочкой tmux
'создана другая оболочка и требуется, чтобы эта оболочка выполняла команды и стала интерактивной (что отличается от ответа @ n.st, который запускает оболочку после этого), можно выполнить следующие действия:
tmux new-window -t $SESSION:0 -k -n MAIN 'bash --init-file <(echo "cd ~/main/ && perl -Ilib myapp")'
и если проблема заключается в том, что bash
имеет неполную среду, сделайте что-то вроде:
tmux new-window -t $SESSION:0 -k -n MAIN 'bash --init-file <(echo "source ~/.bashrc; cd ~/main/ && perl -Ilib myapp")'
-121--106064- Используйте Perl с подстановками, чтобы вторая запятая не была частью соответствия:
perl -pe 's/,(?=,)/,\\N/g'
Или дважды используйте одно и то же выражение в одной строке:
sed 's/,,/,\\N,/g;s/,,/,\\N,/g'
-121--217501- Отображаемые данные уже содержат много информации: UID пользователя 33, что в моей системе соответствует www-data , и я думаю, что это, скорее всего, то же самое относится и к вашей системе, потому что отображаемые вами сокеты принадлежат www-data .
Также, я сомневаюсь, что командная строка принесет вам больше информации: PPID программы perl - 15176, но PPID 15176 - 1 ( т. е. , init ). Здесь нет оболочки, между ними нет сеанса.
Контактируемые IP-адреса не вызывают особого беспокойства: они принадлежат Microsoft и Google, и те ребята умеют защищаться.
Итак, где доказательства нецензурной брани? Я согласен с тем, что SYN_SENT состояния для соединения действительно вызывает беспокойство, потому что это означает, что ваше соединение не получило правильного SYN/ACK, и вы остались зависшими.
Так что вы можете сделать, чтобы выкопать больше информации? Вы не можете попытаться идентифицировать пользователя напрямую: ваша публикация уже показывает, что пользователь www-data , и что процесс не подключен напрямую к терминалу или сеансу.
Но вы можете в первую очередь убедиться, что ваш IP включен в черный список, например, здесь : если вы есть, это было бы свидетельством спама.
Во-вторых, вы должны проверить журнал вашего почтовика на предмет чего-либо необычного: сайты, отказывающие в подключении, потому что вы находитесь в черном списке, несколько подключений с одного сайта, доказательства использования в качестве ретранслятора,....
В-третьих, вы можете наблюдать за своими портами с помощью
ss -lntp
Это говорит вам о pid процессов, использующих порт (TCP) в любой данный момент времени, еще раз проверяя наличие нескольких соединений. Для получения дополнительной информации о том, что происходит во время подозрительных соединений, можно создать сценарий для повторения указанной команды каждую секунду и сохранить ее выходные данные (возможно, в сочетании с выходными данными пользователей ) и отметку времени. Это может быть перекрестно связано посмертно с пользователями, вошедшими в систему, или пользователями, подключенными к вашему сайту.
Для получения дополнительной информации можно просто сбросить все пакеты на часто повторяющийся сайт Microsoft,что-то вроде
nohup tcpdump -n -i eth0 host 65.52.0.0/14 -w outfile &
Диапазон IP-адресов - это весь блок, принадлежащий Microsoft, согласно выводу whois 65,55,37,72 ; приведенная выше команда, вероятно, будет генерировать довольно много выходных данных, таким образом, быть готовым оттачивать свои навыки в фильтрации выражений с помощью wireshark .
Если все это не удается, будьте готовы заставить пользователей изменить свои пароли.