我現(xiàn)在有一個(gè)需求蝎困,要使用FTP圖形工具莫其,連接公司的Linux服務(wù)器,上傳文件到指定的工作目錄里粗截,現(xiàn)在有一種簡(jiǎn)單的方式可以實(shí)現(xiàn)需求惋耙。
可以利用SFTP文件傳輸協(xié)議,它們基于SSH或SSL/TLS加密連接熊昌,這種協(xié)議绽榛,默認(rèn)使用22端口(這個(gè)端口并不安全,需要修改成其它自定義端口婿屹,防止被掃描)灭美,它不需要單獨(dú)安裝FTP服務(wù),只要服務(wù)器上啟用了SSH服務(wù)昂利,并且你有一個(gè)有效的系統(tǒng)用戶賬戶届腐,就可以使用SFTP協(xié)義進(jìn)行文件傳輸。
現(xiàn)在我的需求如下:
1.我要給同事創(chuàng)建一個(gè)名為zw的賬號(hào)
2.她連接到服務(wù)器后蜂奸,需要將文件上傳到 /data/jiemo/upload目錄里犁苏,這時(shí)她只能在FTP軟件上,看到upload目錄扩所,她無(wú)法訪問(wèn)其它系統(tǒng)目錄围详,如:/root,/home,/etc等目錄。
現(xiàn)在正式操作:
1.創(chuàng)建賬號(hào)
創(chuàng)建一個(gè)只能用于ftp連接祖屏,而不能ssh登陸服務(wù)器的賬號(hào)
adduser zw
passwd zw
然后出現(xiàn)提示:設(shè)置密碼助赞,并在確認(rèn)一次密碼
usermod -s /sbin/nologin zw #設(shè)置該賬號(hào)不能用于ssh登陸
2.創(chuàng)建ftp目錄
mkdir -p /data/jiemo/upload
其中 /data/jiemo 是給賬號(hào)zw設(shè)置的根目錄,當(dāng)她通過(guò)FTP連接到服務(wù)器時(shí)赐劣,會(huì)看到/data/jiemo 下面擁有的子目錄嫉拐,但是它無(wú)法訪問(wèn)/data/jiemo 以外的其它目錄。
3.設(shè)置目錄權(quán)限
chown root:root /data/jiemo
chmod 755 /data/abc/zw
根據(jù)目錄/data/jiemo 的屬主必須是root,屬組可以換成其它的魁兼,但是屬主必須是root,/data和 jiemo這兩個(gè)層級(jí)的權(quán)限必須是755婉徘,這是不能更改的權(quán)限,要記住咐汞。
然后給upload設(shè)置權(quán)限盖呼,upload的屬主和屬組,都分給zw賬號(hào)
chown zw:zw /data/jiemo/upload
chmod 755 /data/jiemo/upload
4.配置SSH
這是最重要的一步化撕,在文件的尾部添加代碼
vi /etc/ssh/sshd_config
#添加下面這段代碼
Match User zw
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /data/jiemo
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
主要是兩個(gè)地方要設(shè)置
Match User zw # 填寫賬號(hào)名 每次只能填寫一個(gè)賬號(hào)名几晤,不能添加多個(gè)
ChrootDirectory /data/jiemo # 設(shè)置根目錄
重啟ssh服務(wù),讓配置生效
systemctl restart sshd
當(dāng)設(shè)置ChrootDirectory 后植阴,通過(guò)SFTP連接服務(wù)器后蟹瘾,只會(huì)看到upload目錄
如果需要給多個(gè)賬號(hào)圾浅,設(shè)置不同的權(quán)限目錄,就復(fù)制剛才的代碼憾朴,進(jìn)行多次添加狸捕。
5.關(guān)于安全方面的處理
在配置sftp賬號(hào)上傳文件后,日志/var/log/secure文件里众雷,就可以看到各種掃描灸拍,有了很多非法攻擊。需要修改一下端口號(hào)砾省,將默認(rèn)的22和2222端口去掉鸡岗。
vi /etc/ssh/sshd_config
找到Port部分 刪掉默認(rèn)端口,改成新端口 12379
Port 12379
然后運(yùn)行命令 systemctl restart sshd 重啟ssh服務(wù)
連接ftp時(shí)编兄,如果出現(xiàn)連接不上的問(wèn)題時(shí)轩性,也可以查看/var/log/secure 這個(gè)日志文件。