vsftpdでファイルの所有者をUID(数字)ではなくユーザー名で表示する方法 chrootするとtext_userdb_names=YESできない

vsftpdでは、標準ではファイルの所有者がUIDの数字になっています。
この所有者をアカウント名(ユーザー名)にするには、設定ファイル/etc/vsftpd/vsftpd.confでtext_userdb_namesをYESにします。



/etc/vsftpd/vsftpd.conf

text_userdb_names=YES

設定を変更したときにはvsftpdを再起動します。

/etc/rc.d/init.d/vsftpd restart

ここでchrootを使用して、ホームディレクトリより上層へのアクセスを禁止している場合は所有者をアカウント名にできません。

chroot_local_user=YES

所有者をアカウント名にする場合、/etc/passwdファイルと/etc/groupファイルを基に変換を行っています。
chrootにして、このファイルへのアクセスができないため、アカウント名にできなくなっています。

そこでユーザーのホームディレクトリに/etc/passwdファイルと/etc/groupファイルを設置すると、所有者の表示をアカウント名にすることができます。

passwdファイルやgroupファイルは重要な情報のため、etcディレクトリのパーミッションを711、passwdファイルとgroupファイルを644にしておきます。
またpasswdファイルとgroupファイルをコピーした場合、ユーザーの変更があったときには反映されないため、シンボリックリンクなどを使うといいです。

mkdir /home/username/etc
chmod 711 /home/username/etc
ln -s /etc/passwd /home/username/etc/passwd
ln -s /etc/group /home/username/etc/group

関連記事

スポンサーリンク

Androidアプリの開発環境を作る方法

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る