Страница 4 из 6
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-07 12:44:35
kolossus
Orator писал(а):kolossus писал(а):Если имя пользователя состоит только из цифр (например - 12548746614) - не пускает.
Может кто знает, как это перебороть?
Поменять имя - не предлагать
Спасибо...
Какой тип аутентификации используете?
Код: Выделить всё
SQLAuthTypes Plaintext
SQLAuthenticate users
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-07 12:50:46
kolossus
Orator писал(а):kolossus писал(а):А как сделать разным пользователям разные права доступа к папкам?
Пока что SQL используется для входа, а как раздавать права?
Смотря какой сложности доступ,
можно создать разные групы в том же sql и пользователей причислять к групам
можно создать пользователя одного в системе например с уидом 10000, в базу если пользователю надо писать ставить ему уид 10000 если нет 65534
права на папку соответственно 700.
Есть более сложные схемы и способы, приветствуется также комбинирования многих способов.
Интересует более конкретный ответ?
Опишите конкретную ситуацию с примерами, что-бы можно было судить о масштабности и не внедрять фиг-поймеш-что где можно обойтись велосипедом.
Есть несколько сотен пользователей, у них доступ ко всем папкам - на чтение и к папке 'UserFiles' - еще и на запись
Есть несколько пользователей, у которых полный доступ к некоторым папкам (у каждого свои).
Есть готовая база пользователей с логинами и паролями, которая и используется для доступа к серверу.
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-12 10:02:18
Orator
kolossus писал(а):Orator писал(а):kolossus писал(а):Если имя пользователя состоит только из цифр (например - 12548746614) - не пускает.
Может кто знает, как это перебороть?
Поменять имя - не предлагать
Спасибо...
Какой тип аутентификации используете?
Код: Выделить всё
SQLAuthTypes Plaintext
SQLAuthenticate users
В Вашем случае достаточно будет обновить proftpd до последней версии.
Табличка с пользователями (она у меня общая на все сервисы)
Код: Выделить всё
SELECT * FROM users WHERE UserName='123';
Id UserName Password Comment Active
1678 123 321 NULL 1
Вот от самого ftp
Код: Выделить всё
SELECT * FROM proftpd WHERE UserName='123';
Id UserName Uid Gid HomeDir Active
857 123 1003 1003 /infopool/%...% 1
чудно сейчас работает.
Раньше приходилось править
/usr/ports/ftp/proftpd/work/proftpd-1.3.3a/contrib/mod_sql*
Сейчас рекомендую обновится, авторы исправили много ошибок о которых отписывались, хотя еще и не все.
До определенного момента мод sql был вообще достаточно дырявым при попытке использования не стандартных настроек.
По крайней мере та часть что относится к mysql, c postgre не работал.
На данный момент стоит
proftpd-1.3.3a
mysql-server-5.5.5_1
около 800-900 пользователей ftp.
С момента обновления, несколько раз отваливался мод clamav, но он и в предыдущих версиях на больших нагрузках пропускал.
Все остальное стабильно.
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-12 10:27:10
Orator
1.Есть несколько сотен пользователей, у них доступ ко всем папкам - на чтение и к папке 'UserFiles' - еще и на запись
2.Есть несколько пользователей, у которых полный доступ к некоторым папкам (у каждого свои).
3. Есть готовая база пользователей с логинами и паролями, которая и используется для доступа к серверу.[/quote]
1. Просто правами в системе оставляем анонимный доступ xx5 для директорий хх4 для файлов.
2. Всем пользователям которым нужен полный доступ даем uid пользователя существующего в системе с правильными правами
Если необходимо по директориям еще разбить, то описать доступ к директории в конфиге сервера на группу, а потом в mysql в группы вносить нужных пользователей.
3. У меня табличка с пользователями и паролями, вообще отдельно, ftp таблицы содержат только имена а пароль вытягивают из общей таблицы.
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-16 13:54:37
kolossus
Orator писал(а):kolossus писал(а):Orator писал(а):kolossus писал(а):Если имя пользователя состоит только из цифр (например - 12548746614) - не пускает.
Может кто знает, как это перебороть?
Поменять имя - не предлагать
Спасибо...
Какой тип аутентификации используете?
Код: Выделить всё
SQLAuthTypes Plaintext
SQLAuthenticate users
В Вашем случае достаточно будет обновить proftpd до последней версии.
С цифровыми логинами не пускает.
Есть варианты?
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-16 15:53:54
risk94
както видел статью на сайте с настройкой квотирования места для юзера (юзера хранятся в мусе). подскажит, не могу ее найти
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-17 10:43:40
risk94
люди добрые, ткните носом в статью про proftpd + mysql + quote была на серваке, не могу найти, 3-й день ищу!
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-17 11:41:08
kolossus
risk94 писал(а):люди добрые, ткните носом в статью про proftpd + mysql + quote была на серваке, не могу найти, 3-й день ищу!
Не было такой. Была:
Proftpd - квоты и авторизация из файлов. Мониторинг.
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-17 15:46:05
risk94
была однозначно! Ну да хрен с ней. Официальный мануал + гугля спасли!
Настроил я квоты для юзеров в мусе. Если кому интересно - позже отпишусь как.
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-09-26 10:44:08
Orator
[/quote]
С цифровыми логинами не пускает.
Есть варианты?[/quote]
Даже не знаю, я ставил недавно еще на двух фирмах аналогичную конфигурацию, проверил все нормально.
Глупо вроде, но всякое может быть:
у вас proftpd-mysql-1.3.3a
я же ставил с порта proftpd просто указывая опцию мускуля, тобиш proftpd-1.3.3a.
И еще если не трудно то отключите используемые фильтры
DenyFilter PathDenyFilter и прочее
когда-то копал исходный код модуля, видел там проверку фильтров
может там?
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-10-01 8:06:29
flash_br
Парни, всем здарова!!!
Мускл - сила .. но если у юзера в мускле проставлен пароль "null" (ну так надо) ... а в системе он есть, он коннектится по пассу из системы ... как полечить?
да.. и ещё коннектится зараза по пассу из базы и по пассу из системы .... а надо тока из базы
heeeeeeeeeeeeeeeeelp!!!!!!!!!!!!!!
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-10-01 8:20:49
flash_br
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-10-22 22:39:39
risk94
мужИкк!!
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-10-23 9:59:15
flash_br
хорошая это штука .... а главное удобная)))))
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-10-27 9:49:24
Anton_Astrogor
Вопрос про дерективы SQLRatios и SQLRatioStats не сумел отыскать нормального описания, может кто что подскажет?
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2010-10-27 10:15:51
Anton_Astrogor
Так же есть интересует возможность хранения RLimitCPU, RLimitMemory, RLimitOpenFiles, MaxClients, а вообще интересует возможность переноса максимального количества параметров в MySQL
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2011-02-02 15:52:56
o2x
Приветствую.
Относительно части дампа:
Код: Выделить всё
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`username` varchar(20) NOT NULL,
`password` varchar(50) NOT NULL,
`mail` varchar(255) NOT NULL,
`groupname` varchar(24) NOT NULL,
`uid` int(11) NOT NULL DEFAULT '1003',
`gid` int(11) NOT NULL DEFAULT '1003',
`homedir` varchar(50) NOT NULL DEFAULT '/ftp',
`shell` varchar(20) NOT NULL DEFAULT '/bin/nonexistent',
`last_login` int(15) NOT NULL DEFAULT '0',
`count` int(15) NOT NULL DEFAULT '0',
`last_err_login` int(15) NOT NULL DEFAULT '0',
`err_login_count` int(15) NOT NULL DEFAULT '0',
`closed` int(1) NOT NULL DEFAULT '1',
`admin` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`userid`)
) ENGINE=MyISAM COMMENT='Таблица пользователей';
Не удается создать таблицу, так как нету поля:
Так, как вы ее создавали? Если дамп рабочий.
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2011-02-03 10:31:06
Starshiy
Народ, простите юзера - только начал в никсовых системах разбираться.. Куда вообще прикручивается этот php файлик, чтобы логи через web морду смотреть?? не могу понять с какой стороны вообще к нему подойти?
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2011-02-04 14:15:04
harmless
o2x писал(а):Приветствую.
Относительно части дампа:
Код: Выделить всё
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`username` varchar(20) NOT NULL,
`password` varchar(50) NOT NULL,
`mail` varchar(255) NOT NULL,
`groupname` varchar(24) NOT NULL,
`uid` int(11) NOT NULL DEFAULT '1003',
`gid` int(11) NOT NULL DEFAULT '1003',
`homedir` varchar(50) NOT NULL DEFAULT '/ftp',
`shell` varchar(20) NOT NULL DEFAULT '/bin/nonexistent',
`last_login` int(15) NOT NULL DEFAULT '0',
`count` int(15) NOT NULL DEFAULT '0',
`last_err_login` int(15) NOT NULL DEFAULT '0',
`err_login_count` int(15) NOT NULL DEFAULT '0',
`closed` int(1) NOT NULL DEFAULT '1',
`admin` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`userid`)
) ENGINE=MyISAM COMMENT='Таблица пользователей';
Не удается создать таблицу, так как нету поля:
Так, как вы ее создавали? Если дамп рабочий.
В Вашем случае это поле будет не
а
Весь дамп
Код: Выделить всё
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`username` varchar(20) NOT NULL,
`password` varchar(50) NOT NULL,
`mail` varchar(255) NOT NULL,
`groupname` varchar(24) NOT NULL,
`uid` int(11) NOT NULL DEFAULT '1003',
`gid` int(11) NOT NULL DEFAULT '1003',
`homedir` varchar(50) NOT NULL DEFAULT '/ftp',
`shell` varchar(20) NOT NULL DEFAULT '/bin/nonexistent',
`last_login` int(15) NOT NULL DEFAULT '0',
`count` int(15) NOT NULL DEFAULT '0',
`last_err_login` int(15) NOT NULL DEFAULT '0',
`err_login_count` int(15) NOT NULL DEFAULT '0',
`closed` int(1) NOT NULL DEFAULT '1',
`admin` int(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`username`)
) ENGINE=MyISAM COMMENT='Таблица пользователей';
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2011-02-04 15:52:40
o2x
Приветствую.
Использовал ваш архив:
proma.tar.
Создавался пользователь:
Код: Выделить всё
INSERT INTO `users` (`userid`, `name`, `mail`, `uid`, `gid`, `passwd`, `shell`, `homedir`, `note`, `last_login`, `count`, `last_err_login`, `err_login_count`, `admin`, `closed`, `groupname`) VALUES ('admin', 'admin', 'admin@domain', 1003, 80, 'admin_pass', '/bin/nonexistent', '/var/ftp', '', 0, 0, 0, 0, 0, 0, 'admin');
После создания, при попытке авторизоваться:
выдает ошибку:
Wrong username or password, or you're not an admin.
Параметры авторизации:
user: admin
pass: admin_pass
В чем проблема? Спасибо.
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2011-02-04 17:31:49
o2x
Код: Выделить всё
mysql> select * from users where name='admin';
+--------+-------+--------------+------+------+------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
| userid | name | mail | uid | gid | passwd | shell | homedir | note | last_login | count | last_err_login | err_login_count | admin | closed | groupname |
+--------+-------+--------------+------+------+------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
| admin | admin | admin@domain | 0 | 80 | admin_pass | /bin/nonexistent | /var/ftp | | 0 | 0 | 0 | 0 | 0 | 0 | admin |
+--------+-------+--------------+------+------+------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
1 row in set (0.01 sec)
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2011-02-06 14:10:17
harmless
o2x писал(а):Приветствую.
Использовал ваш архив:
proma.tar.
Создавался пользователь:
Код: Выделить всё
INSERT INTO `users` (`userid`, `name`, `mail`, `uid`, `gid`, `passwd`, `shell`, `homedir`, `note`, `last_login`, `count`, `last_err_login`, `err_login_count`, `admin`, `closed`, `groupname`) VALUES ('admin', 'admin', 'admin@domain', 1003, 80, 'admin_pass', '/bin/nonexistent', '/var/ftp', '', 0, 0, 0, 0, 0, 0, 'admin');
После создания, при попытке авторизоваться:
выдает ошибку:
Wrong username or password, or you're not an admin.
Параметры авторизации:
user: admin
pass: admin_pass
В чем проблема? Спасибо.
Приветствую!
На даном этапе группы еще не реализованы...
Так что в Вашем случае нужно еще и добавить флаг админа при заведении пользователя
Код: Выделить всё
INSERT INTO `users` (`userid`, `name`, `mail`, `uid`, `gid`, `passwd`, `shell`, `homedir`, `note`, `last_login`, `count`, `last_err_login`, `err_login_count`, `admin`, `closed`, `groupname`) VALUES ('admin', 'admin', 'admin@domain', 1003, 80, 'admin_pass', '/bin/nonexistent', '/var/ftp', '', 0, 0, 0, 0, 1, 0, 'admin');
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2011-02-07 11:29:38
o2x
Код: Выделить всё
mysql> select * from users where name='admin';
+--------+-------+--------------+------+------+------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
| userid | name | mail | uid | gid | passwd | shell | homedir | note | last_login | count | last_err_login | err_login_count | admin | closed | groupname |
+--------+-------+--------------+------+------+------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
| admin | admin | admin@domain | 0 | 80 | admin_pass | /bin/nonexistent | /var/ftp | | 0 | 0 | 0 | 0 | 1 | 0 | admin |
+--------+-------+--------------+------+------+------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
1 row in set (0.00 sec)
Результат анологичен(((
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2011-02-08 12:10:13
harmless
o2x писал(а):Код: Выделить всё
mysql> select * from users where name='admin';
+--------+-------+--------------+------+------+------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
| userid | name | mail | uid | gid | passwd | shell | homedir | note | last_login | count | last_err_login | err_login_count | admin | closed | groupname |
+--------+-------+--------------+------+------+------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
| admin | admin | admin@domain | 0 | 80 | admin_pass | /bin/nonexistent | /var/ftp | | 0 | 0 | 0 | 0 | 1 | 0 | admin |
+--------+-------+--------------+------+------+------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
1 row in set (0.00 sec)
Результат анологичен(((
Заметил странность в том что без пароля не пускает)
И пароли хранятся шифрованными, а вы добавляете plain, так что
Re: Вопрос по SQL аутентификации proftpd
Добавлено: 2011-02-08 15:48:34
o2x
Код: Выделить всё
mysql> UPDATE users SET passwd=PASSWORD('admin_pass') WHERE name='admin';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from users where name='admin';
+--------+-------+--------------+------+------+-------------------------------------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
| userid | name | mail | uid | gid | passwd | shell | homedir | note | last_login | count | last_err_login | err_login_count | admin | closed | groupname |
+--------+-------+--------------+------+------+-------------------------------------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
| admin | admin | admin@domain | 0 | 80 | *67ACDEBDAB923990001F0FFB017EB8ED41861105 | /bin/nonexistent | /var/ftp | | 0 | 0 | 0 | 0 | 1 | 0 | admin |
+--------+-------+--------------+------+------+-------------------------------------------+------------------+----------+------+------------+-------+----------------+-----------------+-------+--------+-----------+
1 row in set (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Необходимо изначально было sql дамп в архиве поправить.