Sudo Bug Lets Non-Privileged Linux and macOS Users Run Commands as Root

https://thehackernews.com/2020/02/sudo-linux-vulnerability.html

Кратко: если включена опция pwfeedback (отображение звёздочек при вводе пароля), то можно переполнить буфер и выполнить команды от рута. В некоторых дистрибутивах эта опция включена по умолчанию. Решение: прописать Defaults !pwfeedback в sudoers.

Мне это не помогло, нужно было прописать то же самое в /etc/sudoers.d/0pwfeedback.

Remmina: unable to connect

Внезапно Remmina перестала подключаться к терминальному серверу по RDP. Сообщение об ошибке было не очень-то внятным:

[16:05:37:017] [3681:4047] [INFO][com.freerdp.client.common.cmdline] - loading channelEx cliprdr
[16:05:37:017] [3681:4047] [INFO][com.freerdp.client.common.cmdline] - loading channelEx drdynvc
[16:05:38:527] [3681:4047] [ERROR][com.winpr.timezone] - Unable to get current timezone rule
[16:05:38:539] [3681:4047] [INFO][com.freerdp.core] - ERRINFO_LICENSE_HWID_DOESNT_MATCH_LICENSE (0x00000104):The Client Access License ([MS-RDPELE] section 1.1) stored by the client has been modified.
[16:05:38:539] [3681:4047] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
 libfreerdp returned code is 00010104

Но при внимательном изучении становится понятно, что дело где-то в libfreerdp, а точнее — в изменении сохраненной лицензии. Решил проблему топорно:

mv .config/freerdp/ .config/freerdp-old

После установки соединения Remmina предложила принять новый сертифика и без проблем подключилась к рабочему столу.

NetworkManager: отбираем контроль над интерфесами

Чтобы заставить NetworkManager оставить в покое ваш любимый интерфейс, нужно в файле /etc/NetworkManager/NetworkManager.conf добавить раздел [keyfile] со строкой unmanaged-devices, в которой перечислить мак-адреса освобожденный интерфейсов. Необходимо удостовериться, что плагин keyfile включен в список.

[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq

[ifupdown]
managed=false

[keyfile]
unmanaged-devices=mac:c4:6e:1f:04:54:cc;mac:60:e3:27:02:55:34;mac:fc:75:16:85:93:94

VirtualBox: Kernel driver not installed (rc=-1908)

С обновлением VirtualBox изменился и путь, по которому находится скрипт, обновляющий необходимый модуль ядра. Диалог с сообщением об ошибке предлагает выполнить команду:

/sbin/rcvboxdrv setup

но он ошибается (по крайней мере, в Ubuntu 15.10). Правильный вариант такой:

sudo /usr/lib/virtualbox/vboxdrv.sh setup

Найти файл можно командой:

locate vboxdrv.sh

Собираем изображения в GIF

 convert -delay 20 -loop 0 *.jpg out.gif

К сожалению, размер конечного файла оказывается куда больше, чем суммарный размер исходников. Например, 57 картинок jpg размером 3 МБ в результате дали gif на 12 МБ!

Источник: https://scottlinux.com/2011/07/31/create-animated-gif-in-linux-from-command-line/

Ускоряем Ubuntu SSH Login

  1. В файлах /etc/pam.d/login и /etc/pam.d/sshd выпиливаем начисто строчки «session optional pam_motd.so»
  2. Сносим нафиг компоненты платного мониторинга, установленные по дефолту:
    aptitude remove landscape-client landscape-common

Источник: http://3.14.by/ru/read/ubuntu-ssh-performance-tweak

Linux: ALAC to MP3

Создаём скрипт convert:

#!/bin/bash
input=$1
output=${input#.*}.mp3
ffmpeg -i "$input" -ac 2 -f wav - | lame -V 2 - "$output"

Добавляем ему права на исполнение. Затем устанавливаем parallel из moreutils, ffmpeg, lame и запускаем:

$ find ~/Music/ -type f -name '*.mp4' -print0 | xargs -0 parallel ./convert --

Источник: http://superuser.com/questions/339662/most-efficient-way-to-convert-a-large-alac-library-to-mp3

Установить максимальную яркость монитора из консоли

cat /sys/class/backlight/acpi_video0/max_brightness > /sys/class/backlight/acpi_video0/brightness

Источник: http://linuxg.net/change-the-brightness-via-command-line/

MySQL: самые нужные мне команды

To login (from unix shell) use -h only if needed.
# [mysql dir]/bin/mysql -h hostname -u root -p

Create a database on the sql server.
mysql> create database [databasename];

List all databases on the sql server.
mysql> show databases;

Switch to a database.
mysql> use [db name];

To see all the tables in the db.
mysql> show tables;

To see database’s field formats.
mysql> describe [table name];

To delete a db.
mysql> drop database [database name];

To delete a table.
mysql> drop table [table name];

Show all data in a table.
mysql> SELECT * FROM [table name];

Returns the columns and column information pertaining to the designated table.
mysql> show columns from [table name];

Show certain selected rows with the value «whatever».
mysql> SELECT * FROM [table name] WHERE [field name] = "whatever";

Count rows in table.
mysql> SELECT COUNT(*) FROM pet;

Count rows in table and group by some field.
mysql> SELECT owner, COUNT(*) FROM pet GROUP BY owner;

Источники:
http://www.pantz.org/software/mysql/mysqlcommands.html
http://dev.mysql.com/doc/refman/5.1/en/counting-rows.html

LVM: уменьшить раздел

LVM — вынос мозга. Потратил почти 3 часа на уменьшение раздела. Шаги, к сожалению, не записывал, действовал по ходу гугления. Вышло примерно так:

  1. Уменьшить Ext2fs
  2. Уменьшить LV1
  3. Переместить LV2 поближе к LV1 (это было самое сложное для понимания)
  4. Уменьшить PV
  5. Удалить логический раздел с PV и создать заново с меньшим размером (тоже непросто)
  6. Уменьшить расширенный раздел, внутри которого был LVM

Очень помогла статья: http://fedorasolved.org/Members/zcat/shrink-lvm-for-new-partition
Другая полезная ссылка, объяснившая перемещение LV2:
http://linux.die.net/man/8/pvmove
http://www.redhat.com/archives/linux-lvm/2006-December/msg00035.html

nfs mount: permission denied

Настроил NFS-экспорт каталога с rw на компе с убунтой, примонтировал его с rw на ноуте с лубунтой, а записать не могу даже от рута. Что за беда? Оказывается, есть трудность в сопоставлении пользователей. Решил вопрос добавлением параметра no_root_squash в опции экспорта.

Источник: http://www.opennet.ru/openforum/vsluhforumID1/73815.html

Ubuntu console autologin

First install mingetty:
$ sudo apt-get install mingetty

Edit /etc/init/tty1.conf:
Change:
exec /sbin/getty -8 38400 tty1
To:
exec /sbin/mingetty --autologin root --noclear tty1

Reboot and test.

Источник: http://askubuntu.com/questions/168706/how-do-i-auto-login-as-root-into-the-tty-upon-boot/

Уменьшаем название Pidgin в меню индикатора сообщений

Источник

  1. переходим в каталог /usr/share/locale-langpack/ru/LC_MESSAGES
  2. cd /usr/share/locale-langpack/ru/LC_MESSAGES

  3. конвертируем в текстовый .po
  4. sudo msgunfmt pidgin.mo -o pidgin.po

  5. открываем в любимом текстовом редакторе полученный файл, ищем строку «Клиент обмена мгновенными сообщениями Pidgin» и заменяем её на своё значениe, например просто «Pidgin» (без кавычек)
  6. sudo gedit pidgin.po

  7. конвертируем текстовый .po обратно в бинарный .mo
  8. sudo msgfmt pidgin.po -o pidgin.mo

  9. перезагружаем сессию пользователя (пункт системного меню «Завершение сеанса…») или только Unity3), Alt+F2 и вводим команду
  10. unity --replace

TeamCity + Buildroot

При запуске сборки Buildroot из TeamCity первый падает с сообщением:

You seem to have the current working directory in your
LD_LIBRARY_PATH environment variable. This doesn't work.

Чтобы очистить LD_LIBRARY_PATH, открываем файл /opt/TeamCity/buildAgent/conf/buildAgent.properties
и добавляем в конец строчку:

env.LD_LIBRARY_PATH=""

После этого сборка начинает работать.