《linux就該這麼學》第十三節課:第11章和第12章,vsftpd服務與samba和nfs服務

第十一章linux

(借鑑請改動)數據庫

11.一、文件傳輸協議vim

        FTP文件穿數協議,端口20用於數據傳輸,21端口用於傳輸相關FTP命令windows

        ftp協議的兩種工做模式:安全

        主動模式:ftp向客戶端發起服務器

        被動模式(默認):等待客戶端發起dom

        yun   install   vsftpd    -y    安裝vsftpd服務,並 iptables   -F   清空防火牆測試

        vsftpd的住配置文件   /etc/vsftpd/vsftpd.conf  其中大部分是註釋ui

        把配置文件改名  vsftpd.conf_bak  而後用  grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf  過濾註釋,獲得的經常使用參數:加密

            

        listen=[YES|NO]                                        //是否以獨立運行的方式監聽服務

        listen_address=IP地址                               //設置要監聽的IP地址

        listen_port=21                                        //設置FTP服務的監聽端口

        download_enable=[YES|NO]                  // 是否容許下載文件

        userlist_enable=[YES|NO]                       //設置用戶列表爲「容許」仍是「禁止」操做

        userlist_deny=[YES|NO]                        //設置用戶列表爲「容許」仍是「禁止」操做

        max_clients=0                                       // 最大客戶端鏈接數,0爲不限制

        max_per_ip=0                                        // 同一IP地址的最大鏈接數,0爲不限制

        anonymous_enable=[YES|NO]                  //是否容許匿名用戶訪問

        anon_upload_enable=[YES|NO]               //是否容許匿名用戶上傳文件

        anon_umask=022                              // 匿名用戶上傳文件的umask值

        anon_root=/var/ftp                              // 匿名用戶的FTP根目錄

        anon_mkdir_write_enable=[YES|NO]     //是否容許匿名用戶建立目錄

        anon_other_write_enable=[YES|NO]       // 是否開放匿名用戶的其餘寫入權限(包括重命名、刪除等操做權限)

        anon_max_rate=0                              // 匿名用戶的最大傳輸速率(字節/秒),0爲不限制

        local_enable=[YES|NO]                            // 是否容許本地用戶登陸FTP

        local_umask=022                                      //本地用戶上傳文件的umask值

        local_root=/var/ftp                                    //本地用戶的FTP根目錄

        chroot_local_user=[YES|NO]                     //是否將用戶權限禁錮在FTP目錄,以確保安全

        local_max_rate=0                                        //本地用戶最大傳輸速率(字節/秒),0爲不限制

11.二、vsftpd服務程序

        匿名開放模式任何人均可以登陸,不安全

        本地用戶模式:經過服務器本地用戶登陸

        虛擬用戶模式:三種中最安全的認證方式,創建用戶數據庫,虛擬出來用戶登陸

        需先安裝:yum  install   ftp   -y

        匿名開放模式  (/var/ftp)

        一、修改配置文件中的部分參數:

             anonymous_enable=YES               //容許匿名訪問模式

             anon_umask=022                          //匿名用戶上傳文件的umask值

             anon_upload_enable=YES            // 容許匿名用戶上傳文件

             anon_mkdir_write_enable=YES    //容許匿名用戶建立目錄

             anon_other_write_enable=YES    //容許匿名用戶修改目錄名稱或刪除目錄

        二、修改目錄權限和selinux的域並重啓服務

            

        三、測試服務(ftp默認訪問的是/var/ftp目錄)

            

        本地用戶模式

        一、修改部分配置文件:

             anonymous_enable=NO               //禁止匿名訪問模式

             local_enable=YES                       //容許本地用戶模式

             write_enable=YES                       //設置可寫權限

             local_umask=022                        //本地用戶模式建立文件的umask值

             userlist_deny=YES                     // 啓用「禁止用戶名單」,名單文件爲ftpusers和user_list

             userlist_enable=YES                  // 開啓用戶做用名單文件功能

        二、修改selinux域並重啓服務

            setsebool  -p  ftpd_full_access=on

        三、本地用戶模式默認不容許root用戶登陸,如需登陸,須要把/etc/vsftpd/user_list和/etc/vsftpd/ftpusers中root用戶去掉(死亡筆記)

        虛擬用戶模式

        pam模塊:可插拔認證模塊。是一種認證機制,經過一些動態連接庫和統一的API把系統服務與認證方式分開,靈活的調整不一樣認證方式。

        一、建立用於認證的用戶數據庫文件,並加密與受權,刪除原文件

             [root@linuxprobe vsftpd]# vim vuser.list              //一行用戶名一行密碼交替
             zhangsan
             redhat
             lisi
             redhat

             db_load -T -t hash -f vuser.list vuser.db              //加密

             chmod  600  vuser.db

             rm  -rf  vuser.db

        二、把建立的虛擬用戶映射到本地用戶

            useradd -d /var/ftproot -s /sbin/nologin virtual      //用於映射虛擬用戶

            chmod -Rf 755  /var/ftproot

        三、創建用於認證的pam模塊

             vim /etc/pam.d/vsftpd.vu

             auth required pam_userdb.so db=/etc/vsftpd/vuser

             account required pam_userdb.so db=/etc/vsftpd/vuser

        四、寫入配置文件

            anonymous_enable=NO                           //禁止匿名開放模式

            local_enable=YES                                       //容許本地用戶模式

            guest_enable=YES                                   //開啓虛擬用戶模式

            guest_username=virtual                          // 指定虛擬用戶帳戶

            pam_service_name=vsftpd.vu                    // 指定PAM文件

            allow_writeable_chroot=YES                       // 容許對禁錮的FTP根目錄執行寫入操做,並且不拒絕用戶的登陸請求

        五、爲用戶設置權限並寫入配置文件

            vim  /etc/vsftpd/vusers_dir/zhangsan

            anon_upload_enable=YES

            anon_mkdir_write_enable=YES

            anon_other_write_enable=YES

            vim /etc/vsftpd/vsftpd.conf

            user_config_dir=/etc/vsftpd/vusers_dir

        六、設置selinux域並重啓服務

11.三、簡單文本傳輸協議

        yum  install  tftp-server  tftp   -y      //安裝tftp

        vim  /etc/xinetd.d/tftp   把其中的disable  項改爲yes

            

        防火牆添加端口:

            firewall-cmd --permanent --add-port=69/udp

            firewall-cmd --reload 

        tftp的根目錄爲  /var/lib/tftpboot  相關參數解釋:

            ?                           //幫助信息

            put                       //上傳文件

            get                      //下載文件

            verbose              //顯示詳細的處理信息

            status                 //顯示當前的狀態信息

            binary                 //使用二進制進行傳輸

            ascii                   //使用ASCII碼進行傳輸

            timeout              //設置重傳的超時時間

            quit                   //退出

        重啓服務:systemctl  restart  xinetd

第十二章

samba和nfs(nfs只能linux之間)總結:

Windows和linux:(smb服務)

         linux 服務端:安裝Samba,將共享目錄寫入/etc/samba/smb.conf而且設置權限、selinux、防火牆。而後pdbedit建立smb登入用戶,重啓服務。

        windows客戶端:開始搜索欄直接:\\192.168.10.10

linux  和  linux   :(smb服務)

        服務端:與上述同樣正常配置Samba服務便可

        linux客戶端:yum安裝cifs-utils並寫入認證文件auth.smb,而後寫入掛載文件/etc/fstab

        例如://192.168.10.10/database   /database   cifs   credentials=/root/auth.smb   0   0

nfs的linux與linux(只能linux):

        服務端:安裝nfs,把共享目錄寫入/etc/export,設置權限,selinux,防火牆,並重啓服務(rpc-bind和nfs-server)

        /etc/export的寫入格式:共享目錄路徑         容許訪問nfs客戶端(共享權限參數)

        客戶端:showmount   -e   查看服務端共享目錄,並掛載,使用mount   -t  文件類型掛載

詳細以下:

12.一、samba文件共享服務

        yum install  samba  -y    安裝Samba服務

        主配置文件  /etc/samba/smb.conf  中的參數解釋:

           [global] #全局參數。

           workgroup = MYGROUP               //#工做組名稱

           server string = Samba Server Version %v           //#服務器介紹信息,參數%v爲顯示SMB版本號

           log file = /var/log/samba/log.%m                       //#定義日誌文件的存放位置與名稱,參數%m爲來訪的主機名

           max log size = 50                                             //#定義日誌文件的最大容量爲50KB

           security = user                                                    //#安全驗證的方式,總共有4種

           #share:                                                         //來訪主機無需驗證口令;比較方便,但安全性不好

           #user:                                    //需驗證來訪主機提供的口令後才能夠訪問;提高了安全性

           #server:                             //使用獨立的遠程主機驗證來訪主機提供的口令(集中管理帳戶)

           #domain:                          //使用域控制器進行身份驗證

           passdb backend = tdbsam              // #定義用戶後臺的類型,共有3種

           #smbpasswd:                         //使用smbpasswd命令爲系統用戶設置Samba服務程序的密碼

           #tdbsam:                                //建立數據庫文件並使用pdbedit命令創建Samba服務程序的用戶

           #ldapsam:                              //基於LDAP服務進行帳戶驗證

           load printers = yes                         //#設置在Samba服務啓動時是否共享打印機設備

           cups options = raw                          //#打印機的選項

           [homes]                                        //#共享參數

           comment = Home Directories             //#描述信息

           browseable = no                                  //#指定共享信息是否在「網上鄰居」中可見

           writable = yes                                           // #定義是否能夠執行寫入操做,與「read only」相反

           [printers]                                     //#打印機共享參數

           comment = All Printers

           path = /var/spool/samba                     //#共享文件的實際路徑(重要)。

           browseable = no

           guest ok = no                                 // #是否全部人可見,等同於"public"參數。

           writable = no

           printable = yes

             

     (服務端配置)配置共享資源

        一、寫入配置文件而且創建smb用戶

            vim  /etc/samba/smb.conf

            [database]                          //共享名稱爲database

            comment = Do not arbitrarily modify the database file         //警告用戶不要隨意修改數據庫

            path = /home/database                 //共享目錄爲/home/database

            public = no                            //關閉「全部人可見」

             writable = yes                         // 容許寫入操做

            pdbedit   -a  -u  linuxprobe

        pdbedit   用於管理Samba用戶 。    pdbedit  【選項】 【帳戶】。

          -a   用戶名     // 創建Samba帳戶                            -x  用戶名        //刪除用戶名

          -L                  //列出帳戶列表                                 -Lv                   //列出帳戶詳細列表

        二、建立共享文件目錄/home/database   並受權和selinux的安全上下文和selinux域

        三、清空防火牆並重啓服務

    (客戶端)配置共享

        window端:直接在開始的搜索欄:\\192.168.10.10  並輸入用戶名密碼

        linux端:yum  install  cifs  -y ,寫認證文件並受權,建立掛載目錄,寫入/etc/fstab中,mount  -a掛載使用 

            vim auth.smb

            username=linuxprobe

            password=redhat

            domain=MYGROUP

            chmod -Rf 600 auth.smb

            vim /etc/fstab

            //192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0

 

複習:ftp的本地模式

預習:第十二章,第十三章  13.5

相關文章
相關標籤/搜索