Я читаю, как интегрировать ProFTPd с MySQL для реализации, над которой я работаю, и заметил, что во всех примерах кода или инструкциях, которые я вижу, поле входа пользователя в MySQL установлено как «varchar(30)».
Я не вижу ничего, что говорило бы об ограничении длины поля для ProFTPd, но я хотел бы проверить в любом случае. Проект, в который будет включена эта настройка, планировал, что их универсальные имена пользователей будут поддерживать "varchar(255)". Могу ли я использовать это безопасно? или есть ограничение FTP в другом месте, которое я упустил?
Запуск ProFTPd 1.3.4a (компилированный вручную), MySQL 5.1.54 (репозитории Ubuntu)
решение1
Только что попробовал это в своей реализации, используя этот макет:
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 символов, у меня просто не было времени с системой.