Ubuntu14.04下安裝Samba

Samba簡介python

在90年代初,UNIX機器之間的網絡文件系統能夠基於NFS協議,Window機器之間的網絡文件系統能夠基於CIFS協議(目前的Windows已經內置了NFS支持)。Windows和UNIX機器之間沒法共享網絡文件系統,Samba所以出現。ios

Samba 是 SMB/CIFS 網絡協議的實現, 它做爲NFS的補充使得在 Linux 和 Windows 系統中進行文件共享、打印機共享更容易實現。Samba對Linux、DOS、Windows、Mac OS等系統提供客戶端支持。git

本文中的Samba主要指Samba4服務器軟件,它提供AD(活動目錄,Active Directory)、文件共享以及打印服務。它支持基於SMB/CIFS、DCE/RPC、LDAP等協議與客戶端通訊。github

服務器端安裝服務器

安裝必要的軟件網絡

Shellide

1ui

2spa

#安裝Samba4命令行

sudo apt-get install samba samba-common python-glade2 system-config-samba

提供一個匿名共享目錄給Windows客戶端訪問

Shell

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

#備份原配置文件

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

#建立共享目錄

sudo mkdir -p /var/samba/anonymous

 

sudo vi /etc/samba/smb.conf

#設置爲如下內容

[global]

#工做組名稱,和Windows客戶端的工做組保持一致

workgroup = GMEM

netbios name = amethystine

security = user

#把全部不能識別的用戶映射爲guest

map to guest = bad user

dns proxy = no

#方括號內是共享目錄的名字

[Anonymous]

path = /var/samba/anonymous

browsable =yes

writable = yes

guest ok = yes

read only = no

# 限定能訪問此共享目錄的IP地址

hosts allow = 10.0.0.0/255.0.0.0

 

#修改目錄權限

cd /var/samba

sudo chmod -R 0755 anonymous/

sudo chown -R nobody:nogroup anonymous/

 

#重啓服務

service samba restart

完成以上步驟後,在Windows資源管理器中輸入\\amethystine(若是域名解析沒有設置,能夠使用\\Ubuntu服務器的IP地址),便可看見一個目錄:Anonymous,能夠寫入文件。

設置一個須要身份驗證的共享目錄

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

#建立共享目錄

sudo mkdir -p /var/samba/secured

#建立共享目錄專用組和用戶

sudo addgroup smbgrp

sudo adduser smbuser -ingroup smbgrp

#根據提示輸入必要的用戶信息

 

#添加Samba用戶,根據提示設置密碼,例如smb

sudo smbpasswd -a smbuser

 

#在上節的smb.conf中增長下面一段內容:

[secured]

path = /var/samba/secured

valid users = @smbgrp

guest ok = no

writable = yes

browsable = yes

 

 

#修改目錄權限

cd /var/samba

sudo chmod -R 0770 secured/

sudo chown -R smbuser:smbgrp secured/

 

#重啓服務

service samba restart

完成上述設置後,便可使用smbuser來訪問secured目錄。

客戶端訪問

Windows客戶端

在資源管理器中能夠直接訪問,例如 \\server\Anonymous ,若是須要身份驗證,資源管理器會彈出對話框

Linux客戶端

能夠在文件管理器(例如nautilus)中輸入 smb://server/ 訪問

還能夠使用命令行:

Shell

1

2

3

4

# 命令格式:

smbclient //server/sharename -U username

# 舉例:

smbclient //zircon.local/Anonymous

訪問Windows網絡驅動器

使用Samba客戶端能夠直接在Linux中訪問Windows網絡驅動器(Network Driver),例如:smb://192.168.0.200/d$/ ,輸入合法的遠程機器用戶名、密碼便可。

掛載文件系統

現代Linux內核自帶cifs模塊(對於Ubuntu14.04之類的系統,你能夠須要到synaptic中搜索cifs-utils、mount.nfs並安裝),這是一個特殊的文件系統,用它能夠掛載Samba共享目錄:

Shell

1

2

3

4

5

6

7

8

9

10

# 命令格式:

mount -t cifs //server/sharename mountpoint

# 舉例:

sudo mkdir -p /nas/zircon/Anonymous

sudo chmod 777 /nas/zircon/Anonymous

sudo mount -t cifs //zircon.local/Anonymous /nas/zircon/Anonymous

# 指定用戶密碼

sudo mount -t cifs //10.0.0.3/tdj_p_w_picpaths /tmp/tudouji/p_w_picpaths -o username=alex,password=lavender

# 掛載Windows共享目錄爲讀寫,因爲Linux不理解Windows用戶和權限,Windows也不理解UNIX用戶,所以你須要指定uid、gid選項,才能保證可讀寫

sudo mount -t cifs //10.0.0.3/tdj_p_w_picpaths /tmp/tudouji/p_w_picpaths -o username=alex,password=lavender,rw,uid=alex,gid=alex

或者修改 /etc/fstab 以便在系統啓動時自動掛載:

Shell

1

2

3

4

5

6

# 格式:

//server/sharename mountpoint cifs user=user,pass=password 0 0

# 若是沒有在NAS上設置任何用戶,則:

//server/sharename mountpoint cifs guest,_netdev,uid=curusername 0 0

# 舉例

//zircon.local/Anonymous /nas/zircon/Anonymous cifs guest,_netdev,uid=pi 0 0

相關文章
相關標籤/搜索