somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【Linux】vsftpdにrootユーザでアクセスする

タイトルどおり、rootユーザでのアクセスです。きちんとユーザ設定を行っていればこんなことをしなくていいです。しかし、面倒なときもあるというのとvsftpdの設定はどこで行っているのかを知るために行ってみました。

設定ファイル

設定ファイルの場所は、/etc/vsftpd/vsftpd.confです。アクセスの制限を行う設定は、以下の2つのパラメータです。

  • userlist_enable
  • userlist_deny

このパラメータは、次に説明するuser_listファイルに影響します。

user_list

アクセス制限に関するユーザの一覧を設定するファイルです。場所は、/etc/vsftpd/user_listです。

まず、このファイルは前述のuserlist_enableによって有効・無効であるかが決まります。

userlist_enable=YES有効(デフォルト)
userlist_enable=NO無効

次に、userlist_denyによってuser_listに記載されているユーザは、ログインできるまたはできないかが決まります。

userlist_deny=YESログインできない(デフォルト:記述なし)
⇒禁止リスト
userlist_deny=NOログインできる
⇒許可リスト

デフォルトのuserlistは以下のようになっています。

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

この設定より優先的にアクセス制限をする設定ファイルが次に説明するftpusersです。

ftpusers

ftp経由でログインが許可されていないユーザーを決めるファイルです。ファイルの場所は、/etc/vsftpd/ftpusersです。デフォルトで設定されているユーザはuserlistと同じで、記述方法も同じです。

rootを許可

userlistファイルとftpusersファイルからrootをコメントアウトして、サービスの再起動で完了です。