Назад | Перейти на главную страницу

Proftpd user-auth с помощью mod_sql / mod_sql_passwd

Я читаю, как связать ProFTPd с MySQL для реализации, над которой я работаю, и заметил, что похоже, что во всех примерах кода или инструкциях, которые я вижу, поле входа пользователя в MySQL установлено как «varchar (30)».

Я не вижу ничего, говорящего о том, что существует ограничение на длину поля для ProFTPd, но я все равно хотел проверить. В проекте, в который собирается вмешаться эта установка, планировалось, что их универсальные имена пользователей будут поддерживать "varchar (255)". Могу ли я использовать это безопасно? или есть ли ограничение FTP в другом месте, которое мне не хватает?

Запуск ProFTPd 1.3.4a (пользовательская компиляция), MySQL 5.1.54 (репозитории ubuntu)

Просто попробовал это в моей реализации, используя этот макет:

CREATE TABLE IF NOT EXISTS `users` (
  `userid` varchar(255) NOT NULL,
  `passwd` varchar(255) NOT NULL,
  `uid` int(11) DEFAULT NULL,
  `gid` int(11) DEFAULT NULL,
  `homedir` varchar(255) DEFAULT NULL,
  `shell` varchar(255) DEFAULT NULL,
  UNIQUE KEY `userid` (`userid`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Протестировано путем подключения с использованием filezilla со 180-символьным именем пользователя, я не верю, что они должны достичь этого уровня, но мы хотим безопасности и будем ограничивать длину при создании, а не уровень БД. Во всяком случае, похоже, что он работал с размером поля 255. Я бы создал и проверил 255-символьное имя пользователя, у меня просто не было времени с системой.