linux 不能下載怎麼辦?
關於Linux下vsftp匿名用戶上傳和下載的設定
設定注意三部分,請一一仔細對照:
1、vsftpd.conf檔的配置(vi /etc/vsftpd/vsftpd.conf)
#允许匿名用户登录FTP anonymous_enable=YES #设置匿名用户的登录目录(如需要,需自己添加并修改) anon_root=/var/ftp/pub #打开匿名用户的上传权限 anon_upload_enable=YES #打开匿名用户创建目录的权限 anon_mkdir_write_enable=YES #打开匿名用户删除和重命名的权限(如需要,需自己添加) anon_other_write_enable=YES #匿名用户的掩码(如需要,需自己添加,含义:如umask是022,这时创建一个权限为666的文件,文件的实际权限为666-022=644) anon_umask=022
2、ftp目錄的權限設定
預設情況下,ftp的根目錄為/var /ftp,為了安全,這個目錄預設不允許設定為777權限,否則ftp將無法存取。但是我們要匿名上傳文件,需要「other」使用者的寫權限,正確的做法:
在/var/ftp中建立一個upload(名子自己起吧)資料夾,將個資料夾權限設定為777(視具體需要自己設),在upload這個資料夾中,匿名使用者可以上傳檔案、建立資料夾、刪除檔案等。
一般至此,便實現vsftpd匿名用戶的上傳下載了。如果還不行,就是下面的問題。
3、selinux的設定
SELinux(Security-Enhanced Linux) 是美國國家安全局(NAS)對於強制存取控制的實現,是 Linux上最傑出的新安全子系統。 NSA是在Linux社群的幫助下開發了一種存取控制體系,在這種存取控制體系的限制下,進程只能存取那些在他的任務中所需要檔案。 SELinux 預設安裝在 Fedora 和 Red Hat Enterprise Linux 上,也可以作為其他發行版上容易安裝的套件來獲得。
最簡單的辦法,關閉selinux
方法1:修改/etc/selinux/config檔案中的SELINUX="" 為 disabled ,然後重新啟動。
方法2:用指令setenforce 0,無需重新啟動。 (setenforce的格式:setenforce [ Enforcing | Permissive | 1 | 0 ])
方法3:在lilo或grub的啟動參數中增加:selinux=0,也可以關閉selinux。
使用getenforce查看目前selinux是否正在運行。
不關閉selinux,就要設定selinux的ftp權限。
1、使用getsebool -a | grep ftp查看ftp相關設定狀態,我們要將allow_ftpd_anon_write設為on。
2、使用setsebool -P 進行設定。例:setsebool -P allow_ftpd_anon_write=on。
或使用togglesebool進行bool值取反,例如togglesebool allow_ftpd_anon_write。
3、修改selinux安全上下文,先介紹兩個指令:
命令1、ls -Z ps -Z id -Z # 分别可以看到文件,进程和用户的SELinux属性 命令2、#chcon 改变SELinux安全上下文 chcon -u [user] 对象 -r [role] -t [type] -R 递归 --reference 源文件 目标文件 # 复制安全上下文
使用方法:
步驟1、ls -Zd /var/ftp/upload/ 通常會看到:
drwxr-xr-x ftp root system_u:object_r:public_content_t /var/ftp/upload/
步驟2、chcon -R -t public_content_rw_t /var/ftp/upload/
步驟3、ls -Zd /var/ftp/upload/ 如果看到下列資訊就OK了:
drwxr-xr-x ftp root system_u:object_r:public_content_rw_t /var/ftp /upload/
最後還是重啟下selinux和vsftpd吧,不重啟其實也沒關係。重新登入ftp上,應該就能解決問題了。
另,selinux的圖形介面 可由system-config-selinux指令進入。
推薦:《linux教學#》
以上是linux 不能下載怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!