RHEL安裝好後,雖然通過SSH軟體可以直接遠程登入或ftp檔案,但總體感覺不大方便,不夠靈活。本文詳述了如何開通ftp服務的步驟以及可能碰到的問題,僅供參考。
一、安裝ftp服務
環境:Red Hat 4.1
安裝:
1、root使用者登入, 掛載安裝光碟片:#mount /dev/cdrom /mnt/cdrom,
2、進入/mnt/cdrom/Server 下,找到xinetd,vsftpd服務進行安裝: 輸入前幾個字母,按
tab鍵,可聯想出後面的命令,如有重複,連按兩下tab鍵,可將所有重複的都列出。
#rpm -ivh vsftpd-*.rpm
#rpm -ivh xinetd*.rpm
3、root使用者登入,編輯修改gssftp檔案,開啟ftp服務:
#vi /etc/xinetd.d/gssftp
# default: off
# description: The kerberized FTP server accepts FTP connections \
# that can be authenticated with Kerberos 5.
service ftp
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/kerberos/sbin/ftpd
server_args = -l (原先的-1 -a改為-1)
log_on_failure += USERID
disable = no (原先的yes改為no)
}
修改好後,儲存退出。
4、執行命令:#sestatus
-b | grep ftp
[root@localhost xinetd.d]# sestatus -b | grep ftp
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
ftp_home_dir on (由off修改為on,否則無法成功傳輸)
ftpd_disable_trans on (同上)
ftpd_is_daemon onhttpd_enable_ftp_server off
tftpd_disable_trans off
修改命令:#setsebool
-P ftpd_disable_trans on 或者 setsebool -P ftp_home_dir on
5、重啟vsftpd服務和xinetd服務,注意兩個服務啟動有先後順序!先啟動vsftpd服務,後啟動xinetd服務。宕服務的時候先宕vsftpd服務,再宕xinetd服務,否則前者可能無法停止。
[root@localhost ~]# service vsftpd restart
關閉 vsftpd: [確定]
為 vsftpd 啟動 vsftpd: [確定]
[root@localhost ~]# service xinetd restart
關閉 xinetd: [確定]
為 xinetd 啟動 xinetd: [確定]
6、windows平台遠程測試(也可通過另一linux平台連過來測試):
開始-運行-cmd,進入dos視窗,輸入:ftp
xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx 為linux實際主機ip)
C:\Documents and Settings\Administrator>ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx.
220 (vsFTPd 2.0.5)
User (xxx.xxx.xxx.xxx:(none)):
接受使用者名稱密碼輸入,配置成功。
二、問題匯總:
1、500 OOPS: cannot change directory:/root
解決:1)無效的使用者權限錯誤。刪除/etc/vsftpd/ftpuser 裡面的root和user_list
裡的root,使root使用者可以直接
ftp。
2)參考上述第四項配置進行檢查。
3)萬能大發:最好關掉linux 的防火牆:chkconfig iptables off
2、ftp:connect:沒有到主機的路由
解決:iptables防火牆沒有設定 開放21連接埠規則,同理於23連接埠等其他連接埠。具體設定步驟,請搜尋iptables防火牆設定方法。
3、使用者root不能直接telnet
linux 伺服器
解決:
a: vi /etc/pam.d/login
#%PAM-1.0
#auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so \\將此行注釋
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session include system-auth
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
b: vi /etc/pam.d/remote
#%PAM-1.0
#auth required pam_securetty.so \\將此行注釋
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session include system-auth
session required pam_loginuid.so
session optional pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open
session optional pam_keyinit.so force revoke
儲存退出。