前言:
ftp有三種登入方式:匿名登入、本地系統使用者登入和虛拟使用者登入。
虛拟使用者是ftp伺服器的專用使用者,它的特點是隻能通路伺服器為其提供的ftp服務,而不能通路系統的其它資源。是以,如果想讓使用者對ftp伺服器站内具有寫權限,但又不允許通路系統其它資源,可以使用虛拟使用者來提高系統的安全性。在vsftp中,認證這些虛拟使用者使用的是單獨的密碼庫檔案(pam_userdb),由可插入認證子產品(pam)認證。使用這種方式更加安全,并且配置更加靈活。
1
2
3
4
5
<code>yum </code><code>install</code> <code>-y vsftpd</code>
<code>vi</code> <code>/etc/vsftpd/vsftpd</code><code>.conf </code><code>#開啟使用者登入認證</code>
<code>anonymous_enable=no</code>
<code>local_root=</code><code>/data</code>
<code>chroot_local_user=yes</code>
1.生成虛拟使用者密碼庫檔案(為了建立此密碼庫檔案,先要生成一個文本檔案。)
<code>vi</code> <code>/etc/vsftp/user_list</code><code>.txt</code>
<code>user1</code>
<code>pass</code>
<code>user2</code>
2.生成使用者資料庫
<code>db_load -t -t </code><code>hash</code> <code>-f </code><code>/etc/vsftpd/user_list</code><code>.txt </code><code>/etc/vsftpd/user_list</code><code>.db</code>
<code>chmod</code> <code>600 </code><code>/etc/vsftpd/user_list</code><code>.db</code>
3.建立虛拟使用者pam檔案
<code>vi</code> <code>/etc/pam</code><code>.d</code><code>/vsftpd</code><code>.vu</code>
<code>auth required </code><code>/lib64/security/pam_userdb</code><code>.so db=</code><code>/etc/vsftpd/user_list</code>
<code>account required </code><code>/lib64/security/pam_userdb</code><code>.so db=</code><code>/etc/vsftpd/user_list</code>
4.建立本地使用者來映射虛拟使用者
<code>useradd</code> <code>-s </code><code>/sbin/nologin</code> <code>vftp</code>
<code>chmod</code> <code>700 </code><code>/home/vftp</code>
5.啟動虛拟使用者并映射到本地使用者
<code>vi</code> <code>/etc/vsftpd/vsftpd</code><code>.conf</code>
<code>guest_enable=yes</code>
<code>guest_username=vftp</code>
<code>pam_service_name=vftpd.vu</code>
6.預設虛拟使用者都在vsftp家目錄,需要設定指定的目錄,添加虛拟使用者配置檔案位置
添加使用者配置目錄:
<code>user_config_dir=</code><code>/etc/vsftpd/vsftpd_user_conf</code>
<code>mkdir</code> <code>/etc/vsftpd/vsftpd_user_conf</code>
添加使用者配置檔案:
6
7
<code>vi</code> <code>/etc/vsftpd/vsftpd_user_conf/user1</code>
<code>local_root=</code><code>/ftp/share</code>
<code>write_enable=yes</code>
<code>anon_upload_enable=yes</code>
<code>anon_mkdir_write_enable=yes</code>
<code>anon_world_readable_only=no </code><code>#開放使用者浏覽、下載下傳權限</code>
<code>anon_other_write_enable=yes </code><code>#重命名權限、續傳,不建議開</code>
設定權限:
<code>chown</code> <code>vftp:root -r </code><code>/ftp/share</code>
<code>service vsftpd restart</code>
<code></code>