mod_sql/mod_sql_passwd を使用した Proftpd ユーザー認証

mod_sql/mod_sql_passwd を使用した Proftpd ユーザー認証

私が取り組んでいる実装のために、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 文字のユーザー名を作成して確認したかったのですが、システムで時間がありませんでした。

関連情報