Technorati 標簽:
Linux ,
Fedora ,
Samba
每次配置samba都會碰到一些問題,其實都是一些細節忘記了,今天又配置了一次,決定把整個過程寫下來。以供將來參考。
samba的安裝過程我就不不贅述了。本文基于Fedora Core 4 環境來講述設定一個公共目錄的過程,這個也是比較對開發人員比較常用的。
安裝好samba后進入/etc/samba目錄:
[root@localhost samba]# ls lmhosts secrets.tdb smb.conf smbpasswd smbusers
|
- 為samba創建password 文件,也就是生成上述文件中的smbpasswd文件,我們要使用系統中的passwd文件來生成,這樣不用對每個用戶單獨配置,例如我們可能為每個系統用戶提供samba訪問權限;
[root@localhost samba]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
[root@localhost samba]# chmod 600 /etc/samba/smbpasswd
[root@localhost samba]#
|
- 建立一個用來共享的目錄, 更改用來owner為用來訪問samba的用戶,這里我用cooleaf作為例子, 當然也可以使用組用戶;
[root@localhost samba]# mkdir /usr/sambapub
[root@localhost samba]# chown cooleaf /usr/sambapub
|
- 配置samba,使用vi修改smb.conf,過程不再贅述。最后修改結果如下(為簡單起見,我把其他共享以及注釋去掉了,主要是global中的配置以及myshare中的配置):
# Global parameters [global] workgroup = MYGROUP server string = Samba Server username map = /etc/samba/smbusers log file = /var/log/samba/%m.log max log size = 50 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 printcap name = /etc/printcap dns proxy = No idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 cups options = raw
[pub] comment = cooleaf's fedora 4 path = /usr/sambapub valid users = cooleaf read only = No create mask = 0765
|
更改后,可以使用testparm測試smb.conf是否有錯誤;
- 注意上表中紅色的部分,這個就是samba用戶的映射表,也就是說,一個linux系統用戶與samba用戶的映射,使用vi更改samusers文件,加入對cooleaf用戶的映射。
# Global parameters # Unix_name = SMB_name1 SMB_name2 ... root = admin cooleaf = cooleaf nobody = guest pcguest smbguest
|
- 如果不能從windows訪問,修改防火墻配置 vi /etc/sysconfig/iptables, 增加對tcp,udp的137-139端口,tcp的445端口的權限。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
到此應該可以訪問到設置的共享目錄了:
