「500 oops socket」 Debian 9 running via Linux Deploy上成功部署vsftpd的解決方案(201901原創)【成功完美簡單極致】

「500 oops socket」 Debian 9 running via Linux Deploy上成功部署vsftpd的解決方案(201901原創)【成功完美簡單極致】

#自從手機root後安裝Linux Deploy開始安裝了Debian9開始準備鼓搗ftp服務器(vsftpd)。linux

apt install vsftpd服務器

#以後整整一個月百度而來的猛如虎的各類操做各類坑,網絡

#且不說修改vsftpd.conf的各類參數,socket

#下載源碼修改編譯,安裝gdb調試,經過網絡教程禁用子進程改變uid gid的函數,修改源碼的secuil.c文件等等,函數

#用FileZilla鏈接時候永遠都是500 oops socketoop

#死的心都有了。就差下載源碼從新編譯內核了,可是我是新手,這麼高深的動做怎麼會?且不說手機上能說改就改linux內核?老大您就饒了我吧!ui

#以後,一個命令(strace)拯救了我,把我從gdb的苦海和vsftpd.dbg官方調試包中拖上岸。我此次成功解決問題全賴此命令。spa

#新手都能好好琢磨出來strace -v -f -s 2048 -p [vsftpd服務的pid],一點一點分析出了問題的眉目。在這裏,這個命令我就不贅述,網上詳解不少。我如今着重說解決方案:很短,就幾步而已調試

nano /etc/passwd教程

#找到nobody用戶把65534:65534改爲65534:3003而後存盤,就完事了。記得把

nano /etc/ftpusers

#裏面的「#root」註釋掉才能使用root用戶,而後爲了方便上傳刪寫文件

nano /etc/vsftpd.conf

#裏面最後加一行「write_enable=YES」,可是刪寫文件仍然老是被拒絕。即便重啓也無效。我後來按照百度教程,還不得不在/root下建立了一個目錄pub目錄改屬性

chmod 777 /root/pub

#才成功的能開始使用上傳和刪除操做,而後即便把pub刪了,重啓等等,均可以正常刪寫服務器內容了。彷彿只要在vsftpd.conf裏寫write_enable=YES一行就完事,可是一開始確實是被拒的。不知爲何。

#在此次探究中,我發現nobody用戶纔是vsftpd發生500 oops socket的關鍵之所在,而並非以前網上部分教程所提到的vsftpd沒有子進程建立權限,事實上根據下面的調試命令,我發現vsftpd是徹底具有子進程建立權限的而建立出的nobody用戶子進程卻不具有網絡使用權限,因此我纔想到了修改nobody的所屬組,而後就完美解決了。

#這個命令就是發現上面緣由的關鍵strace -v -f -s 2048 -p [vsftpd服務的pid]有興趣鼓搗的能夠試試。可是輸出的內容很長,建議粘貼到word中查看。

相關文章
相關標籤/搜索