天天看點

samba與nfs

一、共享

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

繼續閱讀