Категории

среда, 30 июля 2014 г.

Wireshark не видит сетевой интерфейс в Ubuntu

По умолчанию wireshark запускается с правами пользователя и не видит сетевые интерфейсы, использование данной возможности влияет на безопасность, поэтому приходится запускать от root. Если сомневаетесь, то используйте запуск wireshark от root. Dumpcap можно установить таким образом, что члены группы wireshark смогут захватывать пакеты - это более рекомендуемый способ захвата пакетов с помощью Wireshark/Tshark, чем запуск самого Wireshark/Tshark с правами root, так как это позволяет выполнять почти весь код с меньшими правами. Чтобы Wireshark начал видеть интерфейсы нужно разрешить группе wireshark использовать Dumpcap, для этого настраиваем пакет wireshark-common и добавляем своего пользователя в группу wireshark.
root@Ubuntu# dpkg-reconfigure wireshark-common
root@Ubuntu# usermod -aG wireshark $USER

1. Toster: Wireshark не видит сетевой интерфейс в Ubuntu 14.04, что делать?

четверг, 10 июля 2014 г.

PostgreSQL. Создать базу данных и пользователя для нее.

Запускаем psql под пользователем postgres:
su postgres -c psql
Теперь в консоли PostgreSQL вводим следующие команды:
create database dbname with encoding='UNICODE';
create user dbuser with password 'dbpass';
grant all privileges on database dbname to dbuser;
А также не забываем дать доступ новому пользователю к серверу, для этого в файле /var/lib/pgsql/data/pg_hba.conf:
# For dbuser:
host    dbname dbuser   127.0.0.1/32           md5
local   dbname dbuser                          md5
Где dbname – имя базы данных,
dbuser – имя пользователя,
dbpass – пароль пользователя dbuser. И говорим серверу PostgreSQL перечитать измененный конфиг pg_hba.conf:
root@Linux# service postgresql reload
Скрипт для удобства:
#!/bin/sh

PGPORT=

echo 'Input dbname: '
read dbname

dbuser=${dbuser:-$dbname}
echo "Input dbuser: [$dbuser]"  # Generate by dbname.

randpass=$(tr -cd A-Za-z < /dev/urandom | head -c8)
echo "Input dbpass [$randpass]:"  # Generate random.
read dbpass
dbpass=${dbpass:-$randpass}

# Facepalm centos... Need fill path to binary psql: /usr/pgsql-9.3/bin/psql
su - postgres -c "/usr/pgsql-9.3/bin/psql --dbname=$DB --port=$PGPORT <<_EOF
\x
CREATE DATABASE $dbname WITH ENCODING='UNICODE';
CREATE USER $dbuser WITH PASSWORD '$dbpass';
GRANT ALL PRIVILEGES ON DATABASE $dbname TO $dbuser;
_EOF
"
# TODO: check error code here.

# Do backup modified cfg files.
cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf_`date +%s`

PGPORT=${PGPORT:-5432}
[ -n "$dbname" -a -n "$dbuser" ] && cat <<-_EOF >>/var/lib/pgsql/data/pg_hba.conf

 # For $dbuser, generated at `date`:
 host    $dbname $dbuser   127.0.0.1/32           md5
 local   $dbname $dbuser                          md5
_EOF

# Do reload.
service postgresql-9.3 reload

Ссылки по теме:
1. PostgreSQL. Как создать базу данных и пользователя для нее.