1. 程式人生 > 其它 >python學習-Day48-MySQL

python學習-Day48-MySQL

前提條件:

1、確認server和client分別是哪兩臺主機:
server : rhel7.3
client : windows10
2、實現兩臺主機的網路互聯:
server: 192.168.100.10
ping 192.168.100.1(vmnet ip)
3、確認yum是否可用

[root@server ~]# yum clean all
[root@server ~]# yum repolist
先確認系統映象是否連入虛擬機器光碟機(cd/dvd)
[root@server ~]# mount /dev/cdrom /media/

server服務端配置

[root@server ~]# yum -y install samba*


順便建立一個標記檔案用於實驗的訪問,並修改許可權此標記檔案也可為自己需要訪問的檔案

[root@server ~]# mkdir -p /opt/samba
[root@server samba]# touch flag
[root@server samba]# chmod -R o+w /opt/samba

檢視Samba配置目錄

smb.conf -> Samba的主配置檔案
smb.conf.example -> Samba的示例檔案
[root@server samba]# cd /etc/samba/
[root@server samba]# ls
lmhosts  smb.conf  smb.conf.example

進行selinux設定,引數於示例檔案內

[root@server samba]# setsebool -P samba_domain_controller on
[root@server samba]# setsebool -P samba_enable_home_dirs on
[root@server samba]# chcon -t samba_share_t /opt/samba/
[root@server samba]# setsebool -P samba_export_all_rw on

編輯Samba的主配置檔案

[root@server opt]# vim /etc/samba/smb.conf
加入:
[common]
	comment =common directories	#對共享目錄的註釋、說明資訊
	path = /opt/samba		#Samba的共享目錄
	interfaces = 192.168.100.10/24	#提供服務的主機地址
	hosts allow = 192.168.100.	#允許訪問的主機或者網段
	browseable = yes		#該共享目錄對客戶機是否可見
	valid users = luna,tom,jeccy	#可訪問的使用者名稱
	write list = luna		#是否具有可寫許可權
smb.conf檔案的配置內容的含義:
[global]:全域性設定
[homes]:使用者目錄共享設定
[printers]:印表機共享設定
[common]:自定義名稱的共享目錄設定

workgroup:所在工作組名稱
security:安全級別,可用值為:share、user、server、domain
passwd backend:設定共享賬戶檔案的型別

注意:Samba服務設定的讀取、寫入許可權,優先順序要低於檔案系統中設定的許可權

檢測Samba配置檔案格式是否正確

[root@server ~]# testparm

建立Samba使用者(前提:必須是系統存在的使用者)

[root@server ~]# useradd luna	#先建立系統使用者
[root@server ~]# useradd tom
[root@server ~]# useradd jeccy
[root@server ~]# passwd luna
[root@server ~]# passwd tom
[root@server ~]# passwd jeccy
[root@server ~]# smbpasswd -a luna	#再建立為Samba使用者
[root@server ~]# smbpasswd -a tom
[root@server ~]# smbpasswd -a jeccy
[root@server ~]# pdbedit -L 		#檢視所有samba使用者

啟動samba服務並設定為開機自啟

[root@server ~]# systemctl restart smb
[root@server ~]# systemctl restart nmb
[root@server ~]# systemctl enable smb
[root@server ~]# systemctl enable nmb

檢視埠

[root@server ~]# netstat -pant

關於防火牆

如果要進行samba服務訪問,則需要關閉防火牆才可進行訪問;
命令為: systemctl stop firewalld  (關閉防火牆並不安全)
檢視防火牆狀態命令為: systemctl status firewalld
開啟防火牆命令為: systemctl start firewalld
如果不想關閉防火牆服務,可使用firewall-cmd命令新增規則放行服務

Client服務端配置

Windows作client:

CIFS特點:windows會自動記錄上次訪問的使用者,所以第一次訪問的使用者,下一次仍舊預設使用該使用者訪問。

解決使用者切換的方法:
進入cmd,輸入net use * /del命令,等待若干分鐘後,即可切換其他使用者登入Samba伺服器。

Linux作client:

(1)單使用者訪問:

方法一:使用Samba的Linux客戶端軟體訪問

[root@client ~]yum -y install samba-client
[root@client ~]smbclient -U tom //192.168.100.10/common
或
[root@client ~]smbclient  //192.168.100.10/common -U barnet%密碼
smb: \> mkdir abc	#測試tom寫許可權
smb: \> ls
smb: \>
C# 複製 全屏

方法二:使用掛載方式訪問

[root@client ~]mount -t cifs -o username=tom,password=000000 //192.168.100.10/common /mnt
				#-t格式:以cifs格式掛載(Samba預設的檔案系統型別),-o選項:samba使用者名稱和密碼
[root@client ~]cd /mnt
[root@client mnt]ls
[root@client mnt]touch abc	#測試tom寫許可權
touch: cannot touch ‘abc’: Permission denied

(2)多使用者訪問

[root@client ~]yum -y install samba-client cifs-utils
[root@client ~]mkdir -p /mnt/multi
[root@client ~]vim /etc/fstab
於末行新增://192.168.100.10/common	/mnt/multi      cifs    username=tom,password=000000,multiuser,sec=ntlmssp      0  0
[root@client ~]mount -a		#先使用tom獲取common的讀許可權,注意:如果這步做掉了,後面的luna就獲取不到common內容
[root@client ~]cd /mnt/multi
[root@client multi]ls
[root@client multi]touch abc	#測試tom寫許可權
touch: cannot touch ‘abc’: Permission denied
[root@client ~]su - luna(創於client的使用者)
[luna@client ~]cifscreds add -u luna(server的使用者) server	#使用luna登入並臨時獲取寫許可權
[luna@client ~]cd /mnt/multi
[luna@client multi]touch abc
[luna@client multi]ls
abc
如果創不成看看server的共享檔案許可權 可能samba需要給o+w許可權