centos修改ftp指向目錄
❶ 如何對CentOS ftp服務配置
vsftpd作為FTP伺服器,在linux系統中是非常常用的。下面我們介紹如何在centos系統上安裝vsftp。
什麼是vsftpd
vsftpd是一款在Linux發行版中最受推崇的FTP伺服器程序。特點是小巧輕快,安全易用。
vsftpd 的名字代表」very secure FTP daemon」, 安全是它的開發者 Chris Evans 考慮的首要問題之一。在這個 FTP 伺服器設計開發的最開始的時候,高安全性就是一個目標。
安裝vsftpd
1、以管理員(root)身份執行以下命令
yum install vsftpd
2、設置開機啟動vsftpd ftp服務
chkconfig vsftpd on
3、啟動vsftpd服務
service vsftpd start
管理vsftpd相關命令:
停止vsftpd: service vsftpd stop
重啟vsftpd: service vsftpd restart
配置防火牆
打開/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
在REJECT行之前添加如下代碼
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和關閉文件,重啟防火牆
service iptables start
配置vsftpd伺服器
默認的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本編輯器打開。
vi /etc/vsftpd/vsftpd.conf
添加ftp用戶
下面是添加ftpuser用戶,設置根目錄為/home/wwwroot/ftpuser,禁止此用戶登錄SSH的許可權,並限制其訪問其它目錄。
1、修改/etc/vsftpd/vsftpd.conf
將底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改為
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
3、增加用戶ftpuser,指向目錄/home/wwwroot/ftpuser,禁止登錄SSH許可權。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
4、設置用戶口令
passwd ftpuser
5、編輯文件chroot_list:
vi /etc/vsftpd/chroot_list
內容為ftp用戶名,每個用戶佔一行,如:
peter
john
6、重新啟動vsftpd
service vsftpd restart
另外,如果覺得以後管理ftp用戶名嫌麻煩,可以使用centos官方發布的腳本管理。地址如下:
http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users
出現的錯誤
1、500 OOPS: cannot change directory
解決方法:
在終端輸入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
就OK了!
原因:這是因為伺服器開啟了selinux,這限制了FTP的登錄。
❷ 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的配置工作.
❸ centos linux FTP 怎麼改變匿名用戶的默認路徑 急急急 在線等
修改配置文件/etc/vsftpd/vsftpd.conf中的 「anon root = 」 ,把等號後改為 /var/ftp/A 就OK了!
❹ 求助CentOS高手:為/data/www/ 目錄 配置ftp
你是不是把ftp根目錄指向到新建的ftpwww用戶的宿主目錄下了?創建新用戶後用戶宿主目錄下是有隱藏的幾個配置文件的
❺ CentOS如何配置ftp server
首先安裝proftp,# yum install proftp
之後配置
1、配置Ftp允許Root登錄
修改/etc/ftpusers,去掉root
2、如果希望實現Root用戶Ftp後可以切換到/目錄
一般用戶只能切換到自己的主目錄,修改/etc/proftpd.conf文件,在DefaultRoot
一行前面增加一行
DefaultRoot / root
重新啟動proftpd服務即可。
改變匿名登錄的不想登錄到默認的 /var/ftp目錄
就要把/etc/passwd文件中的
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
中的默認目錄改變了即可。
3、Ftp具有寫入功能請在/etc/proftpd.conf文件中的<Global>段中改為如下:
<Limit STOR>
AllowAll
</Limit>
才可以。
4、Ftp改為PASV模式
在我們紅旗dc 5.0中的設置是在proftpd.conf中添加如下兩條語句即可。
MasqueradeAddress ip地址
#該參數設置在client發pasv指令時,server返回給client的pasv地址串中應該包含的連接地址,
#該地址通常是防火牆的外部地址(作rdr的地址)
PassivePorts 埠號
設置好之後重啟一下ftp服務。
FTP的連接一般是有兩個連接的,一個是客戶程和伺服器傳輸命令的,另一個是數據傳送的連接。FTP服務程序一般會支持兩種不同的模式,一種是Port模式,一種是
Passive模式(PasvMode),我先說說這兩種不同模式連接方式的分別。
先假設客戶端為C,服務端為S.
*Port模式:*
當客戶端C向服務端S連接後,使用的是Port模式,那麼客戶端C會發送一條命令告訴服務端S(客戶端C在本地打開了一個埠N在等著你進行數據連接),當服務端S收
到這個Port命令後
就會向客戶端打開的那個埠N進行連接,這種數據連接就生成了。
*Pasv模式:*
當客戶端C向服務端S連接後,服務端S會發信息給客戶端C,這個信息是(服務端S在本地打開了一個埠M,你現在去連接我吧),當客戶端C收到這個信息後,就可以向服
務端S的M埠進行連接,連接成功後,數據連接也建立了。
從上面的解釋中,兩種模式主要的不同是數據連接建立的不同,對於Port模式,是客戶端C在本地打開一個埠等服務端S去連接建立數據連接;而Pasv模式就是服務端
S打開一個埠等待客戶端C去建立一個數據連接。
關於ftp的pasv模式,有一種情況:
如果是通過iptables轉發到內網的一台伺服器,默認只能用port模式,此時,可以增加兩個iptables模塊,以實現pasv模式:
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
放入/etc/rc.local即可。(網關伺服器上設置,或在配置了iptables的機器上設置)
當然,通過修改proftpd.conf,指定允許的埠也可以,但這個會有限制,就是pasv port埠是固定的,假設數量是51000-510011,則只能提供給最多11個用戶,否則就沒有埠可以分配了。但載入模塊則沒有這個問題。
❻ centos里怎樣設置同一個用戶登陸不同的ftp站點時,主目錄分別為/var/ftp,/var/f
將用戶的家目錄設置為你指定的目錄。
❼ centos下如何指定ftp用戶訪問全盤
修改/etc/vsftpd/vsftpd.conf文件,添加:
chroot_local_user=NO
chroot_list_enable=NO
試一下。
❽ 怎麼設置centos里的ftp用戶登陸時的根目錄!不是匿名用戶,是ftp用戶!
你自己設置用戶名了就不是匿名用戶,它默認是匿名而已
❾ 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 #臨時關閉(不用重啟機器)