Vsftpd
1.什麼是FTP?
FileTransfer Protocol 基于C/S結構的檔案傳輸協定
2.使用什麼協定?什麼端口?
TCP 21 建立指令鍊路
TCP 20 在主動傳輸模式下伺服器使用20端口向用戶端建立資料鍊路
3.FTP工作原理
--------- Client Server--------------
1031 21
1032 20
①用戶端向伺服器發出連接配接請求,同時用戶端系統動态地打開一個大于1024的端口等候伺服器連接配接(比如1031端口)
②若FTP伺服器在端口21偵聽到該請求,則會在用戶端1031端口和伺服器的21端口之間建立一個FTP會話連接配接
③當需要傳輸資料時,FTP用戶端動态地打開一個大于1024的端口(比如1032端口)連接配接到伺服器的20端口,并在這兩個端口之間進行資料的傳輸。當資料傳輸完畢後,這兩個端口會自動關閉
④當FTP用戶端斷開與FTP伺服器的連接配接時,用戶端上動态配置設定的端口将自動釋放
4.FTP工作模式
主動傳輸模式(Active FTP):
在主動傳輸模式下,FTP用戶端随機開啟一個大于1024的端口N(1025)向伺服器的21号端口發起連接配接,然後開放N+1号端口(1026)進行監聽,并向伺服器發送PORT 1026指令。伺服器接收到指令後,會用其本地的FTP資料端口(通常20)來連接配接用戶端指定的端口1026,進行資料傳輸。
被動傳輸模式(Passive FTP):
在被動傳輸模式下,FTP用戶端随機開啟一個大于1024的端口N(1025)向伺服器的21号端口發起連接配接,同時會開啟N+1号端口(1026),然後向伺服器發送PASV 指令。通知伺服器自己處于被動模式。伺服器收到指令後,會開放一個大于1024端口(1521)進行監聽,然後用PORT 指令通知用戶端,自己的資料端口是1521.用戶端收到指令後會通過1026号端口連接配接伺服器的1521,然後在兩個端口之間進行資料傳輸。
5.FTP傳輸模式
二進制模式:圖檔和執行檔案壓縮檔案
文本模式:CGI腳本和普通HTML檔案
目前伺服器上面和FTP用戶端軟體能夠自動識别檔案類型并選擇相應的傳輸方式
6.FTP賬戶類型
匿名使用者:ftp 或 anonymous
本地使用者:Linux伺服器本機的系統使用者賬号
虛拟使用者:賬号資訊存放在獨立的檔案或資料庫内
7.預設安裝vsftpd特點
匿名使用者與本地使用者都可以登入
匿名使用者登入到/var/ftp,隻能下載下傳不能上傳
本地使用者登入到本地使用者的家目錄,可以上傳和下載下傳
8.通路ftp伺服器方法
常見的網頁浏覽器(Firefox、IE等)
常見的下載下傳工具(wget、curl等)
專用的FTP管理工具(Filezilla、CuteFTP、WinSCP等)
ftp和lftp指令
get 下載下傳
put 上傳
mget 下載下傳多個,支援通配符
mput 上傳多個,支援通配符
!cmd 執行外面指令
lcd 切換外面路徑
9.通路FTP位址表示方法
匿名通路
ftp://192.168.4.5
ftp://192.168.4.5/需下載下傳檔案
使用者驗證通路
ftp://user:[email protected]
ftp://user:[email protected]/需下載下傳檔案
URL,統一資源定位器(網址)
Unified Resource Locator
協定://使用者名:密碼@伺服器位址:端口/目錄路徑/檔案名
10.RHEL6自帶的ftp軟體包?主配置檔案是?服務啟動腳本?
vsftpd
/etc/vsftpd/vsftpd.conf
重點字段意義:anonymous_enable=YES #開啟匿名共享
local_enable=YES #開啟本地賬戶共享
write_enable=YES #本地賬戶是否可寫
anon_upload_enable=YES #匿名使用者是否可以上傳檔案
anon_mkdir_write_enable=YES #匿名可建立目錄
anon_other_write_enable=YES #匿名删除,重命名
chroot_local_user #禁锢本地賬戶
anon_root=/abc #定義匿名使用者根目錄為/abc目錄
anon_umask=022 #定義匿名使用者上傳的掩碼值
local_root= #本地使用者的FTP根目錄
local_umask= #本地使用者上傳的權限掩碼
11.配置檔案:/etc/vsftpd/vsftpd.conf(主配置)
/etc/vsftpd/ftpusers(黑名單)
/etc/vsftpd/user_list(黑/白名單)
在字段userlist_enable=YES或NO //是否開啟user_list檔案
在字段userlist_deny=NO時user_list是白名單
12.其他常用選項
listen_port=端口号
listen_address=IP位址
download_enable:是否允許下載下傳
13.預設的vsftpd服務:
允許匿名FTP通路,隻能下載下傳不能上傳 【/var/ftp/】
允許本地使用者FTP通路,既可以下載下傳,也可以上傳 【~使用者名】
14.并發連接配接和速度:
max_clients=最大并發連接配接數
max_per_ip=同一IP位址的最大并發連接配接數
anon_max_rate=匿名使用者通路速度(位元組/秒)
local_max_rate=本地使用者通路速度(位元組/秒)
/usr/share/doc/
Samba
1.什麼是Samba?
共享檔案與列印機服務
smbd 管理Samba主機共享的目錄,檔案與列印機等。使用TCP 139 445進行可靠的資料傳遞
nmbd 管理工作組、NetBIOS Name等解析,使用UDP 137 138來負責名稱解析的任務
3.Samba賬戶特點:必須為系統存在的賬戶,密碼為samba密碼。
添加共享賬号:
useradd 使用者名
pdbedit -a 使用者名
pdbedit -L 檢視使用者
pdbedit -X 删除使用者
Smbpasswd 使用者名 重置samba密碼
4.Samba主配置檔案是?服務啟動腳本?
/etc/samba/smb.conf
/etc/init.d/smb
5.常見的選項作用?
security
share 不需要密碼可以通路
user 需要密碼(預設)
[共享名]
path = 共享檔案夾的路徑
comment = 共享檔案夾的描述
read only = yes //預設的權限為隻讀
public = no //不對所有人開放 =:writable=0
valid users = 使用者1, 使用者2, 。。。。 //指定合法使用者
write list = 使用者1 //使用者hunter可讀可寫
Browseable :是否可見 no為隐藏共享
hosts allow = 192.168.4.205 //可以設定允許通路的客戶機位址
6.通路Samba伺服器的方法
Windows:\\伺服器的ip
Linux:
smbclient -L 伺服器ip
smbclient -U 賬戶名 //伺服器ip/共享名
安全着想為samba起别名
為samba使用者起别名檔案 /etc/samba/smbusers 中寫 samba使用者名 = haha xixi lele
把别名檔案路徑寫到samba配置檔案/etc/samba/smb.conf中的[global]下格式如下:
username map =别名檔案路徑
mount挂載
mount -t cifs -o username=samba使用者名,password=密碼 //192.168.4.5/共享檔案名 /mnt
設定開機自動挂載
//192.168.4.5/tools /mnt cifs defaults,username=nick,password=123456 0 0
/etc/fstab
//192.168.4.5/tools /mnt/smbdir1 cifs