在CentOS系統下建立和配置虛擬使用者的方法

來源:互聯網
上載者:User

   一、下載當前vsftp最新版本

  代碼如下:

  wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.4.tar.gz

  二、安裝前準備

  1、建立虛擬使用者映射的本機使用者wwwftp

  代碼如下:

  useradd wwwftp -d /data/www -s /sbin/nologin

  2、建立自訂配置目錄

  代碼如下:

  mkdir -p /data/soft/vsftpd/conf

  mkdir -p /data/soft/vsftpd/bin

  mkdir -p /data/soft/vsftpd/lib

  mkdir -p /data/soft/vsftpd/user_conf

  mkdir -p /data/soft/vsftpd/empty

  mkdir -p /data/soft/vsftpd/logs

  mkdir -p /data/www

  mkdir -p /data/www/user1

  mkdir -p /data/www/user2

  3、對自訂目錄設定許可權

  代碼如下:

  chown -R wwwftp:www /data/www

  chmod -R 700 /data/soft/vsftpd/empty/

  chown -R wwwftp:wwwftp /data/soft/vsftpd/empty/

  4、複製用於驗證使用者登入的庫檔案到自訂目錄方便管理

  代碼如下:

  cp /lib/security/pam_userdb.so /data/soft/vsftpd/lib/

  5、安裝所需軟體

  代碼如下:

  yum -y install gcc db4* pam*

  三、解壓安裝vsftpd

  代碼如下:

  tar zxvf vsftpd-2.3.4.tar.gz

  cd vsftpd-2.3.4

  源碼安裝預設不支援tcp_wrappers和ssl

  需要修改builddefs.h

  代碼如下:

  /*預設值如下:*/

  #undef VSF_BUILD_TCPWRAPPERS /*是否支援TCP WRAPPERS*/

  #define VSF_BUILD_PAM /*是否支援自訂虛擬使用者登入*/

  #undef VSF_BUILD_SSL /*是否支援SSL傳輸*/

  /*支援則將對應項設為define,否則設為undef*/

  編譯vsftpd

  代碼如下:

  make

  查看編譯的vsftpd二進位檔案是否載入了pam

  代碼如下:

  ldd vsftpd

  如下:

  代碼如下:

  [root@CentOS5 vsftpd-2.3.4]# ldd vsftpd

  linux-gate.so.1 => (0x00628000)

  libwrap.so.0 => /lib/libwrap.so.0 (0x00cee000)

  libnsl.so.1 => /lib/libnsl.so.1 (0x0015f000)

  libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)

  libdl.so.2 => /lib/libdl.so.2 (0x007dc000)

  libresolv.so.2 => /lib/libresolv.so.2 (0x008d8000)

  libutil.so.1 => /lib/libutil.so.1 (0x00110000)

  libcap.so.1 => /lib/libcap.so.1 (0x00d99000)

  libc.so.6 => /lib/libc.so.6 (0x0029a000)

  libaudit.so.0 => /lib/libaudit.so.0 (0x00114000)

  /lib/ld-linux.so.2 (0x004a2000)

  看到libpam.so.0 => /lib/libpam.so.0 (0x00fc4000)表示已成功載入pam認證模組

  代碼如下:

  cp vsftpd /data/soft/vsftpd/bin

  四、配置vsftpd

  1、建立主設定檔

  代碼如下:

  vi /data/soft/vsftpd/conf/vsftpd.conf

  如下:

  代碼如下:

  local_enable=YES

  anonymous_enable=NO

  anon_upload_enable=NO

  anon_other_write_enable=NO

  anon_mkdir_write_enable=NO

  ftpd_banner=Welcome to FTP service.

  listen=YES

  listen_port=21

  connect_from_port_20=YES

  nopriv_user=nobody

  tcp_wrappers=YES

  chroot_local_user=NO

  chroot_list_enable=YES

  chroot_list_file=/data/soft/vsftpd/chroot_list

  userlist_enable=yes

  userlist_deny=no

  userlist_file=/data/soft/vsftpd/allow

  dual_log_enable=YES

  vsftpd_log_file=/data/soft/vsftpd/logs/vsftpd.log

  xferlog_enable=YES

  xferlog_file=/data/soft/vsftpd/logs/xferlog

  pasv_enable=YES

  pasv_min_port=50000

  pasv_max_port=60000

  guest_enable=YES

  guest_username=wwwftp

  pam_service_name=vsftpd

  virtual_use_local_privs=YES

  use_localtime=YES

  user_config_dir=/data/soft/vsftpd/user_conf

  secure_chroot_dir=/data/soft/vsftpd/empty

  2、建立允許登入ftp的使用者檔案

  代碼如下:

  vi /data/soft/vsftpd/allow

  如下:

  代碼如下:

  user1

  user2

  3、建立用於鎖定使用者目錄的使用者列表檔案

  代碼如下:

  vi /data/soft/vsftpd/chroot_list

  如下

  代碼如下:

  user1

  user2

  4、配置vsftpd的pam認證模組(用於虛擬使用者認證)

  代碼如下:

  vi /etc/pam.d/vsftpd

  如下

  代碼如下:

  auth required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login

  account required /data/soft/vsftpd/lib/pam_userdb.so db=/data/soft/vsftpd/login

  儲存退出

  5、建立使用者名稱密碼文字檔

  代碼如下:

  vi /data/soft/vsftpd/login.txt

  如下:一行使用者名稱一行密碼

  代碼如下:

  user1

  123456

  user2

  654321

  儲存退出

  6、用db_load產生使用者資料庫

  代碼如下:

  db_load -T -t hash -f /data/soft/vsftpd/login.txt /data/soft/vsftpd/login.db

  chmod 600 /data/soft/vsftpd/login.db

  rm -rf /data/soft/vsftpd/login.txt

  7、配置虛擬使用者自訂設定檔

  代碼如下:

  vi /data/soft/vsftpd/user_conf/user1

  user1所有許可權

  代碼如下:

  local_root=/data/www/user1

  write_enable=YES

  local_umask=022

  儲存退出

  代碼如下:

  vi /data/soft/vsftpd/user_conf/user2

  user2隻允許下載

  代碼如下:

  local_root=/data/www/user2

  write_enable=NO

  download_enable=YES

  local_umask=022

  儲存退出

  8、啟動vsftpd服務

  代碼如下:

  /data/soft/vsftpd/bin/vsftpd /data/soft/vsftpd/conf/vsftpd.conf &

  五、測試

  user1登入可讀、寫、刪除、建立、修改一切許可權

  user2登入僅有下載許可權

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.