VsftpとPAM仮想ユーザ


VsftpとPAM仮想ユーザ
yumを使用してvsftpをインストールする
   
   
   
   
  1. yum install vsftpd pam pam-* db4 db4-* 

ユーザーとパスワードを保存するファイルを作成
   
   
   
   
  1. cd /etc/vsftpd/ 
  2. touch virtual_login 

ユーザーの追加(1行のユーザー1行がパスワード)
   
   
   
   
  1. vim  virtual_login 

dongnan nandong
テキスト内のアカウントとパスワードをdb 4のデータベースファイルに追加
   
   
   
   
  1. db_load -T -t hash -f /etc/vsftpd/virtual_login /etc/vsftpd/virtual_login.db 

vsftpdの元の内容をすべてコメントし、以下のように追加します.
   
   
   
   
  1. sed -ir 's/^/#/g' /etc/pam.d/vsftpd 
  2.  
  3. echo -n ' 
  4. auth    required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/virtual_login 
  5. account required   /lib64/security/pam_userdb.so   db=/etc/vsftpd/virtual_login 
  6. >> /etc/pam.d/vsftpd 

vsftpdサービスを作成するユーザーvsftpdは、-dを使用してホームディレクトリを指定することもできます.
   
   
   
   
  1. useradd -s /sbin/nologin vsftpd 
  2. useradd -d /var/ftp/dongnan -s /sbin/nologin dongnan 

vsftpdのプロファイルの変更
   
   
   
   
  1. cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 
   
   
   
   
  1. awk '! /^(#|$)/' /etc/vsftpd/vsftpd.conf.bak  

匿名アクセスは許可されていませんanonymous_Enable=NO#ローカルユーザーがアクセスできるように設定します.注意:主に仮想ホストユーザーであり、プロジェクトがNOに設定されている場合、すべての仮想ユーザーはlocal_にアクセスできません.enable=YES#書き込み許可write_enable=YES#作成またはアップロード後のファイルの権限マスクlocal_umask=022#匿名ユーザーのanonアップロードを禁止upload_enable=NO匿名ユーザーのディレクトリ作成を禁止anon_mkdir_write_enable=NO#ディレクトリに入ると設定された情報が表示され、message_file=.メッセージでdirmessageを設定するenable=YES#オープンログxferlog_enable=YES#アクティブ接続ポート番号connect_from_port_20=YES#アップロード禁止ファイル変更ホストchown_uploads=NO#ログパス、自分で作成してこのファイルに対してchown vsftpdを行うことを覚えています.vsftpd/var/log/vsftpd.log xferlog_file=/var/log/vsftpd.log#はフォーマットのログフォーマットで、あなたは知っています.wu ftpソフトウェアを使用する場合yesを設定すればいいxferlog_std_format=YES#vsftpdのshellをnobodyに設定したので、ここにvsftpdと書けばいい!もちろん、システム内のnobody noprivと書くこともできます.user=vsftpd#設定非同期伝送機能async_をサポートabor_enable=YES#ASCIIモードのアップロードをサポートするasciiを設定upload_enable=YES#ASCIIモードのアップロードをサポートするasciiを設定download_enable=YES上陸歓迎語ftpd_banner=Welcome to dongnan FTP service. #自分のディレクトリに限定して、彼を外に出させないで、例えばNOに設定すると、ftpにログインすると、サーバーの他の権限のあるディレクトリにアクセスすることができます.YESに設定すると、ディレクトリがロックされますchroot_list_enable=YES#あとでユーザーをこの中に書きます.ここに書いたユーザーはおとなしく家のカタログの下にいましょう.chroot_list_file=/etc/vsftpd/chroot_List#はstandalone方式でlisten=YES#/etc/pamを起動する.d/下のvsftpdファイルpam_service_name=vsftpd#は/etc/vsftpd/user_リストのユーザーはFTP userlist_を使用できませんEnable=YES#TCP Wrappersをサポートするファイアウォールメカニズムtcp_wrappers=YES#仮想ユーザ機能有効guest_Enable=YES#仮想ユーザーの権限は、ホストユーザーvirtual_に合致します.use_local_privs=YES#仮想ユーザ個人vsftpdのプロファイル格納パス.vsftpd_configはフォルダですね.注:プロファイル名は仮想ユーザー名と同じuser_でなければなりません.config_dir=/etc/vsftpd/vsftpd_config仮想ユーザプロファイルを保存するディレクトリを作成する
   
   
   
   
  1. mkdir /etc/vsftpd/vsftpd_config/ 

vsftpログファイルの作成
   
   
   
   
  1. touch /var/log/vsftpd.log 
  2. chmod 600 /var/log/vsftpd.log 
  3. chown vsftpd.vsftpd /var/log/vsftpd.log 

ホームディレクトリに固定するユーザーのプロファイルを作成
   
   
   
   
  1. touch /etc/vsftpd/chroot_list 

ユーザーディレクトリを固定する必要があるユーザー名を書き込めばいいです.
   
   
   
   
  1. cd /etc/vsftpd/vsftpd_config/ 
   
   
   
   
  1. cat > dongnan << EOF 
  2. # ,centos yes  
  3. guest_enable=yes 
  4. #  
  5. guest_username=dongnan 
  6. # ,  
  7. local_root=/var/ftp/dongnan 
  8. # 10
  9. idle_session_timeout=600 
  10. # 2  
  11. data_connection_timeout=120 
  12. #  
  13. max_clients=10 
  14. # ip  
  15. max_per_ip=5 
  16. # ,0  
  17. local_max_rate=0 
  18. EOF 

vsftpの起動
   
   
   
   
  1. /etc/init.d/vsftpd start 

Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: anon_upload_enable注意:500 OOPSなどのエラーが発生しましたので、以下のコマンドで「余分なスペース」を取り除き、vsftpを再起動してください.
   
   
   
   
  1. sed -ir 's/[ ]*$//g'  /etc/vsftpd/vsftpd.conf 
  2. sed -ir 's/[ ]*$//g'  /etc/vsftpd/vsftpd_config/dongnan 

Vsftpサービスインストール構築、仮想ユーザー構成を参照http://kinggoo.com/app-installvsftpdconf.htm第二十一章、ファイルサーバーの三:FTPサーバーhttp://linux.vbird.org/linux_server/0410vsftpd.php
 
9.4アカウントとグループプロファイル
小知識:/sbin/nologinと/bin/falseの違い/bin/falseは最も厳格なlogin禁止オプションであり、すべてのサービスは使用できないが、/sbin/nologinはシステムloginを許可しないだけで、他のftpなどのサービスを使用することができる.
 
詳細は、linux関連274134275、37275208(満タン)vmware仮想化関連16668,2360