Действительно ли возможно отключить диалоговое окно входа в систему Kali Linux?

Я думаю, вы должны отделить обработку файлов из обработки каталога. Сделайте каталоги первыми. В мире GNU:

cd /dir2
find /dir -mindepth 1 -maxdepth 1 -type d -exec mkdir {} \;

, а затем симлизы:

find /dir -mindepth 1 -maxdepth 1 -type f -exec ln -s -t /dir2 {} +
0
04.05.2015, 04:22
1 ответ

Не похоже, что ядро раскрывает эту информацию. Поэтому, кроме отладки ядра, я не думаю, что вы можете это знать. Лучшее, что вы можете сделать, это перечислить все процессы, которые имеют tun или tap устройств, открытых так:

lsof /dev/net/tun

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

Когда процесс хочет создать интерфейс tun , он открывает интерфейс /dev/net/tun независимо от того, какой интерфейс tun он намерен использовать. Затем он позволяет ядру динамически назначать новое имя интерфейса tun (например, tun0 , tun1 , tun2 и т.д.) или задает выбранное имя. Это делается с помощью вызова ioctl с кодом TUNSETIFF . Так что, если вы не сможете отследить, что ioctl звонит, нет способа сказать, какое имя было присвоено.

-121--64262-

Как указано, bash обычно доступен в установке по умолчанию для многих искажений. Ваш сценарий не достигнет максимальной базы пользователей, полагаясь на zsh .

Важный вопрос, на который необходимо ответить перед разработкой сценария: « Почему важно, в какой оболочке выполняется сценарий? »

Различные оболочки используют другой синтаксис или предлагают дополнительные функции оболочки, которые могут не поддерживаться другими оболочками. Чтобы написать сценарий для «общего мира конечных пользователей Linux», определите, использует ли сценарий какой-либо синтаксис или функции оболочки, которые зависят от конкретной среды оболочки.

Например, bash shell поддерживает определенные расширения, которые не поддерживаются тире , оболочкой Борна или каким-либо /bin/sh , точками в системе пользователя.

$ ls -l /bin/sh 
lrwxrwxrwx 1 root root 4 Feb 19  2014 /bin/sh -> dash

Попробуйте выполнить эхо {1.. 10} с /bin/sh по сравнению с /bin/bash , и вы получите совершенно разные выходные данные.

То же самое касается zsh , который, поддерживая большинство синтаксисов bash , обеспечивает дополнительное расширение и синтаксис, которые не поддерживаются оболочкой bash . Конкретные примеры см. в таблицах , сравнивающих оболочки .

Потенциальную базу пользователей можно расширить за пределы bash , придерживаясь сценариев, которые работают при вызове с # !/bin/sh -u . Однако это порождает еще один важный вопрос: « Чем жертвуют в обмен на большую переносимость? »

Определите, стоит ли жертвовать различиями, связанными с безопасностью, функциональностью, эффективностью или чем-либо еще, что вы считаете приоритетным для вашего сценария. Возможно, не нужно широко использовать скрипт с известной уязвимостью безопасности только потому, что он работает в большем количестве сред.

Для bash написано так много сценариев, что поддержка этих сценариев используется в качестве критерия при сравнении командных оболочек . Гораздо больше людей смогут запустить сценарий, чем если бы он основывался на zsh или любом другом синтаксисе, исключительном для среды оболочки.

Кроме того, имейте в виду, что в конечном счете у вас нет контроля над тем, как пользователь выполняет сценарий (также полезно для отладки сценариев в различных оболочках ):

Помните, что если вы используете оболочку для чтения сценария оболочки ("sh scriptname "), вместо непосредственного выполнения (" ./scriptname "), shell будет рассматривать все комментарии в начале сценария оболочки как комментарии. В частности, комментарий, в котором указывается переводчик использование при выполнении сценария («# !/bin/sh -u») будет проигнорировано, так как будут все опции, перечисленные рядом с этим интерпретатором.

Итак, лучшее, что вы можете сделать, это сделать ваши сценарии портативными, пока нет больших жертв тому, как он функционирует.

Также можно увидеть Условные обозначения кодирования Bash - Переполнение стека .

-121--16836-

Необходимо настроить gdm3 , PAM для autologin :
Отредактируйте файл /etc/gdm/custom.conf .

# Enable automatic login for user
[daemon]
AutomaticLogin=username
AutomaticLoginEnable=True

Поместите следующую конфигурацию pam в /etc/pam.d/gdm-password :

auth sufficient pam_succeed_if.so user ingroup nopasswdlogin

Затем создайте пользователя и группу nopasswdlogin .

2
28.01.2020, 02:36

Теги

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