centos7设置成文件服务器,CentOS7服务器架设ftp过程
2019年4月8日
CentOS7服務(wù)器架設(shè)ftp過程
一、vsftp安裝篇
復(fù)制代碼代碼如下:
# 安裝vsftpd
yum -y install vsftpd
# 啟動
systemctl start vsftpd.service
# 開啟啟動
systemctl enable vsftpd.service
二、vsftp相關(guān)命令之服務(wù)篇
復(fù)制代碼代碼如下:
# 啟動ftp服務(wù)
service vsftpd start
# 查看ftp服務(wù)狀態(tài)
service vsftpd status
# 重啟ftp服務(wù)
service vsftpd restart
# 關(guān)閉ftp服務(wù)
service vsftpd stop
三、vsftp配置篇
復(fù)制代碼代碼如下:
#進(jìn)入vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
# 禁止匿名用戶anonymous登錄
anonymous_enable=NO
# 允許本地用戶登錄
local_enable=YES
# 讓登錄的用戶有寫權(quán)限(上傳,刪除)
write_enable=YES
# 默認(rèn)umask
local_umask=022
# 把傳輸記錄的日志保存到/var/log/vsftpd.log
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
# 允許ASCII模式上傳
ascii_upload_enable=YES
# 允許ASCII模式下載
ascii_download_enable=YES
# 使用20號端口傳輸數(shù)據(jù)
connect_from_port_20=YES
# 歡迎標(biāo)語
ftpd_banner=Welcome to use my test ftp server.
# 接下來的三條配置很重要
# chroot_local_user設(shè)置了YES,那么所有的用戶默認(rèn)將被chroot,
# 也就用戶目錄被限制在了自己的home下,無法向上改變目錄。
# chroot_list_enable設(shè)置了YES,即讓chroot用戶列表有效。
# ★超重要:如果chroot_local_user設(shè)置了YES,那么chroot_list_file
# 設(shè)置的文件里,是不被chroot的用戶(可以向上改變目錄)
# ★超重要:如果chroot_local_user設(shè)置了NO,那么chroot_list_file
# 設(shè)置的文件里,是被chroot的用戶(無法向上改變目錄)
chroot_list_enable=YES
# touch /etc/vsftpd/chroot_list 新建
chroot_list_file=/etc/vsftpd/chroot_list
use_localtime=YES
# 以standalone模式在ipv4上運行
listen=YES
# PAM認(rèn)證服務(wù)名,這里默認(rèn)是vsftpd,在安裝vsftpd的時候已經(jīng)創(chuàng)建了這個pam文件,
# 在/etc/pam.d/vsftpd,根據(jù)這個pam文件里的設(shè)置,/etc/vsftpd/ftpusers
# 文件里的用戶將禁止登錄ftp服務(wù)器,比如root這樣敏感的用戶,所以你要禁止別的用戶
# 登錄的時候,也可以把該用戶追加到/etc/vsftpd/ftpusers里。
pam_service_name=vsftpd
# 重啟 vsftpd
service vsftpd restart
四、vsftp用戶篇
復(fù)制代碼代碼如下:
# 創(chuàng)建用戶
useradd -d /home/webapps/www.xxx.com -s /sbin/nologin -M hzh1990
# 設(shè)置用戶到文件夾
chown -R username /home/webapps/www.xxx.com/public
# 設(shè)置權(quán)限
chown -R 777? /home/webapps/www.xxx.com/public
# 添加密碼
passwd hzh1990 -> 密碼 -> 確認(rèn)密碼
useradd -d /home/webzte -s /sbin/nologin -M webzte
五、遇到的問題
1、啟動時遇到問題。
現(xiàn)象與描述
[root@localhost?~]#?service?vsftpd?start
Redirecting?to?/bin/systemctl?start??vsftpd.service
Job?for?vsftpd.service?failed.?See?‘systemctl?status?vsftpd.service’?and?‘journalctl?-xn’?for?details.
按照提示輸入systemctl?status?vsftpd.service?和?journalctl?-xn?顯示如下:
[root@localhost?~]#?systemctl?status?vsftpd.service?-l
vsftpd.service?–?Vsftpd?ftp?daemon
Loaded:?loaded?(/usr/lib/systemd/system/vsftpd.service;?disabled)
Active:?failed?(Result:?exit-code)?since?Thu?2014-09-18?01:50:43?CST;?3min?50s?ago
Process:?2136?ExecStart=/usr/sbin/vsftpd?/etc/vsftpd/vsftpd.conf?(code=exited,?status=2)Sep?18?01:50:43?localhost.localdomain?systemd[1]:?vsftpd.service:?control?process?exited,?code=exited?status=2
Sep?18?01:50:43?localhost.localdomain?systemd[1]:?Failed?to?start?Vsftpd?ftp?daemon.
Sep?18?01:50:43?localhost.localdomain?systemd[1]:?Unit?vsftpd.service?entered?failed?state.
解決與思考
#?When?“l(fā)isten”?directive?is?enabled,?vsftpd?runs?in?standalone?mode?and
#?listens?on?IPv4?sockets.?This?directive?cannot?be?used?in?conjunction
#?with?the?listen_ipv6?directive.
listen=NO
把listen改成NO成功啟動了
2、客戶端無法連接ftp
現(xiàn)象與描述
客戶端無法連接到服務(wù)器,telnet也不行,懷疑被服務(wù)器防火墻ban了
解決與思考
先考慮把21端口加入到服務(wù)器firewalld規(guī)則里,但是太復(fù)雜,沒查到相關(guān)文檔,決定禁用firewalld采用iptables來解決。
在CentOS/RHEL 7系統(tǒng)中,要用iptables和ip6tables服務(wù)代替FirewallD服務(wù),需要以root身份運行以下命令,先禁用FirewallD:
#?systemctl?disable?firewalld
#?systemctl?stop?firewalld
然后安裝iptables-services程序包,以root身份輸入以下命令:
#?yum?install?iptables-services
iptables-services程序包包含了iptables和ip6tables服務(wù)。然后,以root身份運行iptables和ip6tables命令:
#?systemctl?start?iptables
#?systemctl?start?ip6tables
#?systemctl?enable?iptables
#?systemctl?enable?ip6tables
vi /etc/sysconfig/iptables
systemctl status iptables
3、ftp客戶端連接進(jìn)去后,用戶能進(jìn)入到上層及其他目錄
現(xiàn)象與描述
如題。
解決與思考
————————————–分割線—————————————————
2016-12-09 決定嘗試FTP虛擬用戶登錄。
—
我們登錄FTP有三種方式,匿名登錄、本地用戶登錄和虛擬用戶登錄。
匿名登錄:在登錄FTP時使用默認(rèn)的用戶名,一般是ftp或anonymous。
本地用戶登錄:使用系統(tǒng)用戶登錄,在/etc/passwd中。
虛擬用戶登錄:這是FTP專有用戶,有兩種方式實現(xiàn)虛擬用戶,本地數(shù)據(jù)文件和數(shù)據(jù)庫服務(wù)器。
FTP虛擬用戶是FTP服務(wù)器的專有用戶,使用虛擬用戶登錄FTP,只能訪問FTP服務(wù)器提供的資源,大大增強了系統(tǒng)的安全。
—
一、本地數(shù)據(jù)文件方式
1. 添加虛擬用戶口令文件
[root@CentOS5 /]#vi /etc/vsftpd/vftpuser.txt
添加虛擬用戶名和密碼,一行用戶名,一行密碼,以此類推。奇數(shù)行為用戶名,偶數(shù)行為密碼。
bobyuan #用戶名
123456 #密碼
markwang #用戶名
123456 #密碼
2. 生成虛擬用戶口令認(rèn)證文件
將剛添加的vftpuser.txt虛擬用戶口令文件轉(zhuǎn)換成系統(tǒng)識別的口令認(rèn)證文件。
首先查看系統(tǒng)有沒有安裝生成口令認(rèn)證文件所需的軟件db4-utils。
[root@CentOS5 /]#rpm –qa |grep db4-utils
[root@CentOS5 /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm
rpm -qa |grep db4-utils
rpm -qa |grep db4
rpm -ivh db4-utils-4.3.29-9.fc6.i386.rpm
上述幾行均失敗。
yum provides db_load
成功。
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
3. 編輯vsftpd的PAM認(rèn)證文件
在/etc/pam.d目錄下,
[root@CentOS5 /]#vi /etc/pam.d/vsftpd
將里面其他的都注釋掉,添加下面這兩行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
——2020年1月15日補充——
關(guān)閉SELinux,默認(rèn)情況下未開啟
#查看selinux狀態(tài)
sestatus
SELinux status:? ? ? ? ? ? ? ?? enabled
#永久禁用,需要重啟生效。
vim /etc/selinux/config
改SELINUX=disabled
# 保存退出,重啟服務(wù)器
reboot
# 臨時禁用,不需要重啟
setenforce 0
總結(jié)
以上是生活随笔為你收集整理的centos7设置成文件服务器,CentOS7服务器架设ftp过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dapper逆天入门~强类型,动态类型,
- 下一篇: 我在全球最大的同性社交平台那点事