一、共享
Windows共享:Windows鍵+R --> services.msc --> Computer、Server(CIFS協定,實作跨平台)、Workstation(SMB協定,實作共享)
Linux共享:Samba(CIFS、SMB)
協定:多方達成某種條款
Samba共享:smb:實作資料的共享及通路(TCP 139、445)、nmb:實作Netbios解析(DNS)、(TCP 137、138)
Samba通路方式:匿名、本地使用者、伺服器認證、域伺服器認證
二、部署Samba匿名通路
需配置靜态IP
1.安裝Samba共享
rm -rf /etc/yum.repos.d/* //删除系統中預設自帶官方YUM源
vim /etc/yum.repos.d/local.repo
[local] //倉庫名
name=local
baseurl=file:///mnt //軟體包存儲位置
enabled=1 //啟動該倉庫
gpgcheck=0 //不檢測公鑰資訊
yum clean all && yum repolist //清除所有yum緩存,并重新建立緩存
yum -y install samba
2.編輯配置檔案
vim /etc/samba/smb.conf
:% g/^$/d //删除文本中所有空行
:% g/^;/d //删除文本中以;開頭行
:% g/^#/d //删除文本中以#開頭行
[global]
workgroup = WORKGROUP //指定工作組名稱,需修改
server string = Samba Server Version %v //伺服器描述資訊
# logs split per machine
log file = /var/log/samba/log.%m //日志檔案的位置
# max 50KB per log file, then rotate
max log size = 50 //日志檔案最大值(預設為KB)
security = share //安全級别(share匿名通路、user本地使用者認證、server伺服器認證、domain域認證)
passdb backend = tdbsam //密碼認證檔案
# the login script name depends on the machine name
# the login script name depends on the unix user used
# disables profiles support by specifing an empty path
disable spoolss = yes //新增,禁用列印機共享
load printers = yes //預設共享列印機
cups options = raw //共享列印機的選項
#obtain list of printers automatically on SystemV
[hehe] //共享名
comment = He is He //描述資訊
path = /data //共享目錄
browseable = yes //是否可浏覽
guest ok = yes //是否可讀
writable = yes //是否可寫
6)mkdir /data && chmod -R o=rwx /data/ //給予共享目錄允許其它使用者擁有完全權限
3.啟動服務
/etc/init.d/smb restart
/etc/init.d/nmb restart
chkconfig --level 35 smb on
chkconfig --level 35 nmb on
4.通路
Windows系統
Windows+R鍵 --> 運作 --> \伺服器IP
Linux系統
安裝samba-client軟體包
yum -y install samba-client
2.檢視指定IP所有共享内容
smbclient -L 共享IP -U 使用者名 //如為匿名通路,使用者名為anonymous、密碼為空
3.通路共享IP下的所有内容
smbclient -U 使用者名 -P 密碼 //共享IP/共享名
smb: \> put 檔案 //将本地檔案上傳到共享目錄
smb: \> get 檔案 //從共享目錄下下載下傳指定内容到本地
smb: \> exit
4.mount指令臨時挂載共享到本地目錄
mount -o username=使用者名,password=密碼 //共享IP/共享名 /挂載目錄
5.mount指令永久挂載共享到本地目錄
1)vim /etc/fstab
//共享IP/共享名 /挂載目錄 cifs defaults,username=使用者名,password=密碼 0 0
2)mount -a
3)ls /挂載目錄
三、部署本地通路的Samba
1)useradd -s /sbin/nologin hehe
2)pdbedit -a -u hehe //将系統使用者hehe轉換為Samba共享使用者并設定密碼
3)vim /etc/samba/smb.conf
workgroup = WORKGROUP //指定工作組名稱,需修改
server string = Samba Server Version %v //伺服器描述資訊
# logs split per machine
log file = /var/log/samba/log.%m //日志檔案的位置
# max 50KB per log file, then rotate
max log size = 50 //日志檔案最大值(預設為KB)
# the login script name depends on the machine name
# the login script name depends on the unix user used
# disables profiles support by specifing an empty path
security = user //安全級别為user(使用本地使用者認證)
passdb backend = tdbsam //密碼認證檔案
disable spoolss = yes //新增,禁用列印機共享
load printers = yes //預設共享列印機
cups options = raw //共享列印機的選項
#obtain list of printers automatically on SystemV
4)mkdir /data && chmod -R o=rwx /data/ //給予共享目錄允許其它使用者擁有完全權限
4.驗證
1)使用hehe使用者登入可讀取并寫入
四、Samba多使用者權限控制
2)useradd -s /sbin/nologin haha
3)pdbedit -a -u hehe //将系統使用者hehe轉換為Samba共享使用者并設定密碼
4)pdbedit -a -u haha //将系統使用者haha轉換為Samba共享使用者并設定密碼
4)vim /etc/samba/smb.conf
workgroup = WORKGROUP //指定工作組名稱,需修改
server string = Samba Server Version %v //伺服器描述資訊
# logs split per machine
log file = /var/log/samba/log.%m //日志檔案的位置
# max 50KB per log file, then rotate
max log size = 50 //日志檔案最大值(預設為KB)
security = user //安全級别為user(使用本地使用者認證)
passdb backend = tdbsam //密碼認證檔案
# the login script name depends on the machine name
# the login script name depends on the unix user used
# disables profiles support by specifing an empty path
disable spoolss = yes //新增,禁用列印機共享
load printers = yes //預設共享列印機
cups options = raw //共享列印機的選項
#obtain list of printers automatically on SystemV
guest ok = no //禁止所有人讀取
valid users = hehe,haha //定義允許讀取的使用者清單
writable = no //禁止所有人寫入
write list = hehe //定義允許寫入的使用者清單
2)使用haha使用者登入隻可讀取
關于用戶端通路共享慢的解決方案
1.vim /etc/resolv.conf
nameserver 伺服器IP
2.用戶端将DNS指定為伺服器IP
五、Samba安全控制
1.别名
1)vim /etc/samba/smbusers
hehe = a b c
使用者名 = 别名(空格分割多個别名)
2)vim /etc/samba/smb.conf
username map = /etc/samba/smbusers
3)/etc/init.d/smb restart && /etc/init.d/nmb restart
2.通路控制
hosts allow = IP(網段、域名) //隻允許指定IP通路共享,其餘主機拒絕通路
hosts deny = IP(網段、域名) //除指定IP拒絕通路,其餘的全部允許
注:hosts allow與hosts deny不能同時使用
3.權限
create mask = 權限 //設定使用者上傳或建立檔案權限(建議将x權限取消)
directory mask = 權限 //設定使用者上傳或建立目錄的權限(建議為755)
Samba:實作Windows與Linux等之間的共享通路
一、NFS(Network File System)網絡檔案系統
1.與Samba對比
1)NFS配置簡單
2)NFS權限比較簡單
3)隻能用于Linux之間通路
4)資料明文傳輸
2.通過TCP的NFS協定實作共享
3.軟體包:nfs-utils、rpcbind(RPC,實作伺服器的内容映射到本地)
二、配置NFS
1.配置IP
1)rm -rf /etc/udev/rules.d/70-persistent-net.rules //删除存放網卡名稱的配置檔案
2)reboot
3)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.10
NETMASK=255.255.255.0
4)/etc/init.d/network restart
2.YUM安裝NFS軟體包
1)rm -rf /etc/yum.repos.d/* //删除自帶YUM源配置檔案
2)vim /etc/yum.repos.d/local.repo
[local]
baseurl=file:///mnt
gpgcheck=0
3)mount /dev/cdrom /mnt
4)yum -y install rpcbind nfs-utils
3.準備共享路徑
1)mkdir /data
2)touch /data/hehe
4.修改NFS檔案配置
1)vim /etc/exports
共享目錄 允許通路位址(選項)
/data *(rw,sync,no_root_squash)
選項:
rw:讀寫
ro:隻讀
sync:同步寫入
no_root_squash:用戶端使用root身份通路時保持原有權限
root_squash:用戶端使用root身份通路時,将使用nfsnobody使用者權限
注:如有多個允許的用戶端,需寫多行配置
5.啟動服務并設定為開機自啟
1)/etc/init.d/rpcbind start && chkconfig --level 35 rpcbind on
2)/etc/init.d/nfs start && chkconfig --level 35 nfs on
6.用戶端驗證
1)用戶端配置IP、并配置好YUM
2)yum -y install nfs-utils
3)mount 192.168.1.10:/data /media //将NFS伺服器中/data目錄挂載到本地/meida
4)vim /etc/fstab
192.168.1.10:/data /media nfs defaults,_netdev 0 0