一、共享
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.安裝Samba共享
yum -y install samba
2.編輯配置文件
1)useradd -s /sbin/nologin hehe
2)pdbedit -a -u hehe //將系統用戶hehe轉換爲Samba共享用戶並設置密碼
3)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)
# 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
[hehe] //共享名
comment = He is He //描述信息
path = /data //共享目錄
browseable = yes //是否可瀏覽
guest ok = yes //是否可讀
writable = yes //是否可寫
4)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.驗證
1)使用hehe用戶登錄可讀取並寫入
四、Samba多用戶權限控制
1.安裝Samba共享
yum -y install samba
2.編輯配置文件
1)useradd -s /sbin/nologin hehe
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
:% 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 = 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
[hehe] //共享名
comment = He is He //描述信息
path = /data //共享目錄
browseable = yes //是否可瀏覽
guest ok = no //禁止所有人讀取
valid users = hehe,haha //定義允許讀取的用戶列表
writable = no //禁止所有人寫入
write list = hehe //定義允許寫入的用戶列表
4)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.驗證
1)使用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
[global]
username map = /etc/samba/smbusers
3)/etc/init.d/smb restart && /etc/init.d/nmb restart
2.訪問控制
vim /etc/samba/smb.conf
[global]
hosts allow = IP(網段、域名) //只允許指定IP訪問共享,其餘主機拒絕訪問
hosts deny = IP(網段、域名) //除指定IP拒絕訪問,其餘的全部允許
注:hosts allow與hosts deny不能同時使用
3.權限
vim /etc/samba/smb.conf
[global]
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]
name=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
5)mount -a //讀取/etc/fstab文件並重新加載
選項:
_netdev:當有網絡時自動掛載