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
到此应该可以访问到设置的共享目录了: