linux系統不能下載怎麼辦?

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命令進入。