26
網網網網網網網 Linux Server Andres, Wen-Yuan Liao Department of Computer Science and Enginee ring De Lin Institute of Technology [email protected] http://www.cse.dlit.edu.tw/~andres

網路伺服器應用 Linux Server

  • Upload
    wan

  • View
    60

  • Download
    0

Embed Size (px)

DESCRIPTION

網路伺服器應用 Linux Server. Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology [email protected] http://www.cse.dlit.edu.tw/~andres. Chapter 19 簡易 SAMBA 伺服器設定. 19.1 原理. Unix Like 的機器 Network File System, NFS Microsoft - PowerPoint PPT Presentation

Citation preview

Page 1: 網路伺服器應用 Linux Server

網路伺服器應用Linux Server

Andres, Wen-Yuan Liao

Department of Computer Science and EngineeringDe Lin Institute of Technology

[email protected]://www.cse.dlit.edu.tw/~andres

Page 2: 網路伺服器應用 Linux Server

Chapter 19簡易 SAMBA 伺服器設定

Page 3: 網路伺服器應用 Linux Server

19.1 原理

Unix Like 的機器 – Network File System, NFS

Microsoft– Common Internet File System, CIFS

網路上的芳鄰 Unix 與 DOS

– Server Message Block (SMB) 檔案系統–

Page 4: 網路伺服器應用 Linux Server

SAMBA

分享檔案 印表機服務 提供使用者登入 SAMBA 主機時的身份認證 可以進行 Windows 網路上的主機名稱解析

(NetBIOS name) 可以進行裝置的分享

– Zip, CDROM...

Page 5: 網路伺服器應用 Linux Server

NetBIOS protocol

SAMBA 檔案系統架構在 NetBIOS– Network Basic Input/Output System 通訊協定 (Ne

tBIOS)– IBM 發展 – NetBIOS over TCP/IP

Page 6: 網路伺服器應用 Linux Server

連線模式

peer/peer – Workgroup model – 資源分享 – Windows 『網路上的芳鄰』的『工作群組』架構

domain model – 所有的帳號與密碼都放置在一部主控電腦 ( Primar

y Domain Controller, PDC )– 由 PDC 主機辨識後,才給予適當的使用權限

Page 7: 網路伺服器應用 Linux Server

19.2 套件安裝

Samba– SAMBA 的主要 daemon 檔案 ( smbd 及 nmbd )– SAMBA 的文件檔 ( document )– 其他與 SAMBA 相關的 logrotate 設定檔及開機預設選項檔

案 samba-common

– SAMBA 的主要設定檔 (smb.conf) – smb.conf 語法檢驗的測試程式 ( testparm )

samba-client– Linux 做為 SAMBA Client 端時,所需要的工具指令

Page 8: 網路伺服器應用 Linux Server

套件安裝

rpm -qa | grep samba samba-common-2.2.7a-8.9.0 redhat-config-samba-1.0.4-1 samba-2.2.7a-8.9.0 samba-client-2.2.7a-8.9.0

Page 9: 網路伺服器應用 Linux Server

19.3 Server 端的設定

SAMBA 的套件結構 – SAMBA 的設定檔

/etc/samba/smb.conf /etc/samba/lmhosts /etc/samba/smbpasswd

– SAMBA 的執行檔– SAMBA 的相關目錄

Page 10: 網路伺服器應用 Linux Server

SAMBA 的執行檔

smbd, nmbd testparm

– 查看一下 SAMBA 的所有設定參數與 smb.conf 的設定項目是否正確

smbpasswd– 建立 SAMBA 的密碼

smbclient– 查看別台電腦所分享出來的目錄與裝置時– 在自己的 SAMBA 主機上面,用來查看是否設定成功

smbmount

Page 11: 網路伺服器應用 Linux Server

SAMBA 的相關目錄

/usr/share/doc/samba– 技術手冊

/var/log/samba– 預設的登錄檔放置目錄

/usr/share/samba/codepages– 各個語言的支援格式 – codepage.950

Page 12: 網路伺服器應用 Linux Server

1. 設定流程

設定檔 smb.conf – 是否需要密碼、是否支援 PDC– 設定分享的目錄與該目錄的屬性

smbpasswd – 建立使用者的帳號與密碼

啟動 smb 服務– /etc/rc.d/init.d/samba restart

Page 13: 網路伺服器應用 Linux Server

/etc/samba/smb.conf

[global] – Workgroup: 工作群組– netbios name: 主機名稱– server string: 主機的說明– Security: 規定 SAMBA 主機的安全登入項目

share :不進行安全登入,即沒有設定帳號與密碼 user :設定主機的密碼檔作為登入的驗證檔案 domain : SAMBA 作為 PDC

– log file: 登錄檔放置的目錄所在喔

Page 14: 網路伺服器應用 Linux Server

Example

[global]    workgroup = 2cs31    server string = 2cs31 Linux Samba Server    netbios name  = 2cs31xxxxxxx    client code page = 950   log file = /var/log/samba/log.%m    max log size = 500    security = user    encrypt passwords = yes    smb passwd file = /etc/samba/smbpasswd    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

Page 15: 網路伺服器應用 Linux Server

SAMBA 的變數值 %S :取代目前的設定項目值

– [homes]   valid users = %S

valid users 是允許的登入者 設定為 %S 表示任何可登入的使用者都能夠登入 test 使用者登入之後, [homes] 就會自動的變成了 [test]

%m :代表 Client 端的 NetBIOS  主機名稱喔 %M :代表 Client 端的 Internet 主機名稱喔 %L :代表 SAMBA 主機的 NetBIOS 主機名稱 %H :代表使用者的家目錄 %U :代表目前登入的使用者的使用者名稱 %g :代表登入的使用者的群組名稱

Page 16: 網路伺服器應用 Linux Server

/etc/samba/smb.conf

[Directory]– comment :目錄的說明 – path : Linux 檔案系統裡面的目錄– read only :是否唯讀 – public :是否讓所有可以登入的使用者看到這個項目 – writable :是否可以寫入

如果 writable 跟 read only 互相抵觸!最後出現的設定值為主要的設定

– create mode – directory mode

Page 17: 網路伺服器應用 Linux Server

Example

[Webpage]    comment      = My Home Page    path         = /var/www/html    read only    = no    public       = yes    writable = yes    create mode = 0664    directory mode = 0775

Page 18: 網路伺服器應用 Linux Server

2. 沒有防備的 SAMBA 分享設定

工作群組 – workgroup=2cs31

Linux 主機 NetBIOS 名稱– netbios name=2cs31xxxxxxxx

安全設定為沒有防備– security =share

分享 /tmp 目錄

Page 19: 網路伺服器應用 Linux Server

smb.conf

[global]    workgroup = 2cs31    netbios name = 2cs31xxxxxxxx    server string = xxxxxxx’s SAMBA Server    client code page = 950 log file = /var/log/samba/log.%m    max log size = 0    security = share    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

[tmp]    comment = Temporary file space    path = /tmp   read only = no    public = yes

Page 20: 網路伺服器應用 Linux Server

測試 smb.conf 設定值與啟動 SAMBA

測試 smb.conf 設定值– Testparm

啟動 SAMBA– /etc/rc.d/init.d/smb restart – netstat -tlunp | grep ':13‘

如果有設定防火牆,一定要去察看防火牆的設定是否已經啟動了 137 ~ 139 的登入

Page 21: 網路伺服器應用 Linux Server

Client 端的測試

本機自我測試– smbclient -L //2cs31xxxxxxxx

留意 Linux 的檔案權限與 SAMBA 設定的權限關係– 是否能夠使用,得視登入 SAMBA 的該使用者對

於 Linux 的檔案系統是否有存取的權限

Page 22: 網路伺服器應用 Linux Server

3. 需要使用者登入的設定

工作群組 – workgroup=2cs31

Linux 主機 NetBIOS 名稱– netbios name=2cs31xxxxxxxx

安全設定為沒有防備– security =user

分享 home directory 分享目錄 /home/public 給所有使用者使用

Page 23: 網路伺服器應用 Linux Server

smb.conf

[global] workgroup = 2cs31 netbios name = 2cs31xxxxxxxx server string = xxxxxxx’s SAMBA Server client code page = 950 log file = /var/log/samba/log.%m

max log size = 0 security = user encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd   socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SND

BUF=8192

Page 24: 網路伺服器應用 Linux Server

smb.conf (Cont.)

[homes]    comment = Home Directories    browseable = no    writable = yes    valid users = %S    create mode = 0664    directory mode = 0775 [public]    comment = Public Stuff    path = /home/public    public = yes    writable = yes

Page 25: 網路伺服器應用 Linux Server

設定使用者帳號與密碼

SAMBA 只是 Linux 底下的一套軟體,使用 SAMBA 來進行 Linux 檔案系統時,還是需要以 Linux 系統下的 UID 與 GID 為準則– 在 SAMBA 主機所提供能夠登入的帳號,必須要

在 /etc/passwd 裡面存在– 不是所有在 /etc/passwd 裡面的帳號都可以用來

登入 SAMBA 主機,必須要新增到 SAMBA 密碼設定檔裡面的帳號才可以使用 SAMBA 登入

smbpasswd 指令

Page 26: 網路伺服器應用 Linux Server

設定使用者帳號與密碼 (Cont.)

/etc/samba touch smbpasswd chown root:root smbpasswd; chmod 600 smb

passwd smbpasswd -a guest testparm /etc/rc.d/init.d/smb restart smbclient -L //127.0.0.1