系統環境:Windows xp sp3 ,IP:192.168.1.10 虛擬機下安裝了Fedora-8-i386 IP:192.168.1.12
1. 首先檢查os是否安裝好了samba。
[root@cisco samba]# rpm -qa | grep smb
如果出現下面三行內容,則表示已經安裝好了Samba
libsmbios-libs-0.13.10-1.fc8
libsmbios-bin-0.13.10-1.fc8
pam_smb-1.1.7-7.2.2
如果沒有安裝後好,需要進入安裝關盤Fedora-8-i386-DVD.iso
[root@cisco /]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@cisco /]# cd /mnt/cdrom/
[root@cisco cdrom]# ls
fedora.css isolinux README-BURNING-ISOS-en_US.txt repoview RPM-GPG-KEY-fedora RPM-GPG-KEY-rawhide
GPL media.repo RELEASE-NOTES-en_US.html RPM-GPG-KEY RPM-GPG-KEY-fedora-rawhide stylesheet-images
images Packages repodata RPM-GPG-KEY-beta RPM-GPG-KEY-fedora-test TRANS.TBL
[root@cisco cdrom]# cd Packages/
[root@cisco Packages]# rpm -ivh -aid smb*
即可安裝成功。
2. 進入samba目錄
[root@cisco /]# cd /etc/samba/
[root@cisco samba]# ls
lmhosts smb.conf smbpasswd smbusers
這裡的smb.conf是samba服務器的主要配置文件。
還要注意一點,smbpasswd文件是用來存儲用戶帳號和經過md5加密後的密碼。
剛安裝好samba服務時,此文件不存在。需要手工創建。下面會介紹。
3. 編輯smb.conf文件
[root@cisco samba]# vi smb.conf
進行如下設置:
#======================= Global Settings =====================================
[global]
workgroup = MSHOME 將linux 加入的工作組名,我這裡加入了MSHOME工作組。
server string = Samba 這是服務器描述信息,方便標志資源。可以隨便輸入。
encrypt passwords = yes 表示是否對用戶的密碼進行加密,這裡選擇加密,安全!
public = yes 定義一個共享是否對公共訪問開放。當設置為 yes 時,在系統上沒有帳戶用戶
將基於所定義的客戶帳戶的屬性來接收訪問。
smb passwd file = /etc/samba/smbpasswd 這是賬號密碼的存放文件
netbios name = mm's samba 在外部訪問該samba服務器時,顯示的信息。
# --------------------------- Logging Options -----------------------------
# logs split per machine
log file = /var/log/samba/log.%m log文件的存放位置。
# max 50KB per log file, then rotate
max log size = 0 log文件的大小限制,設置為0表示不做限制。
# ----------------------- Standalone Server Options ------------------------
security = user 共享的安全級別,samba有四種安全等級:
share:用戶不需要賬戶及密碼即可登錄samba服務器
user:由提供服務的samba服務器負責檢查賬戶及密碼(默認)
server:檢查賬戶及密碼的工作由另一台windows或samba服務器負責
domain:指定windows域控制服務器來驗證用戶的賬戶及密碼)
passdb backend = tdbsam
以上即為通用一般配置。
加入我們需要共享的目錄為 /opt/
需要添加如下代碼:
[rose]
comment = This is my samba server! 設置共享信息,隨便輸入
path = /opt 共享目錄
valid users = testuser 可以訪問次共享目錄的用戶,我這裡設為testuser用戶
public = yes 同上面的解釋
writable = yes 用戶是否可寫,這裡我們允許。
wq!
保存退出即可。
4. 啟動smb服務
[root@cisco samba]# service smb start
Starting SMB services: [ OK ]
[root@cisco samba]# service nmb start
Starting NMB services: [ OK ]
5. 添加可以訪問我們剛才設置共享目錄的用戶:testuser
1)建一個系統用戶
[root@linux samba]# useradd testuser (建一個名叫testuser的用戶)
[root@linux samba]# passwd t (給testuser用戶添加密碼)
Changing password for user samba.
New password: (密碼要六位以上,不顯示在屏幕上)
BAD PASSWORD: it does not contain enough DIFFERENT characters
Retype new password: (確認密碼)
passwd: all authentication tokens updated successfully
2) 更新 /etv/samba/smbpasswd 文件
[root@linux samba]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
3) 然後創建samba帳戶
[root@cisco samba]# smbpasswd -a testuser
New SMB password:
Retype new SMB password:
Added user testuser.
6. 重新啟動smb服務
[root@cisco samba]# service smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
[root@cisco samba]# service nmb restart
Shutting down NMB services: [ OK ]
Starting NMB services: [ OK ]
下面我們在Windows下測試一下,我的系統為Windows xp sp3
在Linux 下訪問Windows的共享資源,顯示信息為:
[root@cisco samba]# smbclient -L //192.168.1.10
Password:
Domain=[XPSP3] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- -------
Printer Adobe PDF Office Document Image Writer
session request to 192.168.1.10 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[XPSP3] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Server Comment
--------- -------
Workgroup Master
--------- -------
在Linux 下訪問自己的samba服務器,顯示信息為:
[root@cisco samba]# smbclient -L //192.168.1.12