馬哥教育第二十四ftp協議、vsftpd的高級應用、rpc概念及nfs的基本應用、samba及其基本應用

1、ftp協議及vsftpd的基本應用
         文件共享服務:
                 工作在應用層:ftp(file transfer protocol)
                          應用層協議:tcp, 
                 工作在內核:nfs
                 跨平臺:samba
           ftp工作在221號端口,傳輸數據:
                  命令連接:文件管理類命令,始終在線的連接
                  數據連接:數據傳輸,按需創建及關閉連接
   
            主動連接:由服務器創建連接
                    命令連接:
                            client用隨機端口發起連接請求到server 21,client會把使用端口告訴服務器端 
                    數據連接:
                             server用20號端口連接客戶端發起端口+1或+2連接客戶端
             被動連接:由客戶端創建連接
                     命令連接:
                               client用隨機端口連接server21號端口,並告訴客戶端請求數據會用哪個隨機端口。
                     數據連接:
                                clinent用隨機+1端口連接服務端已告知的隨機端口。
              ftp server:wu-ftpd、proftpd、puerftp、vsftpd、servu
              ftp client:ftp、lftp、wget、filezilla、gftp、flashfxp、cuteftp
               響應碼:
                       1xx:信息
                       2xx:成功類狀態
                       3xx:需要進一步提供補充類信息
                       4xx:客戶端錯誤信息
                       5xx:服務端錯誤信息
                 用戶認證:
                       虛擬用戶:僅用於訪問某特定服務中的資源
                              nsswitch:network server switch:名稱解析框架
                                      配置文件:/etc/nsswitch.conf
                                      模塊:/lib64/libnss*,/usr/lib64/libnss
                               pam:pluggable authentication module
                                       配置文件:/etc/pam.conf,/etc/pam.d/*
                                       模塊:/lib64/security/
                  支持系統用戶:
                  支持匿名用戶:
                  centos自帶的是vsftp
                          yum -y install vsftpd
                          rpm -ql vsftpd
                                 用戶認證配置文件 /etc/pam.d/vsftpd
                                 啓動服務腳本:/etc/rc.d/init.d/vsftpd
                                 日誌滾動:/etc/logrotate.d/vsftpd
                                  配置文件目錄:/etc/vsftpd
                                            主配置文件:/etc/vsftpd/vsftpd.conf
                                  主應用程序:/usr/sbin/vsftpd
                                  匿名用戶共享資源位置:/var/ftp,匿名用戶:yum install finger                    
                                  系統用戶登錄ftp訪問資源位置是用戶家目錄
                                  虛擬用戶通過ftp訪問資源的位置映射爲系統用戶家目錄   

                  客戶端安裝:yum install ftp或者在瀏覽其中輸入ftp://192.168.146.138
                           vim /etc/vsftpd/vsftpd.conf 
                                     匿名用戶配置:      
                                                    是否支持匿名用戶登錄:anonymous_enable=YES 
                                                    是否支持匿名用戶上傳: #anon_upload_enable=YES
                                                    是否支持匿名用戶創建目錄:anon_mkdir_write_enable=YES
                                                    是否支持匿名用戶刪除目錄:anon_ohter_write_enable=YES
                                      系統用戶配置:
                                                     是否支持本地用戶:local_enable=YES
                                                     系統用戶寫權限:write_enable=YES
                                                     禁錮系統用戶只能在自己家目錄 :#chroot_local_user=YES         
                                                     禁錮指定用戶在其家目錄中:#chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list                                

 2、vsftpd的高級應用
                    vim /etc/vsftpd/vsftpd.conf        
                           系統用戶配置:    
                                       在ftp任何目錄下創建.message文件,當用戶進入該目錄時顯示.message中內容dirmessage_enable=YES
                                       是否啓用傳輸日誌:xferlog_enable=YES     
                                       指定日誌文件位置:#xferlog_file=/var/log/xferlog
                                       修改上傳用戶:#chown_uploads=YES
                                       指定修改上傳用戶:#chown_username=whoever      
                                       設定用戶超時時長:#idle_session_timeout=600
                                       數據連接超時時長:#data_connection_timeout=120         
                                       登錄ftp時顯示的信息:#ftpd_banner=Welcome to blah FTP service.
                                       配置文件在:/etc/pam.d/vsftpdpam_service_name=vsftpd   
                                       (是否啓用用戶登錄列表文件,默認配置文件/etc/vsftpd/user_list(手動創建):userlist_enable=YES
                                       是否啓用/etc/vsftpd/user_list列表文件:userlist_deny=yes|no )                                         
                                       tcp_wrappers=YES          
                                        最大併發連接數:max_clients
                                        每個IP可同時發起的併發請求數:max_per_ip
                                         本地用戶最大的傳輸速率:local_max_rate

           虛擬用戶:
                   所有虛擬用戶會被統一映射爲一個指定系統賬號,訪問共享位置爲此賬號家目錄。各虛擬用戶被賦予不同的訪問權限。通過參數進行指定
                   虛擬用戶賬號的存儲方式:
                             編輯文件:
                                    奇數行爲用戶名,偶數行爲密碼。此文件需要被編譯爲hash格式:
                               關係型數據庫中的表:
                                      即時查詢數據庫完成用戶認證:
                                       pmy_mysql
       
        lftp:lftp -u username ip
                 -c:支持斷點續傳
                                                           

3、rpc概念及nfs的基本應用
          nfs:network file system
                 傳統意義上,文件系統在內核中實現
       最常見的文件系統調用:read()、open()、write()、close()
      
       rpc(remote procedure call protocol)遠程過程系統調用
              rpc調用步驟。客戶端應用程序在運行時發起一個系統調用,通過rpc協議借用tcp/ip發送給服務端主機,服務端接收到某個函數請求和參數,發起本地服務,調用本地實現函數或者過程,並把結果返回給本地進程,本地進程通過rpc協議,構建報文後相應給客戶端。

      NIS: network infomating system
             身份認證不在本地驗證。驗證信息都以明文方式傳輸,

      nfs:基於ip認證,監聽在2049端口,服務器端需要啓動nfsd、mountd、idmapd,mountd爲半隨機端口,所以必須監聽rpc,查看111端口是否監聽。rpcinfo -p:查看啓動狀態
               nfs安裝包:nfs-utils ,service nfs start 。
               nfs主配置文件在/etc/exports,每一行一個文件系統例如:/opt/data  192.168.146.140(rw)   192.168.146.139(ro)
                      客戶端默認選項爲只讀、異步、secure
                            secure: 使用 1024 以下的 TCP/IP 端口實現 NFS 的連接。如果端口不夠用時需關閉,insecure 可以禁用這個選項。 
                            rw:讀寫
                            async:異步
                            no_wdelay:
                            nohide: 
                            no_subtree_check:
                            no_auth_nlm:
                            mp (mountpoint=path):
                            fsid=num:  
                查看NFS服務器端共享的文件系統:
                            showmount -e  192.168.146.138     
                掛載文件系統:
                           mount -t nfs 192.168.146.138:/opt/data  /mnt

                nfs映射用戶選項:
                           root_squash:當客戶端在用root登錄時,服務端將映射爲nfsnobody用戶,默認開啓
                           no_root_squash:不映射root用戶,
                           all_squash:所有用戶映射
                           anonuid 和 anongid:映射爲指定用戶和組

                不用重啓服務,讀取/etc/export。
                          exportfs -ar:重新導出所有文件系統
                                         -au:關閉導出所有文件系統
                                        -u FS:指定關閉導出的文件系統

                開機自動掛載nfs: 
                        192.168.146.138:/opt/data  /mnt  nfs  defaults,_netdev  0 0
                             _netdev,指明爲網絡掛載系統,指定時間內開機掛載無法找到會放棄掛載,系統可正常運行。
             
               提高性能:
                     rsize 是服務器讀取字節數。wsize 是寫入到服務器字節數。默認1024,調整該值如8192,可以提高傳輸速度。
               博客作業:2臺web服務器,提供相同的訪問頁面,連接同一個數據庫mariadb和nfs。

4、samba及其基本應用
            smb:service message block(137/udp, 138/udp, 139/tcp, 445/tcp)
            跨平臺工作文件系統:samba
            yum install samba-client:客戶端工具
                            smbclient -L 192.168.18.5 -U administrator 客戶端獲取服務器共享文件夾。
                            smbclient //192.168.18.5/scan -U administrator:訪問服務端共享文件夾。help查看使用命令。
            客戶端掛載Windows服務端共享目錄:
                           mount -t cifs //192.168.18.5/scan /mnt -o username=administrator,password=123456 

            yum install samba:服務端工具
                    服務腳本:
                           /etc/rc.d/init.d/nmb
                           /etc/rc.d/init.d/smb
                    主配置文件
                           /etc/samba/smb.conf
                    samba用戶:
                            賬號都爲系統用戶
                            密碼爲samba自行維護密碼
                             將系統用戶添加爲samba用戶:sambapasswd

                     啓動服務:
                             service nmb start
                             service smb start
                     確定(137/udp, 138/udp, 139/tcp, 445/tcp)端口已處於監聽狀態
                     編輯(/etc/samba/smb.conf)主配置文件中的工作組
                               workgroup = WORKGROUP 
                     重啓服務:service smb restart && service nmb restart 
                     添加系統用戶爲smb用戶:smbpasswd -a xj      
                                -a:添加系統用戶爲smb用戶
                                -d: 禁用指定用戶
                                -e:啓用指定用戶
                                -x:刪除用戶   
                      自定義共享,編輯主配置文件
                                [file]:共享文件名
                                path =/opt/file:共享文件夾
                                comment = :說明信息
                                guest ok = {yes|no}:是否匿名訪問
                                public = {yes|no}:是否公開
                                writable = {yes|no}:寫權限
                                read only = {yes|no}:只讀
                                write list = +GROUP_NAME:指定可訪問用戶或組    
                     測試配置文件是否有語法錯誤,以及顯示最終生效的配置:
                               # testparm
        注意:共享目錄時確定登錄用戶對該目錄有相應權限,如果沒有用setfacl設定,不要修改原有屬主和屬組。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章