vsftp上傳553 Could not create file錯(cuò)誤解決
搭建一個(gè)ftp服務(wù)器,我使用ubuntu 10.04操作系統(tǒng),下載vsftpdy源代碼,
進(jìn)行了編譯,安裝,然后按照INSTALL文件,創(chuàng)建了用戶等操作。
因?yàn)闀r(shí)間比較緊,我采用匿名用戶,進(jìn)行文件的上傳測(cè)試。修改了/etc/vsftpd.conf文件,
將默認(rèn)注釋不讓匿名用戶上傳文件的注釋去掉,然后保存,然后殺死vsftpd進(jìn)程,然后重新運(yùn)行
$ sudo vsftpd &
進(jìn)行ftp服務(wù)器的啟動(dòng)。
使用一個(gè)客戶端,可以正常的連接,但是當(dāng)上傳文件時(shí),總是報(bào)553 Could not create file錯(cuò)誤信息。
我也是按照網(wǎng)上的做法,對(duì)/var/ftp目錄進(jìn)行權(quán)限設(shè)置,如果設(shè)置為chmod -R 777 /var/ftp
還會(huì)導(dǎo)致ftp服務(wù)器不能啟動(dòng),經(jīng)過(guò)摸索,終于找到了解決的方法。
首先在ftp的目錄中創(chuàng)建一個(gè)目錄,然后設(shè)置權(quán)限為777
$ sudo mkdir /var/ftp/write
$sudo chmod -R 777 /var/ftp/write
然后修改vsftp的配置文件/etc/vsftpd.conf文件
在最后添加上
local_root=/var/ftp
保存,然后殺死vsftpd進(jìn)程,然后重啟vsftpd服務(wù)器程序。
試試看,將文件上傳到write目錄,這個(gè)時(shí)候可以正常的上傳文件了。
加下來(lái)我們?cè)賮?lái)看一篇其他網(wǎng)友的解決方法:
首先,要看你是用什么用戶上傳了,如果是普通用戶的話:
1.要確定目標(biāo)文件夾有沒(méi)有讀寫(xiě)的權(quán)限,(當(dāng)然也要有執(zhí)行的權(quán)限,不然不能打開(kāi)文件夾)
2如果都有了,那就是selinux限制了,把selinux關(guān)掉就可以了。(setenforce 0)
如果是anonymous用戶的話:
和上面一樣,關(guān)掉selinux,再給予相應(yīng)的權(quán)限就可以解決
我這里要說(shuō)一種不關(guān)掉selinux的解決方法
先運(yùn)行g(shù)etsebool -a | grep ftp (查看selinux里有哪些關(guān)于ftp的)
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
接下來(lái)我們allow_ftpd_anon_write allow_ftpd_full_access 這兩個(gè)ON掉
setsebool -P allow_ftpd_anon_write on
setsebool -P allow_ftpd_full_access on
這樣子就OK了,如果出現(xiàn)
500 OOPS: vsftpd: refusing to run with writable anonymous root
500 OOPS: priv_sock_get_cmd
就是你把VSFTPD的根目錄給了777的權(quán)限了,把它改成755,然后再在這個(gè)目錄里建文件夾,可以給777的權(quán)限!
相關(guān)文章
Linux之CentOS7下如何關(guān)閉SELINUX
這篇文章主要介紹了Linux之CentOS7下如何關(guān)閉SELINUX問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02Linux下查看nginx apache mysql php的編譯參數(shù)
由于工作的需要,有時(shí)候需要在一臺(tái)不是你參與編譯的環(huán)境調(diào)試環(huán)境,這就需要知道nginx,apache,mysql,php的編譯參數(shù),以下小方法能快速讓你了解默認(rèn)的服務(wù)器里的編譯參數(shù)2014-03-03VScode Remote SSH通過(guò)遠(yuǎn)程編輯與調(diào)試代碼
這篇文章主要介紹了VScode Remote SSH通過(guò)遠(yuǎn)程編輯與調(diào)試代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05ubuntu中實(shí)現(xiàn)定時(shí)彈窗的提醒腳本
最近的項(xiàng)目是在ubuntu的環(huán)境下工作的,因?yàn)殚L(zhǎng)時(shí)間工作身體不適,所以想寫(xiě)個(gè)腳本定時(shí)提醒自己喝水,伸懶腰,這篇文章記錄了整個(gè)開(kāi)發(fā)的過(guò)程,有需要的朋友們可以來(lái)一起看看。2016-10-10linux防墻iptables詳細(xì)介紹、配置方法與案例
這篇文章主要介紹了linux防墻iptables詳細(xì)介紹、配置方法與案例,需要的朋友可以參考下2020-02-02詳解Linux LVM邏輯卷配置過(guò)程(創(chuàng)建,增加,減少,刪除,卸載)
這篇文章主要介紹了詳解Linux LVM邏輯卷配置過(guò)程(創(chuàng)建,增加,減少,刪除,卸載),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08詳解Linux進(jìn)程間通信——使用共享內(nèi)存
共享內(nèi)存是在兩個(gè)正在運(yùn)行的進(jìn)程之間共享和傳遞數(shù)據(jù)的一種非常有效的方式。這篇文章主要介紹了詳解Linux進(jìn)程間通信——使用共享內(nèi)存,有興趣的可以了解一下。2017-01-01