Определите Ipv6 адрес другой машины, когда я знаю ее ipv4

Предполагается, что средства GNU:

find . -mtime -1 -exec bash -c \
'for f; do tac "$f" | grep -m1 fileprefix; done' _ {} +
-121--43580-

Как насчет:

find . -mtime -1 -name "fileprefix*" -exec sh -c \
'echo "$(grep 'search string' $1 | tail -n 1),$1"' _ {} \;

Приведенный выше пример дает хороший результат с последним вхождением последовательности поиска в каждый файл, за которым следует соответствующее имя файла после запятой (измените часть, «$1» под эхом, чтобы изменить форматирование или удалить его, если это необязательно). Пример вывода для поиска последовательности поиска «» 10 «» в файлах с префиксом имени «» file «»:

[dmitry@localhost sourceDir]$ find . -mtime -1 -name "file*" -exec  sh -c 'echo "$(grep '10' $1 | tail -n 1),$1"' _ {} \;
Another data 02 10,./file02.log
Some data 01 10,./file01.log
Yet another data 03 10,./file03.log 
-121--43583-
find . -mtime 1 -name 'fileprefix*' -exec grep -Hn 'search string' {} + |
    sort -t: -k1,2 -n | 
    awk -F: '{key=$1 ; $1="" ; $2="" ; gsub(/^  /,"",$0); a[key]=$0} 
             END {for (key in a) { print key ":" a[key] }}'

Используются параметры GNU grep -H и -n , чтобы всегда печатать как имя файла, так и номер строки всех совпадений, затем сортируется по имени файла и номеру строки и помещает его в трепок, который сохраняет последнее совпадение для

Довольно грубый метод, но он работает.

6
01.09.2018, 05:44
3 ответа

Если rootможет удаленно войти в систему, nologinигнорируется. Тем не менее, большинство здравомыслящих администраторов не разрешат rootнапрямую удаленно входить в систему в пользу авторизованного пользователя, входящего в систему и использующего sudo. Однако, если последнее не так, rootможет войти в систему и прервать завершение работы.

3
27.01.2020, 20:21

nologinигнорируется для пользователя root. Таким образом, вы можете использовать SSH для подключения с правами root, но у вас, вероятно, есть дистрибутив, который по умолчанию не разрешает вход в систему root. Вы можете создать ключ SSH и поместить его в ~root/.ssh/authorized_keys, после чего вы сможете войти с этим ключом как root.

2
27.01.2020, 20:21

Помимо использования учетной записи «root» для создания нового sshсоединения, мы можем использовать PAM, чтобы разрешить вход в систему определенным пользователям или группам.

Конфигурации PAM sshdрасположены в :/etc/pam.d/sshd, которые отвечают за то, что вы ищете.

Редактируя этот файл и используя pam_succeed_if.so, мы можем разрешить вход в систему определенному пользователю или группе, даже если /run/nologinсуществует на машине.

pam_succeed_if.so is designed to succeed or fail authentication based on characteristics of the account belonging to the user being authenticated or values of other PAM items. One use is to select whether to load other modules based on this test.

Таким образом, мы используем его, чтобы определить, следует ли нам загружать pam_nologin.soмодуль или нет, основываясь на вашем имени пользователя или группе пользователей -.

Откройте файл с помощью вашего любимого текстового редактора:

$ sudo vi /etc/pam.d/sshd

И найди эти строки:

# Disallow non-root logins when /etc/nologin exists.
account    required     pam_nologin.so

Добавьте эту строку между ними:

account  [default=1 success=ignore] pam_succeed_if.so quiet user notingroup sudo

Итак, теперь строки должны выглядеть так:

# Disallow non-root logins when /etc/nologin exists.
account  [default=1 success=ignore] pam_succeed_if.so quiet user notingroup sudo
account  required     pam_nologin.so

Теперь пользователи из группы sudoмогут войти в систему, даже если /run/nologinсуществует.

И разрешить конкретному пользователю:

account [default=2 success=ignore] pam_succeed_if.so quiet user != username

Для более гибких условий оформить заказ:

man pam_succeed_if
11
27.01.2020, 20:21

Теги

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