samba服務主要功能是實現機器間檔案分享權限設定,比如類unix機器和windows機器實現共用,整合了SMB協議和Netbios協議,運行在TCP/IP之上。今天安裝samba伺服器,主要是為了在windows上用CodeWarrior調試調用linux下的u-boot源碼。一切從簡,未詳細考慮安全問題。
1. 安裝samba
1.1 首先驗證是否已經安裝samba
# rpm -qa | grep samba
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-2.2.7a-7.9.0
redhat-config-samba-1.0.4-1
首先前三項說明已經安裝了samba, 如果沒有出現需要自己手動安裝。redhat-config-samba是圖形介面組態工具。
1.2 手動安裝samba
如果沒有安裝,則找出redhat9第一張光碟片放入光碟機,會自動掛載
# cd /mnt/cdrom/RedHat/RPMS
# rpm -ivh samba-*.rpm
# rpm -qa | grep samba (檢測安裝)2. 配置
2.1 方法1-圖形化配置
系統紅帽表徵圖 --> System Settings --> Server Settings --> Samba Server
輸入root密碼,開啟Samba Server Configure介面,點擊File / Add Share彈出添加共用目錄配置介面Create Samba Share,點擊Browse或直接在Directory:輸入共用目錄,(比如/home/liuby/u-boot-1.1.3/),在下面的Basic Permissions:選擇讀寫權限(比如Read/Write),在Access框選擇允許訪問的使用者(比如Allow access to everyone)2.2 方法2-利用設定檔
安裝完samba之後,會在/etc/下產生一個檔案夾samba,裡麵包含了一些設定檔smb.conf smbpasswd smbusers lmhosts
# grep -v "^[#;]" /etc/samba/smb.conf | grep -v "^$" ## 顯示設定檔smb.conf, 下面是設定檔(去掉注釋及空白行)
[global]
workgroup = MYGROUP
netbios name = MITC_linux
server string = Samba Server
hosts allow = 192.168.1. 59.64.155.154 ## 僅允許此ip地址訪問
log file = /var/log/samba/%m.log ## 記錄檔
max log size = 5 ## 記錄檔為5kB
security = user ## share不需要使用者名稱密碼 user需要使用者名稱密碼
encrypt passwords = yes ## 密碼加密
smb passwd file = /etc/samba/smbpasswd ## 密碼檔案
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n/n *Retype*new*password* %n/n *passwd:*all*authentication*tokens*updated*successfully*
pam password change = yes
obey pam restrictions = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no
[homes]
comment = Home Directories
browseable = no ## 該共用對其它使用者不可見
writable = yes ## 可讀可寫
valid users = %S ## 只有所有者能訪問該共用
create mode = 0664 ## 建立檔案時的許可權掩碼
directory mode = 0775 ## 建立的目錄許可權
[u-boot]
comment = u-boot file for debug
path = /home/liuby/c_code/u-boot-1.1.3/ ## 指定共用檔案的位置
writeable = yes ## 可讀可寫3. 配置使用者
3.1 添加使用者
# smbadduser liuby:starby
根據提示輸入密碼(注:samba 使用者必須是系統使用者)
# smbpasswd -a username
3.2 禁用使用者
# smbpasswd -d username
3.3 刪除使用者
# smbpasswd -x username 4. 啟動服務
4.1 重新啟動的方法有兩種:
# service smb start或restart
# /etc/rc.d/init.d/smb start
4.2 設定自啟動方法有兩種:
# ntsysv 選中 smb
# setup 選擇 System services 再選 smb
注: 注意伺服器防火牆設定(setup進入Firewall configuration定製防火牆規則開放連接埠137 138 139) 5. windows XP訪問samba共用服務
(1) 在windows XP下開啟一個檔案夾,在地址欄輸入samba伺服器位址 //59.6?.155.122 或者直接指定//59.6?.155.122/u-boot
(2) 彈出對話方塊,輸入使用者名稱密碼斷行符號,就會彈出共用目錄
(3) 如上配置輸入//59.6?.155.122進入的共用目錄有一個是u-boot目錄,右鍵點擊此目錄選擇"映射網路磁碟機",這樣就可以從"我的電腦"訪問該檔案夾。
(4) 若想去除網路磁碟機,可以在"我的電腦"->"網路磁碟機"右鍵點擊"斷開".