LINUX.ORG.RU

Сообщения Dimarius

 

Как часто вы обновляете ядро?

Вопрос возник спустя некоторое время, после установки debian 11 и необходимого обновления его дистрового ядра до 6.2, а потом и до 6.3 по причине свежего железа в ноуте: 12gen проца, тач, bt, wifi и т.д. Несколько дней пересборок ядра, допихивания firmware и всё необходимое заработало. Так вот, последнее рабочее ядро собирал 6.3.3, а на сегодня уже 6.3.5 вышло, стоит ли на него обновляться? И стоит ли производить эту процедуру регулярно? Какие риски на лаптопе?

Вылавливать нововведения в свежих ядрах желания нет, а так же зависимости с необходимыми «ключами в конфиге», но стабильность и безопасность в пожеланиях присутствует ))

p.s. В обсуждении подсказали отличный проект xanmod, позволяющий пользоваться свежайшим ядром с гармоничной сборкой содержимого и без приключений со сборкой, спасибо! 👍

 , ,

Dimarius
()

nmap ускорение TCP + UDP + version

Запускаю nmap с опциями:

nmap -sTV -sUV -p 0-65535 <ip>
Процедура очень долгая даже если использовать -T5. Единственное, что реально ускоряет процесс в разы:
--version-intensity 2 --min-parallelism 20000
Все остальные таймауты и лимиты как будто вообще игнорируются при -sUV (что Т5, что всё перечислять: --max-rtt-timeout 300 --min-rtt-timeout 50 --initial-rtt-timeout 250 --max-retries 2).

Есть у кого реальный опыт ускорения сканирования? Интересно про локальную сеть с быстрыми узлами и откликами, но с «версиями» и UDP. Спасибо.

 ,

Dimarius
()

Скрипт при ошибке авторизации ssh

Есть куча манов по успешной авторизации, но как быть с ошибками авторизации? Цель запустить скрипт только в случае неудачи.

Ну т.е. авторизация не прошла и об этом факте надо уведомить на email (в идеале указать данные ip, юзера и причину ошибки).

 , ,

Dimarius
()

awk, выполнение «команды в команде»

Входные данные - 3 столбца. Первые 2 на выхлопе загоняются в рамки <td></td>, а последний надо тоже загнать в рамки <td></td>, но дополнительно преобразовать его значение в часы:минуты:секунды. Вот чего добился:

# echo 1 2 250 | awk '{system("date -u +%H:%M:%S " "-d@"$3)} {print "<tr><td>"$1,"</td><td>"$2,"</td><td>"$3"</td></tr>"}'
00:04:10
<tr><td>1 </td><td>2 </td><td>250</td></tr>
А хочу на выхлопе:
<tr><td>1 </td><td>2 </td><td>00:04:10</td></tr>

Знатоки awk, подскажите пожалуйста. Спасибо.

 

Dimarius
()

proxmox storage cifs права на монтирование /mnt/pve

Монтирую в вебе шару share (датацентр -> хранилище -> cifs), путь монтирования задаётся автоматически, /etc/pve/share и права -> 755 root root.

Менять права на этот каталог бесполезно, они мгновенно меняются обратно, владельца аналогично. Явно работает механизм отслеживающий и меняющий всё на место. Отсюда 2 вопроса:

1) Что за механизм следящий за правами этого каталога?

2) Как изменить права на каталог /etc/pve/share что бы они сохранились?

Спасибо.

bindfs не предлагать )) в условиях кластера так себе решение.

 , ,

Dimarius
()

iotop не кажет мигрирование vm в proxmox lvm-thin

Доброго времени суток.

Сабж в заголовке, ос 9, iotop показывает только чтение с диска, причём общее, процесс dd по io копейки, а на ноде приёмнике вообще тишина - ни чтения, ни записи толком нет. А по факту там харды под максимум пропускной заняты.

Пробовал монтировать /dev/mapper/... с помощью kpartx - картина без изменений. kill USR1 добавляет инфу в общий лог, но это не то.

Наверняка есть инструмент показывающий всe IO, включая dd lvm, желательно с подробностями, ошибками, логированием. Подскажете?

Спасибо.

 , ,

Dimarius
()

скрытый редирект или прокси

1) Есть страничка вида http://1.1.1.1/a/b/index.html 2) Есть виртуалка с ip 2.2.2.2 (debian)

Надо что бы при вводе строки в браузере http://2.2.2.2 отображалась страничка index из 1п. но: 1) Адрес в строке браузера должен остался http://2.2.2.2 (без a,b и самого index.html) 2) Структура сайта в 1п. содержит не только index.html, но и другие элементы зависимые от абсолютного пути.

Как можно такое сделать? Спасибо.

 , ,

Dimarius
()

udisks2 (udisksd) жрёт проц на ~30%

Свежая система:

Kernel: 5.0.21-5-pve x86_64 bits: 64 Desktop: MATE 1.20.4 Distro: Debian GNU/Linux 10 (buster)

И вот такая картинка в топе:

PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND

709 root      20   0  788304 402516   9988 S  31,7   2,5   8:11.54 udisksd

Прибить udisks2 конечно вариант, но он тянет за собой полсистемы. Подскажите гуманный метод пожалуйста. Спасибо.

 

Dimarius
()

grep по всем переменным, начинающимся с «ok»

Есть список переменных примерно таких:

ok1=1.1
ok2=2.2
.
.
ok[n]=n.n

Задача отпарсить лог файл по наличию в нём значений переменных.

cat log | grep -v "$ok1\|$ok2\|$ok3\|$ok4\|$ok5"
Так работает, но приходится каждый раз дописывать очередную переменную добавляя \|$ok[n].

Подскажите, есть ли возможность перечислить все переменные пусть даже ограничиваясь 50-ой например? Если всё-таки цикл, то как в нём перечислить переменные?

Спасибо.

Решение:

Вместо переменных сделал список whitelist и сортировка стала выглядеть так

cat log | grep -v -f whitelist
Всем спасибо, решение как всегда было на поверхности )))

 

Dimarius
()

проверка несистемного раздела на старте, как?

Debian 9 x64 со всеми обновами, 2 раздела монтируются fstab по UUID в / и /home.

Включил проверку обоих при каждом монтировании:

tune2fs -c 1 /dev/sda1
tune2fs -c 1 /dev/sda2

Для системного раздела в fstab стоит 0 1, для /home 0 2. Системный раздел при этом проверяется при каждой загрузке - с этим проблем нет, а второй не проверяется вовсе. Пробовал поставить 0 1, эффекта нет.

Пробовал в /home записать файл forcefsck - не работает.

Создание в /etc/default/rcS записи FSCKFIX=yes - не работает.

Подскажите, как принудительно проверить раздел отличный от / при запуске системы?

Спасибо.

Решение найдено. Помимо tune2fs и «0 2» в fstab добавка в /etc/default/grub параметров fsck.mode=force fsck.repair=yes отработала.

sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet fsck.mode=force fsck.repair=yes"/g' /etc/default/grub
sudo update-grub

И на запрос:

sudo  journalctl -b | grep "fsck\|File System"
Был получен заветный результат проверки и восстановления необходимых разделов. Вопрос закрыт, всем спасибо.

 ,

Dimarius
()

lightdm грузит 1 ядро проца на 100%

Собственно сабж:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                           
 1853 root      20   0  526268  16444  14060 S  99,7  0,1  10:09.71 lightdm                                                                           
Рестарт службы проблему решает, но это же не выход. В логах /var/log/lightdm/ никаких явных ошибок. Как можно это дело вылечить?

Спасибо заранее.

 

Dimarius
()

while внутри while и fi

Соорудил небольшой цикл:

while true; do
{
if ... ; then
...
else
...
while ...; do ... done
...
fi
}					
done
Так вот он ругается на fi:
 Syntax error: "fi" unexpected (expecting "done")
но стоить закоментить цикл внутри else никаких ошибок нет. Если «while ...; do ... done» записать в файл /script.sh и запускать:
while true; do
{
if ... ; then
...
else
...
/script.sh
...
fi
}					
done
то тоже никаких проблем нет. Собственно так и соорудил временно. В чем косяк? Одним скриптом реально сделать?

 ,

Dimarius
()

ecryptfs + etoken = пропасть? Как зашифровать/расшифровать файл или папку с помощью etoken?

Настроил в системе аутентификацию пользователя по etoken по мануалу.

Но $HOME зашифрован ecryptfs. Можно ли подружить её с токеном? Ну что бы на стадии логина расшифровка была штатными средствами или ещё как-то?

 ,

Dimarius
()

~/.eid/authorized_certificates с шифрованной домашней директорией, как подружить?

Домашняя директория шифрована, соответственно файл ~/.eid/authorized_certificates во время аутентификации не доступен.

Как лучше сделать?

Вижу варианты: симлинк из не шифрованного места в ~/.eid/authorized_certificates (authorized_certificates - это открытый ключ, так что всё безопасно) или bindfs с той же сутью. Изменить конфиг, что бы ~/.eid/authorized_certificates для конкретного юзера брался из не шифрованного места. Но как и где этот конфиг править?

p.s. Настройку производил по инструкции с заменой библиотеки для моего токена - libeTPkcs11.so, на суть задачи это никак не влияет. Для не шифрованного $HOME всё работает.

 , ,

Dimarius
()

SafeNet eToken 5100 как им пользоваться?

Братцы, заранее прощу не кидаться помидорами. Расскажите, подскажите...

Прикупил по дешевке SafeNet eToken 5100, хочу сделать аутентификацию юзера в GUI с помощью этого токена, ос debian 9.5 с рабочим столом mate, все обновы установлены.

Установил пакеты из репов:

sudo apt install -y pcscd opensc pcsc-tools openssl libpam-p11 libengine-pkcs11-openssl libhal1-flash
Привинтил дрова:
dpkg -i SAC-32-CompatibilityPack-9.1.7-0_amd64.deb
dpkg -i SafenetAuthenticationClient-9.1.7-0_amd64.deb
apt install -f -y
Перезагрузился, после этого токен стал видим:
$ pkcs11-tool --module /usr/lib/libeTPkcs11.so -L
Available slots:
Slot 0 (0x0): SafeNet eToken 5100 [Main Interface] 00 00
  token label        : eToken PRO Java non def ISD
  token manufacturer : SafeNet, Inc.
  token model        : eToken
  token flags        : rng, login required, PIN initialized, token initialized, other flags=0x200
  hardware version   : 4.3
  firmware version   : 0.0
  serial num         : ********
При попытке просмотра содержимого ругается:
$ pkcs15-tool --list-keys
Using reader with a card: SafeNet eToken 5100 [Main Interface] 00 00
Failed to connect to card: Card is invalid or cannot be handled

Как с этой штукой работать? Изменить token label? Записать сертификаты и ключи? Очистить?

p.s. Короче сгенерировал ключи и сертификаты в линуксе (openssl), виндой сбросил токен и закатал в него сертификат штатной приблудой от SafeNet. Графика приблуды для линуха запускается командой SACMonitor. Частично проблема решена. Следующая задача в следующей теме будет.

p.p.s. А решение для линукс было прям на поверхности как всегда, буквально всё управление токеном, ключами и сертификатами делается через:

pkcs11-tool --module /usr/lib/libeTPkcs11.so

 ,

Dimarius
()

samba параметр «mangled names = no» закрывает чтение файлов.

Доброго времени суток lor. Годы летят, а самба не меняется )) А вот и очередной сюрприз.

Если ставлю mangled names = yes

[dir]
	mangled names = yes
	browseable = no
	read only = yes
        guest ok = yes
        public = yes
	path = /dir
то имена файлов каверкает во что-то невменозное, оставляя родное только расширение. Но при этом файлы можно прочитать и скопировать.

Если ставлю mangled names = no

[dir]
	mangled names = no
	browseable = no
	read only = yes
        guest ok = yes
        public = yes
	path = /dir
то показывает правильное название файлов, но с ними ничего не сделать, ни прочитать, ни скопировать.

Есть возможность побороть данный баг?

samba (2:4.5.12+dfsg-2+deb9u4)

Linux DVR 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux

 

Dimarius
()

wine бесправный, нет доступа к устройству даже с правами пользователя.

Мануал, зачем и подробности тут.

Добавляю юзера в групу:

sudo usermod -a -G dialout user
id user
uid=1001(user) gid=1001(user) группы=1001(user),20(dialout),27(sudo)
Доступа к устройству нет. Меняю права:
sudo chmod 766 /dev/ttyACM0
Доступ к устройству есть! Но до перевого ребута usb/компа.
sudo chmod 760 /dev/ttyACM0
Доступа к устройству нет. Получается wine запускается не от user или user не имеет прав на /dev/ttyACM0. Как так?

По умолчанию права 660 и группа dialout:

ls -l /dev/ttyACM0 
crw-rw---- 1 root dialout 166, 0 дек 11 09:21 /dev/ttyACM0
Wine стартую так:
wine '/home/user/.wine/drive_c/Program Files (x86)/ШТРИХ-М/Драйвер ФР 4.9/DrvFRTst.exe' 

 ,

Dimarius
()

Автоматические права на копируемые файлы. setfacl не помогает.

Гугл бессилен ))

Короче задача: имеется папка (или директория, кому как удобнее воспринимать), необходимо что бы все создаваемые/копируемые/перемещаемые в неё файлы и папки имели права доступа 600 и владельца root:root.

Попытка:

sudo setfacl -d -R -m u:root:r -m g:root:- /dir
sudo setfacl -d -R -m u::r -m g::- /dir

setfacl не помогает, точнее помогает, но только для создаваемых с ноля папок и файлов, но на копируемые и перемещаемые ничего не меняет. Гонять регулярный скрипт chown и chmod это же дичь.

Как можно красиво такое реализовать? Спасибо.

Ответ: юзаем bindfs.

 ,

Dimarius
()

Можно ли зашифровать письма в /var/vmail?

Доброго времени суток.

Паранойя одолевает сознание, база писем на почтовике лежит в /var/vmail... в открытом виде. Подскажите, как можно корректно настроить шифрование файлов (директории) писем? Цель: что бы при физическом доступе к хардам тела писем вынуть было невозможно.

Как вариант вижу шифрование директории целиком. Даже мануал нашёл. Монтирование руками - норм, но насколько там «крепкое» шифрование?

Как думаете, корректный метод? Спасибо.

 

Dimarius
()

Безопасная авторизация по usb флешке

Господа, всем доброго времени суток.

Подскажите параноику, как сделать БЕЗОПАСНУЮ авторизацию по флешке? Что бы в режиме запроса логина и пароля (GUI) можно было вставить флешку и ничего более не нажимая логинился юзер. А при вынимании происходило либо завершение сеанса, либо блокировка.

Про pam_usb знаю, мало того, что его в современных репах нет, так там IMHO беда с безопасностью /etc/pamusb.conf например:

<device id="my-usb-stick">
 <vendor>
  Verbatim
 </vendor>
 <model>
  STORE N GO
 </model>
 <serial>
  Verbatim_STORE_N_GO_07A10D0894492625-0:0
 </serial>
 <volume_uuid>
  A842-0654
 </volume_uuid>
</device>
При доступе к физическому железу это вообще шляпа.

Может есть защищённый метод? Сгенерированный ключ на флешку записать может, usb token купить или ещё как.

Заранее спасибо за ответы.

 

Dimarius
()

RSS подписка на новые темы