日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu Server搭建FTP服务器(2) --本地用户FTP服务器架设

發布時間:2023/12/31 Ubuntu 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu Server搭建FTP服务器(2) --本地用户FTP服务器架设 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ubuntu Server搭建FTP服務器(2) --本地用戶FTP服務器架設

參考:ubuntu中文wiki百科,網址:wiki.ubuntu.org.cn

環境:Ubuntu 9.04 Server+VSFTPD 2.0.7

slmagicbox@ubuntu904server:~$ uname -a
Linux ubuntu904server 2.6.28-11-server #42-Ubuntu SMP Fri Apr 17 02:48:10 UTC 2009 i686 GNU/Linux

slmagicbox@ubuntu904server:~$ dpkg -l? | grep vsftpd
ii? vsftpd??????????????????????????????????? 2.0.7-0ubuntu1??????????????????? The Very Secure FTP Daemon

原始配置文件/etc/vsftpd.conf:

本配置文件為安裝vsftpd后默認生成的,以“#”開頭為注釋項
?# Example config file /etc/vsftpd.conf
?? ?listen=YES?????????????? #以standalone模式運行vsftpd
?? ?#listen_ipv6=YES
??? anonymous_enable=YES? #允許匿名用戶訪問
?? ?#local_enable=YES
?? ?#write_enable=YES
?? ?#local_umask=022
?? ?#anon_upload_enable=YES
?? ?#anon_mkdir_write_enable=YES
?? ?dirmessage_enable=YES??? #當用戶首次進入FTP服務器的目錄時,顯示該目錄下的message消息,默認為.message文件,可以用message_file來定義
?? ?xferlog_enable=YES #啟用日志,默認路徑/var/log/vsftpd.log
?? ?connect_from_port_20=YES? #數據連接使用默認的ftp-data端口(20端口)
?? ?#chown_uploads=YES
?? ?#chown_username=whoever
?? ?#xferlog_file=/var/log/vsftpd.log
?? ?#xferlog_std_format=YES
?? ?#idle_session_timeout=600
?? ?#data_connection_timeout=120
?? ?#nopriv_user=ftpsecure
?? ?#async_abor_enable=YES
?? ?#ascii_upload_enable=YES
?? ?#ascii_download_enable=YES
?? ?#ftpd_banner=Welcome to blah FTP service.
?? ?#deny_email_enable=YES
?? ?#banned_email_file=/etc/vsftpd.banned_emails

?? ?# chroot_list_enable below.
?? ?#chroot_local_user=YES
?? ?#chroot_list_enable=YES
?? ?#chroot_list_file=/etc/vsftpd.chroot_list
?? ?#ls_recurse_enable=YES

?? ?# Debian customization
?? ?secure_chroot_dir=/var/run/vsftpd #忽略
?? ?pam_service_name=vsftpd? #忽略
?? ?rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #忽略
?? ?rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #忽略
??

修改后功能:

1)不允許匿名,本地用戶可上傳
???? anonymous_enable=NO? #注釋掉的話,默認為允許
???? anon_upload_enable=NO #anonymous_enable=YES時起作用,注釋掉的話,默認為允許,前提是全局上傳權限開啟(write_enable=YES)
???? anon_mkdir_write_enable=NO #anonymous_enable=YES時起作用,注釋掉的話,默認為允許,前提是全局上傳權限開啟(write_enable=YES)

???? local_enable=YES
???? write_enable=YES
???? local_umask=022 #默認為077

功能驗證:

1)匿名用戶無法登錄
2)本地用戶登錄成功,并可瀏覽整個文件系統,ftp權限由系統權限來控制
3)在本地用戶主目錄下上傳一個文件,并且創建一個文件夾,觀察兩者權限。
???? slmagicbox@ubuntu904server:~$ ls -l
?????????? drwxr-xr-x 2 slmagicbox slmagicbox 4096 2009-05-11 16:43 test1 #文件夾權限為 777-022=744
?????????? -rw-r--r-- 1 slmagicbox slmagicbox??? 0 2009-05-11 16:43 test2#文件權限為 666-022=644
4) 添加一個本地用戶ftptest1,讓其可以ftp登錄
???? slmagicbox@ubuntu904server:~$ sudo useradd ftptest1 -m #創建一個新的本地用戶ftptest1,-m參數為創建該用戶home文件夾(/home/ftptest1),ftp用戶必須有home目錄,否則會報500 OOPS: cannot change directory:/home/ftptest1 的錯誤
???? slmagicbox@ubuntu904server:/home$ sudo passwd ftptest1? #為ftptest1用戶設置密碼
????
輸入新的 UNIX 口令:
???? 重新輸入新的 UNIX 口令:
???? passwd: password updated successfully
??? slmagicbox@XXX:~$ ftp 192.168.0.111
?????? Connected to 192.168.0.111.
?????? 220 (vsFTPd 2.0.7)
?????? Name (192.168.0.111:slmagicbox): ftptest1
?????? 331 Please specify the password.
?????? Password:
?????? 230 Login successful.
?????? Remote system type is UNIX.
?????? Using binary mode to transfer files.
?????? ftp>????? #登錄成功
5)現在本地用戶可以ftp了,但是讓一個ftp用戶在你的服務器上到處逛,是不是感覺不放心呢?是否可以將ftp用戶限定在他們的home目錄下呢?這就要用到ch_root功能了。
???? 編輯配置文件/etc/vsftpd.conf:
???? chroot_local_user=YES

???? slmagicbox@ubuntu904server:~$ sudo /etc/init.d/vsftpd restart #重啟一下服務,讓配置更新

???? slmagicbox@FY-IT-Wangzh:~$ ftp 192.168.0.111
??????? Connected to 192.168.0.111.
??????? 220 (vsFTPd 2.0.7)
??????? Name (192.168.0.111:slmagicbox): ftptest1
??????? 331 Please specify the password.
??????? Password:
??????? 230 Login successful.
??????? Remote system type is UNIX.
??????? Using binary mode to transfer files.
??????? ftp> ls
??????? 200 PORT command successful. Consider using PASV.
??????? 150 Here comes the directory listing.
??????? 226 Directory send OK.
??????? ftp> cd /home
??????? 550 Failed to change directory.? #用戶被限定在自己的目錄下活動了

6)上面的效果是不是你想要的呢,但是管理員自己能不能有個特權呢,可以不被限制在home目錄下呢?
?????? 編輯配置文件/etc/vsftpd.conf:
??????
chroot_local_user=YES
?????? chroot_list_enable=YES?? #啟用chroot_list,列在該文件里的用戶排除在外,不限制在個人目錄下
?????? chroot_list_file=/etc/vsftpd.chroot_list? #定義chroot_list文件位置

?????? 創建并編輯/etc/vsftpd.chroot_list
?????? slmagicbox@ubuntu904server:/etc$echo "slmagicbox" | sudo tee -a vsftpd.chroot_list #把你希望排除在外的用戶加入/etc/vsftpd.chroot_list
??????
?????? slmagicbox@ubuntu904server:~$ sudo /etc/init.d/vsftpd restart
7)? 僅靠local_enable=YES來控制本地用戶可以訪問ftp,使得服務器上的所有用戶都有權限來訪問ftp。你是不是希望可以控制,哪些用戶可以訪問,哪些用戶不可訪問?讓我們繼續?
?????? 編輯配置文件/etc/vsftpd.conf:
????? ? ? userlist_enable=YES?? #啟用ftp用戶列表
????????? userlist_deny=NO???? #不采用deny用戶列表方式。userlist_deny可以理解為在userlist_file中列出的用戶是被deny掉的,不允許訪問ftp的,這里設置為NO,即表示該列表中的用戶不是被deny掉的,是有權限訪問ftp的。可能有點搞,簡單點的理解就是userlist_deny設置是否采用黑名單,YES為采用;NO為不采用黑名單,即采用白名單。這里采用白名單,只有在userlist_file中列出的用戶才有權訪問ftp.
????????? userlist_file=/etc/vsftpd.user_list ? #定義userlist_file文件存放位置? ??
?????? 創建并編輯/etc/vsftpd.user_list
????????? slmagicbox@ubuntu904server:~$ cd /etc/
????????? slmagicbox@ubuntu904server:/etc$ sudo touch vsftpd.user_list
????????? slmagicbox@ubuntu904server:/etc$ echo "slmagicbox" |sudo tee -a vsftpd.user_list
????????? slmagicbox@ubuntu904server:~$ sudo /etc/init.d/vsftpd restart
????? 看一下效果吧,應該只有slmagicbox可以訪問ftp。之后,把需要訪問ftp的用戶加入/etc/vsftpd.user_list就行了,這樣控制就簡單了,不遵守紀律的,管理員隨時可以把你請出去,別想用上ftp,嚯嚯!!

轉載于:https://blog.51cto.com/slmagicbox/157156

總結

以上是生活随笔為你收集整理的Ubuntu Server搭建FTP服务器(2) --本地用户FTP服务器架设的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。