您好,登錄后才能下訂單哦!
搭建一個(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)過摸索,終于找到了解決的方法。
首先在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í)候可以正常的上傳文件了。
加下來我們?cè)賮砜匆黄渌W(wǎng)友的解決方法:
首先,要看你是用什么用戶上傳了,如果是普通用戶的話:
1.要確定目標(biāo)文件夾有沒有讀寫的權(quán)限,(當(dāng)然也要有執(zhí)行的權(quán)限,不然不能打開文件夾)
2如果都有了,那就是selinux限制了,把selinux關(guān)掉就可以了。(setenforce 0)
如果是anonymous用戶的話:
和上面一樣,關(guān)掉selinux,再給予相應(yīng)的權(quán)限就可以解決
我這里要說一種不關(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
接下來我們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)限!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。