開發那邊更新速度若是比較快,天天會有無數的文件或者目錄交給運維更新上線,這樣比較麻煩,乾脆給他們搭FTP讓他們本身上傳修改,但有一問題,就是權限問題,公司五個站點有五個目錄,每一個人負責不一樣的站點,如何讓各自都不干擾別人,或者說不到別人的目錄搞「破壞」!下面解決這個問題!linux
一。檢查Linux中vsftpd的安裝狀況。web
就不囉嗦了安全
二。將系統中的SELinux關閉,而後從新啓動電腦(不關閉的話修改好標籤也能夠)服務器
關閉SELinux的方法:session
修改/etc/selinux/config文件中的SELINUX="" 爲 disabled ,而後重啓。運維
若是不想重啓系統,使用命令setenforce 0ide
注:spa
setenforce 1 設置SELinux 成爲enforcing模式rest
setenforce 0 設置SELinux 成爲permissive模式日誌
在lilo或者grub的啓動參數中增長:selinux=0,也能夠關閉selinux
setsebool ftpd_disable_trans 1
三。創建用戶和指定目錄
注意:若要爲目錄制定相應的權限,最好在指定ftp家目錄以前修改
而後將vsftpd.conf配置文件裏的local_umask的值修改成000就能夠了,生成目錄默認777,文件默認666
#useradd -d /var/www -s /sbin/nologin ftp3
#passwd ftp3
創建用戶ftp3,並指定其家目錄爲/var/www,禁止登錄
#useradd -d /var/web -s /sbin/nologin ftp4
#passwd ftp4
創建用戶ftp4,並指定其家目錄爲/var/web,禁止登錄
這樣ftp3和ftp4用戶就被指定到相應的文件夾下。
四。修改vsftpd.conf配置文件
將anonymous_enable改成NO,阻止匿名上傳
將chroot_list_enable和chroot_list_file的註釋去掉,阻止用戶訪問上級目錄
五。在/etc/vsftpd下創建chroot_list文件
創建完成後,在其中添加用戶ftp3,ftp4,(一行一個)使其只容許訪問指定目錄。
六。啓動或是重啓ftp服務。
#service vsftpd restart(start)
啓動成功後,就能夠訪問ftp服務了。
下面附vsftpd.conf的一些配置
1. 匿名服務器的鏈接(獨立的服務器)
在/etc/vsftpd/vsftpd.conf配置文件中添加以下幾項:
Anonymous_enable=yes (容許匿名登錄)
Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
Local_umask=022 (FTP上本地的文件權限,默認是077)
Connect_form_port_20=yes (啓用FTP數據端口的數據鏈接)*
Xferlog_enable=yes (激活上傳和下傳的日誌)
Xferlog_std_format=yes (使用標準的日誌格式)
Ftpd_banner=XXXXX (歡迎信息)
Pam_service_name=vsftpd (驗證方式)*
Listen=yes (獨立的VSFTPD服務器)*
功能:只能鏈接FTP服務器,不能上傳和下傳
注:其中全部和日誌歡迎信息相關連的都是可選項,打了星號的不管什麼賬戶都要添加,是屬於FTP的基本選項
2. 開啓匿名FTP服務器上傳權限
在配置文件中添加如下的信息便可:
Anon_upload_enable=yes (開放上傳權限)
Anon_mkdir_write_enable=yes (可建立目錄的同時能夠在此目錄中上傳文件)
Write_enable=yes (開放本地用戶寫的權限)
Anon_other_write_enable=yes (匿名賬號能夠有刪除的權限)
3. 開啓匿名服務器下傳的權限
在配置文件中添加以下信息便可:
Anon_world_readable_only=no
注:要注意文件夾的屬性,匿名賬戶是其它(other)用戶要開啓它的讀寫執行的權限
(R)讀—–下傳 (W)寫—-上傳 (X)執行—-若是不開FTP的目錄都進不去
4.普通用戶FTP服務器的鏈接(獨立服務器)
在配置文件中添加以下信息便可:
Local_enble=yes (本地賬戶可以登錄)
Write_enable=no (本地賬戶登錄後無權刪除和修改文件)
功能:能夠用本地賬戶登錄vsftpd服務器,有下載上傳的權限
注:在禁止匿名登錄的信息後匿名服務器照樣能夠登錄但不能夠上傳下傳
5. 用戶登錄限制進其它的目錄,只能進它的主目錄
設置全部的本地用戶都執行chroot
Chroot_local_user=yes (本地全部賬戶都只能在自家目錄)
設置指定用戶執行chroot
Chroot_list_enable=yes (文件中的名單能夠調用)
Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
注意:vsftpd.chroot_list 是沒有建立的須要本身添加,要想控制賬號就直接在文件中加賬號便可
6. 限制本地用戶訪問FTP
Userlist_enable=yes (用userlistlai 來限制用戶訪問)
Userlist_deny=no (名單中的人不容許訪問)
Userlist_file=/指定文件存放的路徑/ (文件放置的路徑)
注:開啓userlist_enable=yes匿名賬號不能登錄
7. 安全選項
Idle_session_timeout=600(秒) (用戶會話空閒後10分鐘)
Data_connection_timeout=120(秒) (將數據鏈接空閒2分鐘斷)
Accept_timeout=60(秒) (將客戶端空閒1分鐘後斷)
Connect_timeout=60(秒) (中斷1分鐘後又從新鏈接)
Local_max_rate=50000(bite) (本地用戶傳輸率50K)
Anon_max_rate=30000(bite) (匿名用戶傳輸率30K)
Pasv_min_port=50000 (將客戶端的數據鏈接端口改在
Pasv_max_port=60000 50000—60000之間)
Max_clients=200 (FTP的最大鏈接數)
Max_per_ip=4 (每IP的最大鏈接數)
Listen_port=5555 (從5555端口進行數據鏈接)
8. 查看誰登錄了FTP,並殺死它的進程
ps –xf |grep ftp
kill 進程號