СУБД FireBird на Linux Mint
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
- Сообщения: 1744
- Зарегистрирован: 29 авг 2016, 12:08
- Решено: 20
- Благодарил (а): 108 раз
- Поблагодарили: 521 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Похоже вам конкретно не хватает теоретических и практических знаний как по СУБД так и по UNIX системам. Отсюда и все странные вопросы.
А мог бы стать нормальным человеком...
-
Автор темы - Сообщения: 140
- Зарегистрирован: 19 ноя 2016, 16:36
- Благодарил (а): 67 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Ну хотя бы знать, что они есть и какие у них права.
В винде смотришь службы какие работают, читаешь комментарии о них, кто разработчик, и возникают мысли - а нужна ли мне такая служба?
Может отключить её для оптимизации?
Конечно, теперь я уже умею получать их в текстовом виде, но как-то это ненаглядно и затратно по времени.
-
Автор темы - Сообщения: 140
- Зарегистрирован: 19 ноя 2016, 16:36
- Благодарил (а): 67 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Безусловно согласен со второй частью вашего утверждения (про UNIX системы). А с СУБД я работал под Windows как программист. Администратор серверов БД и локальной сети на старой работе был другой человек. А ёще там был специалист по ИТ-безопасности, который следил, что бы и пользователи, и программисты имели как можно меньше прав, и никуда не лазили.
Компьютер я включал ключом Тач-Мемори, а USB порт мне оставили в виде исключения. Причём он мог считать логи того, что я копировал на флэшку.
А сейчас всё приходится делать самому, даже за этого парня думать
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3008 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
заведомо неправильно искать графические тулзы для задач сходных к администрированию. Лишнего юзера в системе завестись никак не должно)
Впрочем, как проводить аналогии с соседними ОС - там все абсолютно иначе. Там мы можем лишь на слово поверить этой службе с доверенным разработчиком, и согласно практике не можем быть уверенными, что еще десяток процессов в данный момент не работает в обход самой оснастки списка служб...
Список пользователей из листинга выше тебе мало что скажет)
В очередной раз хочу обратить внимание что все исходит из роли сервера, и ничего лишнего там быть заведомо не должно, чтоб не осложнять себе жизнь.
Вернемся к теме, узнать права тому или иному юзверю можно с тем же
find
'ом, к примеру давай узнаем в какие файлы или директории умеет писать пользователь firebird, исходя из rwx
:
Код: Выделить всё
sudo find / -user firebird -perm -u+w
-
Автор темы - Сообщения: 140
- Зарегистрирован: 19 ноя 2016, 16:36
- Благодарил (а): 67 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Мысль правильная. Но раз уж судьба меня привела в страну Linux в мире Unix, то пытаюсь узнать побольше. Из чисто пингвиньего любопытства.
То же верно. Поэтому возникают непонятки и глупые вопросы
-
Автор темы - Сообщения: 140
- Зарегистрирован: 19 ноя 2016, 16:36
- Благодарил (а): 67 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
приступаю к шаманству
Теория гласит, что правильно монтировать через 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/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
#
# 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
Осталась одна проблема - с Рейдом работать можно только под рутом
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3008 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Тут тоже как минимум 2 варианта, в зависимости от профиля взаимодействия с разделом:
дать
chmod 777 /data
- чтоб разрешить всем делать в этом каталоге что угодно. или отдать права владельца директории юзверю (
chown -R user:group /data
), который будет работать с файлами там-
Автор темы - Сообщения: 140
- Зарегистрирован: 19 ноя 2016, 16:36
- Благодарил (а): 67 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
А что делать если там два юзверя будут работать - я и firebird?
pavel1000:1000:pavel,,,:/home/pavel:/bin/bash
firebird122: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 это я и группа_имени_меня, то firebird122:131 какая группа 131 ?
2. Чтоб работали мы оба, нужно нас как-то запихать в одну группу? В 1000, или в 131, или создать еще группу?
3. Что за конструкция :/var/lib/firebird:/bin/false ?
Если верить Nemo, то false - программа!
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3008 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
если пользователю локальному требуется прямой доступ к файлам создаваемым субд - можно разрулиьт на уровне группы.
Как пример по вчерашним файлам:
Код: Выделить всё
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, с правами чтения-записи как для владельца , так и для участников соответствующей группы.
По тексту выше можно добавить 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 {} \;
/bin/false
своего рода заглушка к шеллу, чтоб у этого пользователя не было возможности логиниться в интерактивном режиме в коммандную оболочку.-
- Сообщения: 1744
- Зарегистрирован: 29 авг 2016, 12:08
- Решено: 20
- Благодарил (а): 108 раз
- Поблагодарили: 521 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
А требуется? Файрберд не как мускул через свои логины пароли по порту дает гонять команды sql?
Если да то я вообще не понимаю заморочки с "где установлена прога", "где лежат файлы БД", "какие права доступа". Это может быть важно для например резервного копирования не от имени рута, но не для работы с БД.
А мог бы стать нормальным человеком...
-
Автор темы - Сообщения: 140
- Зарегистрирован: 19 ноя 2016, 16:36
- Благодарил (а): 67 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Как-то всё запутанно с этими группами и правами ...
Не хочу я что-бы владельцем /data был fiirebird
Вдруг захочу там еще какие-нибудь другие базы(MySql) или просто архивы файлов с данными хранить и т.п.
Да и что-это за всесоюзный розыск непонятно
find /data -type f -exec chmod 664 {} \;
find /data -type d -exec chmod 775 {} \;
Вот если я запущу isql и создам базу в /home
Сервер Firebird ведь будет с ней работать? А владельцем вроде я буду?
Значит как-то нужно в /data создать такие же права как и у /home ?
Не хочу я что-бы владельцем /data был fiirebird
Вдруг захочу там еще какие-нибудь другие базы(MySql) или просто архивы файлов с данными хранить и т.п.
Да и что-это за всесоюзный розыск непонятно
find /data -type f -exec chmod 664 {} \;
find /data -type d -exec chmod 775 {} \;
Вот если я запущу isql и создам базу в /home
Сервер Firebird ведь будет с ней работать? А владельцем вроде я буду?
Значит как-то нужно в /data создать такие же права как и у /home ?
-
- Сообщения: 1744
- Зарегистрирован: 29 авг 2016, 12:08
- Решено: 20
- Благодарил (а): 108 раз
- Поблагодарили: 521 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Найти все файлы и папки в папке /data и повесить на файлы права 664 (rwx rwx- rx-), на папки 775 (rwx rwx r-x).
Владельцем скорее всего будет файрберд. У него скорее всего есть своя группа. Добавьтесь в нее и права 664 775 позволят работать с файлами наравне с файрбердом. Другой вариант - владельцем сделать файрберд, а группу поставить свою (пользователя).
Добавитесь в группу к мускулу Или же свою группу (польсователя). С теми же правами будете работать с его файлами. Но само по себе смешивать в одной папке файлы двух разных СУБД + архивы имхо странно. Почему бы не тогда /data/firebird, /data/mysql, /data/backup и каждой свои права и группы?
А мог бы стать нормальным человеком...
-
- Сообщения: 1744
- Зарегистрирован: 29 авг 2016, 12:08
- Решено: 20
- Благодарил (а): 108 раз
- Поблагодарили: 521 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Чтобы не было магией то что написано про права и группы. У каждой папки и файла есть права на чтение, запись, выполнение для владельца, группы, всех остальных.
Когда мы пишем например rwx rw- r-- это права на чтение, запись, выполнение для пользователя, на чтение и запись для группы, на чтение для всех остальных. Иногда это же записывают как 764 - отображение прав в бинарном виде (111 = 7, 110 = 6, 100 = 4)
Когда мы пишем например rwx rw- r-- это права на чтение, запись, выполнение для пользователя, на чтение и запись для группы, на чтение для всех остальных. Иногда это же записывают как 764 - отображение прав в бинарном виде (111 = 7, 110 = 6, 100 = 4)
А мог бы стать нормальным человеком...
-
- Сообщения: 10015
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 215
- Откуда: НН
- Благодарил (а): 815 раз
- Поблагодарили: 3008 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Совершенно верно. доступ и оперирование данными в бд - задача уже софта который будет подлючаться как клиент
Это и не обязательно, просто как пример. главное чтоб firebird туда мог писать
облом вероятно выйдет - писать он будет под собой, а прав на запись твой хомяк у него нет.
-
Автор темы - Сообщения: 140
- Зарегистрирован: 19 ноя 2016, 16:36
- Благодарил (а): 67 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Ну, это подразумевалось ...
Просто не понятно зачем приложению владеть файлом данных?
Если у меня просто текстовый файл, то я его владелец и открываю разными редакторами или могу прогу написать, которая например что-то там посчитает.
-
- Сообщения: 1744
- Зарегистрирован: 29 авг 2016, 12:08
- Решено: 20
- Благодарил (а): 108 раз
- Поблагодарили: 521 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Прога, текстовый редактор итд запускаются ТОБОЙ, от твоего имени, сервер базы данных запускается при старте системы и все время шуршит в фоновом режиме обрабатывая запросы. Тут к слову важно понять что даже если ты просто включишь сервер, и не залогинишься ни под одним пользователем (а это и не надо в большинстве случаев), то СУБД все равно будет работать. Ей плевать кто заходит на сервер и с какими правами, работает само по себе и пишется от своего имени.
А мог бы стать нормальным человеком...
-
- Сообщения: 1744
- Зарегистрирован: 29 авг 2016, 12:08
- Решено: 20
- Благодарил (а): 108 раз
- Поблагодарили: 521 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Я с файрбердом никогда не работал, но если он похож на серьезные БД типа Оракл, мускул, постгрес, мария, то процесс работы должен выглядеть так же. Давай рассмотрим что происходит на сервере, с разных точек зрения.
Запуск.
- Запускается ОС
- Во время запуска демонов при старте системы запускается демон СУБД.
- Открывается порт для прослушивания и ждет команд пользователя или программы.
С точки зрения прав доступа
- Все файлы на сервере принадлежат СУБД.
- Все файлы на сервере изменяются, создаются, управляются СУБД.
- СУБД имеет свой список пользователей и паролей, который никаким раком НЕ взаимодействует с пользователями, паролями, правами в самой ОС.
С точки зрения программиста.
- Программа устанавливает соединение с портом СУБД, открытым для прослушивания.
- Происходит авторизация по логину паролю, прописанному в СУБД, а не ОС.
Предположим есть некто Петя, админ линукса. Петя установил СУБД и настроил себе разные права чтобы делать бекапы итд. Есть Вася, он программист и хочет работать с СУБД. Петя создает в СУБД логин пароль для Васи. Вася создает базу данных в СУБД под названием База. Итого - у Пети есть учетка в ОС, у Васи нету. База лежит в ОС с правами СУБД, а не Пети или Васи. Вася имеет доступ к Базе, но так как делает это через порт по логину паролю прописанному в самой СУБД никаких прав в системе он не имеет, и изменяя Базу на сервере он меняет файл от имени СУБД.
Запуск.
- Запускается ОС
- Во время запуска демонов при старте системы запускается демон СУБД.
- Открывается порт для прослушивания и ждет команд пользователя или программы.
С точки зрения прав доступа
- Все файлы на сервере принадлежат СУБД.
- Все файлы на сервере изменяются, создаются, управляются СУБД.
- СУБД имеет свой список пользователей и паролей, который никаким раком НЕ взаимодействует с пользователями, паролями, правами в самой ОС.
С точки зрения программиста.
- Программа устанавливает соединение с портом СУБД, открытым для прослушивания.
- Происходит авторизация по логину паролю, прописанному в СУБД, а не ОС.
Предположим есть некто Петя, админ линукса. Петя установил СУБД и настроил себе разные права чтобы делать бекапы итд. Есть Вася, он программист и хочет работать с СУБД. Петя создает в СУБД логин пароль для Васи. Вася создает базу данных в СУБД под названием База. Итого - у Пети есть учетка в ОС, у Васи нету. База лежит в ОС с правами СУБД, а не Пети или Васи. Вася имеет доступ к Базе, но так как делает это через порт по логину паролю прописанному в самой СУБД никаких прав в системе он не имеет, и изменяя Базу на сервере он меняет файл от имени СУБД.
А мог бы стать нормальным человеком...
-
Автор темы - Сообщения: 140
- Зарегистрирован: 19 ноя 2016, 16:36
- Благодарил (а): 67 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Думаю сделать так:
1. Всю /data взять во владение
sudo chown -R 1000:1000 /data
2. Создать папку /data/firebird
mkdir /data/firebird или просто в Немо создать
3. Разрешить пользователю firebird читать/писать в этой папке (и меня не ограничить)
?????
Вот тут как-то целиком целиком на папку совместные права задать можно?
Желательно, что бы при добавлении очередной базы(еще один файл базы. Будет две базы для разных задач на одном сервере firebird) не запускать каждый раз find ...
1. Всю /data взять во владение
sudo chown -R 1000:1000 /data
2. Создать папку /data/firebird
mkdir /data/firebird или просто в Немо создать
3. Разрешить пользователю firebird читать/писать в этой папке (и меня не ограничить)
?????
Вот тут как-то целиком целиком на папку совместные права задать можно?
Желательно, что бы при добавлении очередной базы(еще один файл базы. Будет две базы для разных задач на одном сервере firebird) не запускать каждый раз find ...
-
Автор темы - Сообщения: 140
- Зарегистрирован: 19 ноя 2016, 16:36
- Благодарил (а): 67 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: СУБД FireBird на Linux Mint
Да, в FB есть свои пользователи, роли. Есть главный пользователь SYSDBA под которым создают других пользователей, их права и т.п. Под SYSDBA так же создаётся структура БД. Я всё это делал через утилиту IBExpert.
Скорей всего, мне не нужно будет руками трогать базу, за исключением файлов бэкапов и еще иногда данные загружают из текстовых файлов, или выгружают в тестовые файлы. Это например, если данные нужно импортировать или экспортировать в другую СУБД(не FB).
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей