centosftp目錄
A. 如何在Centos下安裝ftp伺服器
1、安裝ftp
# yum -y install ftp vsftpd
查看安裝情況
#rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
2、伺服器配置
創建ftp根目錄 /ftp/private(這里有個不解的問題,如果創建了一個/root/ftp/private的目錄,登錄時會提示500 OOPS: cannot change directory:/root/ftp/private之類的錯誤,目前無法解決,希望有知道的朋友解釋一下),如果創建一個公開的目錄,需要創建/ftp/open並在/etc/vsftpd/vsftpd.conf增加anon_root=/ftp/open
#mkdir /ftp
#mkdir /ftp/private
創建密碼明文文件,創建兩個用戶John,Jack,密碼分別是passwxx,passwyy
#vim /etc/vsftpd/pass.txt
John
passwxx
Jack
passwyy
根據明文創建密碼DB文件,userlist.db就是用戶密碼的資料庫
#db_load -T -t hash -f /etc/vsftpd/pass.txt \
> /etc/vsftpd/userlist.db
創建vftpd 系統賬戶 ftp_user
#useradd -d /root/ftp/private -s /sbin/nologin ftp_user
配置用戶數據
# vi/etc/pam.d/vsftpd
//將auth及account的所有配置行行均注釋掉,添加如下內容:
authrequiredpam_userdb.so db=/etc/vsftpd/userlist
accountrequiredpam_userdb.so db=/etc/vsftpd/userlist
userlist就是/etc/vsftpd/userlist.db的資料庫,不過不用加.db後綴,系統自動添加
在/etc/vsftpd/vsftpd.conf 添加一下內容:
#vim /etc/vsftpd/vsftpd.conf
#anon_root=/ftp/open //如果要增加一個公開的文件目錄,將注釋去掉virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp_user
chroot_local_user=YES
allow_writeable_chroot=YES
同時將chroot_list_enable=YES,chroot_list_file=/etc/vsftpd/chroot_list注釋去掉並將chroot_list_file=/etc/vsftpd/chroot_list
改為chroot_list_file=/ftp
chroot_list_enable=YES
# (default follows)
chroot_list_file=/ftp
啟動vsftpd
#systemctl start vsftpd
設置開機啟動
#systemctl enable vsftpd
B. 怎麼修改centos ftp匿名登錄的路徑
如果是默認安裝vsftpd的話,以下是一些文件的位置約定:
/usr/sbin/vsftpd ---- VSFTPD的主程序
/etc/rc.d/init.d/vsftpd ---- 啟動腳本
/etc/vsftpd/vsftpd.conf ---- 主配置文件
/etc/pam.d/vsftpd ---- PAM認證文件
/etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用戶列表文件
/etc/vsftpd.user_list ---- 禁止或允許使用VSFTPD的用戶列表文件
/var/ftp ---- 匿名用戶主目錄
/var/ftp/pub ---- 匿名用戶的下載目錄
如果要更改默認下載目錄,修改/etc/vsftpd/vsftpd.conf,加入如下三行:
local_root=/
chroot_local_user=YES
anon_root=/
local_root表示使用本地用戶登錄到ftp時的默認目錄
anon_root表示匿名用戶登錄到ftp時的默認目錄
你上面的chroot_list_file是設定鎖定登陸用戶在其home目錄的列表,要在chroot_list_enable=YES情況下才生效。
另外,如luo_rc所述,最好不要設置默認目錄為/,使用建議使用mount --bind來掛載需要的目錄。
C. centos下如何指定ftp用戶訪問全盤
修改/etc/vsftpd/vsftpd.conf文件,添加:
chroot_local_user=NO
chroot_list_enable=NO
試一下。
D. CentOS系統下如何配置FTP(一)
啟動命令:/etc/rc.d/init.d/vsftpd start
這時候可以使用ftp客戶端連接.
vsftpd的許可權貌似和系統許可權有掛鉤.
下面是抄來的配置解釋vsftpd的配置
vsftpd.user_list:位於/etc目錄下.該文件里的用戶賬戶在默認情況下也不能訪問FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問.
vsftpd.conf:位於/etc/vsftpd目錄下.來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置.
(1)CentOS系統用戶登錄控制
E. CentOs ftp 設置用戶訪問指定目錄
使用root賬號登錄centos系統
檢查是否已安裝vsftp
rpm -qa |grep vsftpd #未輸出信息,表示未安裝vsftp通過yum安裝vsftp
yum -y install vsftpdftp啟動、重啟、停止、狀態查詢命令
service vsftpd start #啟動ftpservice vsftpd stop #停止ftpservice vsftpd restart #重啟ftpservice vsftpd status #查詢ftp狀態設置為開機啟動(可設置)
chkconfig vsftpd on設置配置文件
vi /etc/vsftpd/vsftpd.conf修改如下內容:
anonymous_enable=NO #設置不允許匿名賬戶登錄chroot_local_user=YES #所有用戶限制在主目錄中chroot_list_enable=NO #不啟動限制用戶名單,直接限制所有用戶userlist_enable=NO #當為YES時只有userlist_file文件中指定的用戶才能登錄allow_writeable_chroot=YES #(在文件尾部新增)防止用戶有寫入許可權時報錯local_root=/home/www #(在文件尾部新增)設置用戶的根目錄重啟ftp
service vsftpd restart創建ftp用戶
創建用戶組
groupadd ftpgroups創建用戶
# useradd 添加用戶命令 -d /home/www 指定用戶根目錄 -g ftpgroups 加入用戶組 ftptest用戶名useradd -d /home/www -g ftpgroups ftptest設置用戶密碼
passwd ftptest # passwd(命令) ftptest(用戶名,根據你實際情況寫)設置不允許用於系統登錄
usermod -s /sbin/nologin ftptest #ftptest(用戶名,根據你實際情況寫)設置文件許可權
chmod 755 /home/www設置目錄擁有者
chown -R ftptest:root /home/www #ftptest:ftp用戶名 ; /home/www:文件目錄設置防火牆
systemctl status firewalld
查看防火牆狀態,如果未啟動,直接跳過本步驟開放20、21埠(阿里雲伺服器還需配置安全組開放防火牆)
firewall-cmd --permanent --zone=public --add-port=20/tcpfirewall-cmd --permanent --zone=public --add-port=20/udpfirewall-cmd --permanent --zone=public --add-port=21/tcpfirewall-cmd --permanent --zone=public --add-port=21/udpfirewall-cmd --reload #重新載入至此ftp服務安裝成功,如果出現不能訪問或不能寫入的情況,就還需要設置SELinux(關閉)
sestatus -v #查看SELinux狀態,如果SELinux status參數為enabled即為開啟狀態setenforce 0 #臨時關閉(不用重啟機器)
F. centos怎麼搭建ftp伺服器
方法/步驟
一:安裝vsftpd
查看是否已經安裝vsftpd
二:基於虛擬用戶的配置
所謂虛擬用戶就是沒有使用真實的帳戶,只是通過映射到真實帳戶和設置許可權的目的。虛擬用戶不能登錄CentOS系統。
修改配置文件
配置文件直接貼出來吧
三:使用Berkeley DB進行認證
yum install db4 db4-utils
然後,創建用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼
接著,生成虛擬用戶認證的db文件
編輯認證文件/etc/pam.d/vsftpd,全部注釋掉原來語句,再增加以下兩句:
最後,創建虛擬用戶配置文件
設置FTP根目錄許可權
最新的vsftpd要求對主目錄不能有寫的許可權所以ftp為755,主目錄下面的子目錄再設置777許可權
添加防火牆,把ftp的21埠開放 vi /etc/sysconfig/iptables
經過以上步驟我們就完成了ftp伺服器的搭建,讓我們暢游ftp吧
G. 求助CentOS高手:為/data/www/ 目錄 配置ftp
你是不是把ftp根目錄指向到新建的ftpwww用戶的宿主目錄下了?創建新用戶後用戶宿主目錄下是有隱藏的幾個配置文件的
H. CentOS系統下如何配置FTP(二)
(2)CentOS系統用戶許可權控制 write_enable=YES,開啟全局上傳許可權. local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022). chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替. chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認是/etc/vsftpd.chroot_list). nopriv_user=ftpsecure,指定一個安全用戶賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立用戶.這是vsftpd系統推薦選項. async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯! ascii_upload_enable=YES;ascii_download_enable=YES,默認情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸. 注意:啟用ascii_download_enable選項會讓惡意遠程用戶們在ASCⅡ模式下用「SIZE/big/file」這樣的指令大量消耗FTP伺服器的I/O資源. 這些ASCⅡ模式的設置選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導致崩潰),而不會遭受拒絕服務攻擊的危險. (3)CentOS系統用戶連接和超時選項 idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出. data_connection_timeout=120,設定默認的數據連接超時時間. dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容. xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能. xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log.以上,我們就完成了CentOS系統中FTP的配置工作.
I. CentOS系統下如何配置FTP
啟動命令:/etc/rc.d/init.d/vsftpd start 這時候可以使用ftp客戶端連接。 vsftpd的許可權貌似和系統許可權有掛鉤。 下面是抄來的配置解釋vsftpd的配置 ,例如root等。 vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。 vsftpd.conf:位於/etc/vsftpd目錄下。來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。 (1)CentOS系統用戶登錄控制 local_enable=YES,允許本地用戶登錄。 banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單保存路徑(默認為/etc/vsftpd.banned_emails)。 (2)CentOS系統用戶許可權控制 write_enable=YES,開啟全局上傳許可權。 local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022)。 chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替。 chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認是/etc/vsftpd.chroot_list)。 nopriv_user=ftpsecure,指定一個安全用戶賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立用戶。這是vsftpd系統推薦選項。 async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯! ascii_upload_enable=YES;ascii_download_enable=YES,默認情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。 注意:啟用ascii_download_enable選項會讓惡意遠程用戶們在ASCⅡ模式下用「SIZE/big/file」這樣的指令大量消耗FTP伺服器的I/O資源。 這些ASCⅡ模式的設置選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導致崩潰),而不會遭受拒絕服務攻擊的危險。 (3)CentOS系統用戶連接和超時選項 idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出。 data_connection_timeout=120,設定默認的數據連接超時時間。 dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容。 xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。 xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log。 以上,我們就完成了CentOS系統中FTP的配置工作。