第十一章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