安裝 Samba 伺服器 *
Samba 這個套件的功用,可以讓你把 Linux 伺服器變成 Windows 裡的「網路上的芳鄰」中的一台電腦,提供檔案伺服器的服務,即使在沒有網域管理(Domain)的區域網路環境中,也可以提供比 Windows 網路上的芳鄰更多的權限控管。
本教學只介紹兩種常用的配置方式:
安裝好 Samba 套件之後,就可以開始進行設定了。
安裝 Samba
apt-get install samba
service smb start
service smb reload
開放式的設定
開放式的意思,就是不用任何身份驗證,就可以存取提供 Samba 服務的伺服器。以下的範例,是設定區域網路裡的任何用戶都可存取伺服器,並分享 [/tmp] 裡的檔案:
[global] #欲加入的群組名稱 workgroup = WORKGROUP #在「網路上的芳鄰」顯示的電腦名稱,如果不設定,就會以目前的 HostName 去掉網域名稱顯示。 netbios name = FileServer #伺服器的註解 server string = Samba 檔案伺服器 #設定哪些電腦可以存取伺服器(以空白隔開) hosts allow = 192.168.1.0/255.255.255.0 127.0.0.1 #顯示繁體中文 client code page = 950 #身份驗證的方式 security = share #分享 [/tmp] [tmp] path = /tmp comment = 檔案暫存區 public = yes writable = yes create mode = 0666 directory mode = 0777
service smb restart
需要身份驗證的設定
如果你希望用戶要連到伺服器時,必須先輸入帳號、密碼才可以進入,並且可以存取自己的家目錄及 [/tmp],請依照下列設定:
[global] #欲加入的群組名稱 workgroup = WORKGROUP #在「網路上的芳鄰」顯示的電腦名稱,如果不設定,就會以目前的 HostName 去掉網域名稱顯示。 netbios name = FileServer #伺服器的註解 server string = Samba 檔案伺服器 #設定哪些電腦可以存取伺服器(以空白隔開) hosts allow = 192.168.1.0/255.255.255.0 127.0.0.1 #顯示繁體中文 client code page = 950 #身份驗證的方式 security = user #將密碼加密傳輸 encrypt passwords = yes #指定密碼檔位置 smb passwd file = /etc/samba/smbpasswd #讓用戶可以存取自己的家目錄 [homes] comment = 個人資料夾 public = no browseable = no valid users = %S writable = yes create mode = 0600 directory mode = 0700 #分享 [/tmp] [tmp] path = /tmp comment = 檔案暫存區 public = no writable = yes create mode = 0666 directory mode = 0777
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd chmod 600 /etc/samba/smbpasswd chown root.root /etc/samba/smbpasswd
service smb restart
smbpasswd UserName
其它有用的參數
以下介紹其它有用的參數,這些參數必須放在宣告的分享資源的區段下:
Samba 的變數
新增 Samba 用戶
關於 Samba 上的用戶帳號,有一些規則要說明:
因此,如果你要新增 Samba 用戶,你就必須先在 Linux 系統增加一個本機用戶,新增本機用戶之後,再輸入下列指令將用戶的帳號及密碼加入至 Samba 的密碼檔:
smbpasswd -a UserName
以後如果只是要變更該用戶的密碼,只要輸入:
smbpasswd UserName
用戶自行變更密碼
原本 Samba 有提供一個 Swat 套件,就是 Samba 的網頁管理介面,不過,我覺得似乎不太夠用(給管理者用還可以)。如果我希望用戶可以自行變更 Linux 系統的密碼,並同步變更 Samba 的密碼,那就要試試 ChangePassword 套件:
cd /tmp wget http://www.vixual.net/download/source/ChangePassword/changepassword-0.9.tar.gz tar -xzvf changepassword-0.9.tar.gz cd changepassword-0.9 ./configure --enable-cgidir=/var/www/cgi-bin --enable-smbpasswd=/etc/samba/smbpasswd --disable-squidpasswd
make make install
這樣就安裝完成了,以後你就可以到 “http://host.example.com/cgi-bin/changepassword.cgi” 同步變更 Linux 系統及 Samba 的密碼。
網頁管理介面
這個套件(Swat)其實不是那麼必要(尤其是有了上面的 ChangePassword 套件之後),但仍然列出安裝步驟給大家參考:
apt-get install samba-swat
disable = yes
disable = no
only_from = 127.0.0.1
only_from = 192.168.1.0/24
service xinetd restart
http://host.example.com:901/
近期迴響