СУБД FireBird на Linux Mint

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

zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 221 раз

Re: СУБД FireBird на Linux Mint

Сообщение zuzabrik » 05 дек 2016, 15:57

Похоже вам конкретно не хватает теоретических и практических знаний как по СУБД так и по UNIX системам. Отсюда и все странные вопросы.
Имею желание иметь всех желающих, но не имею желающих.


Автор темы
spd38
Сообщения: 140
Зарегистрирован: 19 ноя 2016, 13:36
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: СУБД FireBird на Linux Mint

Сообщение spd38 » 05 дек 2016, 16:00

Chocobo писал(а): Встречный вопрос - зачем тебе нужно увидеть этого пользователя в какой либо из графических утилит?
Ну хотя бы знать, что они есть и какие у них права.
В винде смотришь службы какие работают, читаешь комментарии о них, кто разработчик, и возникают мысли - а нужна ли мне такая служба?
Может отключить её для оптимизации?
Конечно, теперь я уже умею получать их в текстовом виде, но как-то это ненаглядно и затратно по времени.


Автор темы
spd38
Сообщения: 140
Зарегистрирован: 19 ноя 2016, 13:36
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: СУБД FireBird на Linux Mint

Сообщение spd38 » 05 дек 2016, 16:17

zuzabrik писал(а): Похоже вам конкретно не хватает теоретических и практических знаний как по СУБД так и по UNIX системам.
Безусловно согласен со второй частью вашего утверждения (про UNIX системы). А с СУБД я работал под Windows как программист. Администратор серверов БД и локальной сети на старой работе был другой человек. А ёще там был специалист по ИТ-безопасности, который следил, что бы и пользователи, и программисты имели как можно меньше прав, и никуда не лазили. :evil:
Компьютер я включал ключом Тач-Мемори, а USB порт мне оставили в виде исключения. Причём он мог считать логи того, что я копировал на флэшку.

А сейчас всё приходится делать самому, даже за этого :evil: парня думать :-D

В сети
Аватара пользователя

Chocobo
Сообщения: 5143
Зарегистрирован: 27 авг 2016, 19:57
Решено: 123
Откуда: НН
Благодарил (а): 388 раз
Поблагодарили: 1341 раз

Re: СУБД FireBird на Linux Mint

Сообщение Chocobo » 05 дек 2016, 16:29

spd38 писал(а): Ну хотя бы знать, что они есть и какие у них права.
заведомо неправильно искать графические тулзы для задач сходных к администрированию. Лишнего юзера в системе завестись никак не должно)
spd38 писал(а): В винде смотришь службы какие работают, читаешь комментарии о них, кто разработчик,
Впрочем, как проводить аналогии с соседними ОС - там все абсолютно иначе. Там мы можем лишь на слово поверить этой службе с доверенным разработчиком, и согласно практике не можем быть уверенными, что еще десяток процессов в данный момент не работает в обход самой оснастки списка служб...
spd38 писал(а): Конечно, теперь я уже умею получать их в текстовом виде
Список пользователей из листинга выше тебе мало что скажет)

В очередной раз хочу обратить внимание что все исходит из роли сервера, и ничего лишнего там быть заведомо не должно, чтоб не осложнять себе жизнь.

Вернемся к теме, узнать права тому или иному юзверю можно с тем же find'ом, к примеру давай узнаем в какие файлы или директории умеет писать пользователь firebird, исходя из rwx:

Код: Выделить всё

sudo find / -user firebird -perm -u+w

Аватара пользователя

qwertKI
Сообщения: 144
Зарегистрирован: 03 сен 2016, 10:11
Решено: 5
Откуда: г.Полтава. Украина
Благодарил (а): 55 раз
Поблагодарили: 56 раз

Re: СУБД FireBird на Linux Mint

Сообщение qwertKI » 05 дек 2016, 16:51

spd38 писал(а): firebird:x:122:131:Firebird Database Administator,,,:/var/lib/firebird:/bin/false
Ну это не пользователи, а настройки установленных программ , основной каталог твоей :/var/lib/firebird


Автор темы
spd38
Сообщения: 140
Зарегистрирован: 19 ноя 2016, 13:36
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: СУБД FireBird на Linux Mint

Сообщение spd38 » 05 дек 2016, 16:56

Chocobo писал(а): В очередной раз хочу обратить внимание что все исходит из роли сервера, и ничего лишнего там быть заведомо не должно, чтоб не осложнять себе жизнь.
Мысль правильная. Но раз уж судьба меня привела в страну Linux в мире Unix, то пытаюсь узнать побольше. Из чисто пингвиньего любопытства. :smile:
Chocobo писал(а): как проводить аналогии с соседними ОС - там все абсолютно иначе.
То же верно. Поэтому возникают непонятки и глупые вопросы :sry:


Автор темы
spd38
Сообщения: 140
Зарегистрирован: 19 ноя 2016, 13:36
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: СУБД FireBird на Linux Mint

Сообщение spd38 » 06 дек 2016, 04:31

Chocobo писал(а): Правильней монтировать в ftsab, шаманство там разовое и однострочное)
приступаю к шаманству :magic:
Теория гласит, что правильно монтировать через UUID рейд-массива
Получаю UUID при помощи команды
sudo blkid
/dev/sdc1: UUID="6e26e25f-57da-48b1-9f9c-ef1d142221f4" TYPE="ext4" PARTLABEL="RAID" PARTUUID="24b8937b-da3a-4a8d-bd47-38ec88ea9d87"
/dev/sdb1: LABEL="BACKUP" UUID="915ed9d0-1df8-48c2-8807-a21815671509" TYPE="ext4" PARTLABEL="Backup" PARTUUID="cb71e46b-406b-4eab-90e3-22ad8332b84c"
/dev/sda2: LABEL="ROOT" UUID="8b1ba0fe-2cbe-4e63-ad2d-3d83be11f95e" TYPE="ext4" PARTLABEL="root" PARTUUID="3eb2ba76-c511-431b-a8ed-dd35b612aa76"
/dev/sda3: LABEL="HOME" UUID="dd7b0bcb-8283-43ad-96be-b035988a5588" TYPE="ext4" PARTLABEL="home" PARTUUID="023f325b-6ed8-4f3e-8cae-586a5ba37950"
/dev/sda4: LABEL="TEST" UUID="dc61c895-36c4-46fd-81cb-c86721db33fd" TYPE="ext4" PARTUUID="366782e5-23cc-40a3-b6dc-5290c868036f"
/dev/sda5: UUID="33560a57-7bf2-4620-ac70-2969fa2c4c88" TYPE="swap" PARTUUID="09a85907-97cc-4f28-82aa-b76b9e2c145e"
/dev/sda1: PARTLABEL="Reserved BIOS boot area" PARTUUID="fa5e6994-6927-416f-90fb-c0ab2ced5b3f"
Рейд в первой строке
/dev/sdc1: UUID="6e26e25f-57da-48b1-9f9c-ef1d142221f4" TYPE="ext4" PARTLABEL="RAID"
Открываю через sudo файл /etc/fstab и добавляю пару строк в конец
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2 during installation
UUID=8b1ba0fe-2cbe-4e63-ad2d-3d83be11f95e / ext4 errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=dd7b0bcb-8283-43ad-96be-b035988a5588 /home ext4 defaults 0 2
# swap was on /dev/sda5 during installation
UUID=33560a57-7bf2-4620-ac70-2969fa2c4c88 none swap sw 0 0
# /data на RAID-массиве /dev/sdc
UUID=6e26e25f-57da-48b1-9f9c-ef1d142221f4 /data ext4 defaults 0 0

Создаю каталог для монтирования
sudo mkdir /data
И наконец, монтирую рейд
sudo mount -a
Рейд появляется в точке монтирования /data :vic:

Осталась одна проблема - с Рейдом работать можно только под рутом :sad:

В сети
Аватара пользователя

Chocobo
Сообщения: 5143
Зарегистрирован: 27 авг 2016, 19:57
Решено: 123
Откуда: НН
Благодарил (а): 388 раз
Поблагодарили: 1341 раз

Re: СУБД FireBird на Linux Mint

Сообщение Chocobo » 06 дек 2016, 07:07

spd38 писал(а):
sudo mkdir /data
...
с Рейдом работать можно только под рутом
Тут тоже как минимум 2 варианта, в зависимости от профиля взаимодействия с разделом:
дать chmod 777 /data - чтоб разрешить всем делать в этом каталоге что угодно.
или отдать права владельца директории юзверю (chown -R user:group /data), который будет работать с файлами там


Автор темы
spd38
Сообщения: 140
Зарегистрирован: 19 ноя 2016, 13:36
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: СУБД FireBird на Linux Mint

Сообщение spd38 » 06 дек 2016, 08:33

Chocobo писал(а): или отдать права владельца директории юзверю (chown -R user:group /data), который будет работать с файлами там
А что делать если там два юзверя будут работать - я и firebird?

pavel:x:1000:1000:pavel,,,:/home/pavel:/bin/bash
firebird:x:122:131:Firebird Database Administator,,,:/var/lib/firebird:/bin/false

Соответственно,
для меня команда sudo chown -R 1000:1000 /data
И я могу создавать файлы в каталоге /data

а для Firebird Database Administator команда sudo chown -R 122:131 /data
Но тогда я не могу создавать файлы sudo chown -R 122:131 /data

Отсюда вопросы:
1. Если 1000:1000 это я и группа_имени_меня, то firebird:x:122:131 какая группа 131 ?
2. Чтоб работали мы оба, нужно нас как-то запихать в одну группу? В 1000, или в 131, или создать еще группу?
3. Что за конструкция :/var/lib/firebird:/bin/false ?
Если верить Nemo, то false - программа!

В сети
Аватара пользователя

Chocobo
Сообщения: 5143
Зарегистрирован: 27 авг 2016, 19:57
Решено: 123
Откуда: НН
Благодарил (а): 388 раз
Поблагодарили: 1341 раз

Re: СУБД FireBird на Linux Mint

Сообщение Chocobo » 06 дек 2016, 08:58

spd38 писал(а): А что делать если там два юзверя будут работать - я и firebird?
если пользователю локальному требуется прямой доступ к файлам создаваемым субд - можно разрулиьт на уровне группы.

Как пример по вчерашним файлам:

Код: Выделить всё

chocobo@desktop:~$ sudo ls -l /var/lib/firebird/2.5/data
[sudo] пароль для chocobo: 
итого 784
-rw-rw---- 1 firebird firebird      0 авг  5  2015 no_empty
-rw-rw---- 1 firebird firebird 802816 дек  5 11:05 test.gdb
      |         |         |
      |         |         ----------Группа
      |         ---------Владелец 
      -------------- права доступа

файл базы test.gdb создался принадлежащим пользователю firebird и группе firebird, с правами чтения-записи как для владельца , так и для участников соответствующей группы.
spd38 писал(а): для меня команда sudo chown -R 1000:1000 /data
По тексту выше можно добавить pavel в группу firebird, с usermod -a -G firebird pavel - это позволит ему пользоваться доступами группы овнера файла , т.е. блоку rwxrwxrwx
А на директорию где будут эти данные жить соответственно овнера, и на всякий случай права группы перебить сразу

Код: Выделить всё

chown -R  /data firebird:firebird
find /data -type f -exec chmod 664 {} \;
find /data -type d -exec chmod 775 {} \;

spd38 писал(а): Что за конструкция :/var/lib/firebird:/bin/false ?
/bin/false своего рода заглушка к шеллу, чтоб у этого пользователя не было возможности логиниться в интерактивном режиме в коммандную оболочку.

Аватара пользователя

zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 221 раз

Re: СУБД FireBird на Linux Mint

Сообщение zuzabrik » 06 дек 2016, 13:54

Chocobo писал(а): если пользователю локальному требуется прямой доступ к файлам создаваемым субд - можно разрулиьт на уровне группы.
А требуется? Файрберд не как мускул через свои логины пароли по порту дает гонять команды sql?

Если да то я вообще не понимаю заморочки с "где установлена прога", "где лежат файлы БД", "какие права доступа". Это может быть важно для например резервного копирования не от имени рута, но не для работы с БД.
Имею желание иметь всех желающих, но не имею желающих.


Автор темы
spd38
Сообщения: 140
Зарегистрирован: 19 ноя 2016, 13:36
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: СУБД FireBird на Linux Mint

Сообщение spd38 » 06 дек 2016, 14:38

Как-то всё запутанно с этими группами и правами ...

Не хочу я что-бы владельцем /data был fiirebird
Вдруг захочу там еще какие-нибудь другие базы(MySql) или просто архивы файлов с данными хранить и т.п.
Да и что-это за всесоюзный розыск непонятно
find /data -type f -exec chmod 664 {} \;
find /data -type d -exec chmod 775 {} \;

Вот если я запущу isql и создам базу в /home
Сервер Firebird ведь будет с ней работать? А владельцем вроде я буду?
Значит как-то нужно в /data создать такие же права как и у /home ?

Аватара пользователя

zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 221 раз

Re: СУБД FireBird на Linux Mint

Сообщение zuzabrik » 06 дек 2016, 15:17

spd38 писал(а): Да и что-это за всесоюзный розыск непонятно
find /data -type f -exec chmod 664 {} \;
find /data -type d -exec chmod 775 {} \;
Найти все файлы и папки в папке /data и повесить на файлы права 664 (rwx rwx- rx-), на папки 775 (rwx rwx r-x).
spd38 писал(а): А владельцем вроде я буду?
Значит как-то нужно в /data создать такие же права как и у /home ?
Владельцем скорее всего будет файрберд. У него скорее всего есть своя группа. Добавьтесь в нее и права 664 775 позволят работать с файлами наравне с файрбердом. Другой вариант - владельцем сделать файрберд, а группу поставить свою (пользователя).
spd38 писал(а): Вдруг захочу там еще какие-нибудь другие базы(MySql) или просто архивы файлов с данными хранить и т.п.
Добавитесь в группу к мускулу :) Или же свою группу (польсователя). С теми же правами будете работать с его файлами. Но само по себе смешивать в одной папке файлы двух разных СУБД + архивы имхо странно. Почему бы не тогда /data/firebird, /data/mysql, /data/backup и каждой свои права и группы?
Имею желание иметь всех желающих, но не имею желающих.

Аватара пользователя

zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 221 раз

Re: СУБД FireBird на Linux Mint

Сообщение zuzabrik » 06 дек 2016, 15:23

Чтобы не было магией то что написано про права и группы. У каждой папки и файла есть права на чтение, запись, выполнение для владельца, группы, всех остальных.

Когда мы пишем например rwx rw- r-- это права на чтение, запись, выполнение для пользователя, на чтение и запись для группы, на чтение для всех остальных. Иногда это же записывают как 764 - отображение прав в бинарном виде (111 = 7, 110 = 6, 100 = 4)
Имею желание иметь всех желающих, но не имею желающих.

В сети
Аватара пользователя

Chocobo
Сообщения: 5143
Зарегистрирован: 27 авг 2016, 19:57
Решено: 123
Откуда: НН
Благодарил (а): 388 раз
Поблагодарили: 1341 раз

Re: СУБД FireBird на Linux Mint

Сообщение Chocobo » 06 дек 2016, 15:33

zuzabrik писал(а): я вообще не понимаю заморочки с "где установлена прога", "где лежат файлы БД", "какие права доступа".
Совершенно верно. доступ и оперирование данными в бд - задача уже софта который будет подлючаться как клиент
spd38 писал(а): Не хочу я что-бы владельцем /data был fiirebird

Это и не обязательно, просто как пример. главное чтоб firebird туда мог писать
spd38 писал(а): Вот если я запущу isql и создам базу в /home
облом вероятно выйдет - писать он будет под собой, а прав на запись твой хомяк у него нет.


Автор темы
spd38
Сообщения: 140
Зарегистрирован: 19 ноя 2016, 13:36
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: СУБД FireBird на Linux Mint

Сообщение spd38 » 06 дек 2016, 16:01

zuzabrik писал(а): Почему бы не тогда /data/firebird, /data/mysql, /data/backup и каждой свои права и группы?
Ну, это подразумевалось ...
Просто не понятно зачем приложению владеть файлом данных?
Если у меня просто текстовый файл, то я его владелец и открываю разными редакторами или могу прогу написать, которая например что-то там посчитает.

Аватара пользователя

zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 221 раз

Re: СУБД FireBird на Linux Mint

Сообщение zuzabrik » 06 дек 2016, 16:04

spd38 писал(а): Просто не понятно зачем приложению владеть файлом данных?
Если у меня просто текстовый файл, то я его владелец и открываю разными редакторами или могу прогу написать, которая например что-то там посчитает.
Прога, текстовый редактор итд запускаются ТОБОЙ, от твоего имени, сервер базы данных запускается при старте системы и все время шуршит в фоновом режиме обрабатывая запросы. Тут к слову важно понять что даже если ты просто включишь сервер, и не залогинишься ни под одним пользователем (а это и не надо в большинстве случаев), то СУБД все равно будет работать. Ей плевать кто заходит на сервер и с какими правами, работает само по себе и пишется от своего имени.
Имею желание иметь всех желающих, но не имею желающих.

Аватара пользователя

zuzabrik
Сообщения: 759
Зарегистрирован: 29 авг 2016, 09:08
Решено: 15
Благодарил (а): 48 раз
Поблагодарили: 221 раз

Re: СУБД FireBird на Linux Mint

Сообщение zuzabrik » 06 дек 2016, 16:21

Я с файрбердом никогда не работал, но если он похож на серьезные БД типа Оракл, мускул, постгрес, мария, то процесс работы должен выглядеть так же. Давай рассмотрим что происходит на сервере, с разных точек зрения.

Запуск.
- Запускается ОС
- Во время запуска демонов при старте системы запускается демон СУБД.
- Открывается порт для прослушивания и ждет команд пользователя или программы.

С точки зрения прав доступа
- Все файлы на сервере принадлежат СУБД.
- Все файлы на сервере изменяются, создаются, управляются СУБД.
- СУБД имеет свой список пользователей и паролей, который никаким раком НЕ взаимодействует с пользователями, паролями, правами в самой ОС.

С точки зрения программиста.
- Программа устанавливает соединение с портом СУБД, открытым для прослушивания.
- Происходит авторизация по логину паролю, прописанному в СУБД, а не ОС.

Предположим есть некто Петя, админ линукса. Петя установил СУБД и настроил себе разные права чтобы делать бекапы итд. Есть Вася, он программист и хочет работать с СУБД. Петя создает в СУБД логин пароль для Васи. Вася создает базу данных в СУБД под названием База. Итого - у Пети есть учетка в ОС, у Васи нету. База лежит в ОС с правами СУБД, а не Пети или Васи. Вася имеет доступ к Базе, но так как делает это через порт по логину паролю прописанному в самой СУБД никаких прав в системе он не имеет, и изменяя Базу на сервере он меняет файл от имени СУБД. :)
Имею желание иметь всех желающих, но не имею желающих.


Автор темы
spd38
Сообщения: 140
Зарегистрирован: 19 ноя 2016, 13:36
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: СУБД FireBird на Linux Mint

Сообщение spd38 » 06 дек 2016, 16:31

Думаю сделать так:

1. Всю /data взять во владение
sudo chown -R 1000:1000 /data

2. Создать папку /data/firebird
mkdir /data/firebird или просто в Немо создать

3. Разрешить пользователю firebird читать/писать в этой папке (и меня не ограничить)
?????

Вот тут как-то целиком целиком на папку совместные права задать можно?
Желательно, что бы при добавлении очередной базы(еще один файл базы. Будет две базы для разных задач на одном сервере firebird) не запускать каждый раз find ...


Автор темы
spd38
Сообщения: 140
Зарегистрирован: 19 ноя 2016, 13:36
Благодарил (а): 67 раз
Поблагодарили: 1 раз

Re: СУБД FireBird на Linux Mint

Сообщение spd38 » 06 дек 2016, 16:42

zuzabrik писал(а): Я с файрбердом никогда не работал, но если он похож на серьезные БД типа Оракл
Да, в FB есть свои пользователи, роли. Есть главный пользователь SYSDBA под которым создают других пользователей, их права и т.п. Под SYSDBA так же создаётся структура БД. Я всё это делал через утилиту IBExpert.
Скорей всего, мне не нужно будет руками трогать базу, за исключением файлов бэкапов и еще иногда данные загружают из текстовых файлов, или выгружают в тестовые файлы. Это например, если данные нужно импортировать или экспортировать в другую СУБД(не FB).

Вернуться в «Иное программное обеспечение»