Я читаю, как связать 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-символьное имя пользователя, у меня просто не было времени с системой.