Tag Archive for 'linux'

Linux: run a command with a time limit

Need to run tcpdump at night writing to a pcap file? Not a problem with a crond.
Need to stop it after 10 minutes? One more crond task initiating something like ‘ps aux | grep [t]cpd’, parsing it PID and killing it? No!

timeout 10m tcpdump -v -pnni eth0 udp src port 5060 and dst port 5060 and host 10.11.7.1 -w pbx_`date +%F_%H-%M`.pcap

timeout – a nice GNU coreutil.

top

You may select the columns shown by the ‘top’ command with the ‘f’ key. Just run top and press ‘f’. Columns marked with * are shown, others are not.

In some versions of ‘top’ you have to select the [un]displayed item with arrows and activate/deactivate them with ‘d’ or space.

Запуск GUI-приложения на удаленном компьютере через SSH

Предполагается, что по SSH зашли под тем же пользователем, который зашёл на компьютер в GUI и локально. То есть зашли по SSH под логином john, и локально в GUI вход выполнен под пользователем john.
Допустим, нужно удаленно запустить Pidgin.
Выполняем по SSH команды:

export DISPLAY=:0
pidgin &

В итоге на удалённом компьютере запустится Pidgin.

passwd не меняет пароль

Наблюдал в Ubuntu 11.10.
При попытке поменять свой же (пользовательский) пароль командой passwd (а также при попытке поменять пароль юзера от рута) – выскакивало сообщение:

Ошибка при операциях с маркером проверки подлинности

и пароль не менялся.

Решение было найдено в инернете – нужно установить пакет libpam-cracklib и выполнить команду pam-auth-update (при запуске она выдала псевдо-меню с выбранными пунктами – я согласился с дефолтовыми вариантами и просто нажал Enter). Проблема решена.

Включение/выключение принтера из консоли

Включить/выключить принтер можно командой cupsenable/cupsdisable соответственно. Смотрим название принтера командой lpq (показывает только один принтер в системе), или lpstat -a (если в системе несколько принтеров) и выполняем команду:
lexus@lexus:~$ lpq
Kyocera-Mita-FS-1030D готов
нет записей
lexus@lexus:~$ cupsdisable Kyocera-Mita-FS-1030D
lexus@lexus:~$ lpq
Kyocera-Mita-FS-1030D не готов
нет записей
lexus@lexus:~$

Результат наших действий можно увидеть и через графический интерфейс (принтер Kyocera-Mita-FS-1030D теперь выключен):

system-config-printer

 

На практике пришлось применить в ситуации, когда принтер HP LaserJet Professional P1102 “засыпал” через какое-то время (причем отключение в нём самом этой функции родным ПО из-под Windows не спасло), и работа вставала. :)

Добавили запись в crontab пользователя (cupsenable и cupsdisable прекрасно работает без  sudo) и сказали ей выполняться каждые 5 минут:

# Enabling HP-LaserJet-Professional-P1102 printer each 5 minutes
*/5 * * * * /usr/sbin/cupsenable HP-LaserJet-Professional-P1102

Повторное выполнение ‘cupsenable’ негативно на работе принтера не сказывается, т.е. предупреждений вида “этот принтер уже итак выключен” не выскакиевает.

MySQL: смотрим список пользователей

Заходим в mysql под пользователем root , в базу mysql:

mysql -u root -p mysql

И смотрим всю информацию о пользователях (хранится она, как можно понять, в базе под одноименным названием “mysql”, в таблице “user”):

mysql> select * from user;

Этот запрос выведет достаточно много информации, которая некрасиво умещается на экране. Поэтому сначала можно посмотреть список колонок этой таблицы:

mysql> describe user;

… а потом сделать запрос только по интересующим нас колонкам:

mysql> select host,user from user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| 127.0.0.1 | root             |
| lexus     | root             |
| localhost | debian-sys-maint |
| localhost | root             |
+-----------+------------------+
4 rows in set (0.00 sec)

Creating user petrov_ak, who will connect from anywhere (%):

mysql> CREATE USER 'petrov_ak'@'%' IDENTIFIED BY 'pAsSwOrD';
Query OK, 0 rows affected (0.00 sec)

Grant privileges. Let him SELECT only from DB ‘asterisk’, table ‘cdr’:

mysql> GRANT SELECT ON asterisk.cdr TO 'petrov_ak'@'%';
Query OK, 0 rows affected (0.00 sec)

Очистка кеша памяти в Linux

С правами администратора делаем:

sync; echo 3 > /proc/sys/vm/drop_caches

Взято отсюда .

Принудительный выход пользователя из системы

Принудительно “выйти пользователя” из системы:

pkill -KILL -u username

Разумеется, нужны соответствующие права (root/sudo).

wine MSI file

wine msiexec /i /путь/к/файлу.msi

SAMBA users

smbpasswd -a john – добавить Samba-пользователя john

smbpasswd -x john – удалить Samba-пользователя john

pdbedit -L – список Samba-пользователей

Samba-пользователи должны первоначально быть добавлены как реальные системные пользователи.