vsftpd 有關vsftpd的3個注意事項。。sshd[pid]: fatal: chroot into directory without nodev and either noexec or n

今天幫助已好友配置vsftpd,多是長時間不用這個東西了,居然這裏個半天才把需求折騰完,node

其實需求簡單,就是使用系統帳戶登陸,不可跳轉目錄,限制權限,只能上次不能下載。ssh

 

懵逼一:ui

最開始配置sftp協議的時候,配置到Match user那個地方,也就是sftp協議下限制某一個用戶的目錄,遇到一個奇怪的報錯,登陸一直日誌提示:spa

sshd[pid]: fatal: chroot into directory without nodev and either noexec or nosuid日誌

估計通常人都沒怎麼見過,也提示的不明顯,其實最後我也沒弄明白意思,只是在https://www.suse.com/support/kb/doc/?id=7009112code

這個網址的B項目獲得了啓發,最終經過修改chroot的目錄解決,其實總結一下就是用戶的目錄上次目錄必須是root屬主,而後呢就是cdn

你再定義match的時候 有個chroot路徑不須要寫到具體的用戶目錄,寫到上一次便可。好比用戶目錄是/data/ftproot/user1,那麼match下blog

ChrootDirectory配置到/data/ftproot便可,而且ftoroot目錄必須root:root不然就是這個報錯。ip

 

一個完整的match備份:cmd

 

Subsystem       sftp    internal-sftp   #這個不屬於macth一部分,可是若是使用ssh隧道必須修改爲這個。
#如下是一個match示範
Match user cdnok ChrootDirectory
/opt/ftproot/ X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp

 

 

 

懵逼二:

系統帳戶沒法登陸,本地登陸參數已經YES,可是使用ftp://ip 登陸,一直提示你輸入帳號密碼,實際狀況是ftp帳號密碼是對的。

解決:

通過檢查配置開啓了chroot_list_enable=YES選項,你們可能都知道此選項的做用是定義限制不能切換目錄的用戶。

可能當時腦子短路了就認爲配置完,全部用戶默認就是不能切換目錄了。形成死活登陸不了,最後才發現若是開啓了

此配置項目,那麼與之配套的chroot_list_file=/etc/vsftpd/chroot_list,必須啓動,必須手動簡歷這個文件,把你的帳戶

放進去,這樣纔算完整限制用戶調整目錄,2個必須一塊兒使用。

 

 

懵逼三:

細化用戶權限的時候,重啓後直接沒法訪問。

解決:

經檢查是個別權限關鍵字的問題,我也是在網上找了一個下載專用的權限:

此處備份:(英文逗號,不能有空格)

cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST
相關文章
相關標籤/搜索