您好,登錄后才能下訂單哦!
關于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 不能下載怎么辦的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。