私が取り組んでいる実装のために、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;
180 文字のユーザー名で FileZilla を使用して接続してテストしました。ユーザー名がそこまで長くなることはないと思いますが、安全性を考慮し、DB レベルではなく作成時に長さを制限します。いずれにしても、255 のフィールド サイズで機能しているように見えます。255 文字のユーザー名を作成して確認したかったのですが、システムで時間がありませんでした。