Samba服务器配置及错误解决
1)首先检查系统是否安装好了samba。
[root@localhost mnt]# rpm -qa | grep samba
如果出现下面三行内容,则表示已经安装好了Samba
samba-winbind-clients-3.4.2-47.fc12.i686
samba-common-3.4.2-47.fc12.i686
samba-3.4.2-47.fc12.i686
如果没有安装好,需要挂载安装光盘Fedora-12-i386-DVD.iso
[root@localhost /]# mount –tauto /dev/cdrom /mnt/
若出现mount: block device /dev/sr0 is write-protected, mountingread-only,则表明挂载成功,挂载成功后会在挂载目录(这里是/mnt/出现Packages等文件夹),进入到Packages目录下。
[root@localhost Packages]# rpm -ivh samba-3.4.2-47.fc12.i686.rpm
即可安装成功。
如果不能安装,有依赖关系提示的话,请使用yum安装:
[root@localhostPackages]# yum localinstall samba-3.4.2-47.fc12.i686.rpm
2) 配置smb
[root@localhost /]# cd/etc/samba/
[root@localhost samba]#ls
lmhosts smb.conf smbpasswd smbusers
这里的smb.conf是samba服务器的主要配置文件。
还要注意一点,smbpasswd文件是用来存储用户帐号和经过md5加密后的密码。
刚安装好samba服务时,此文件不存在。需要手工创建。下面会介绍。
◆编辑smb.conf文件
workgroup = WORKGROUP
server string = %U's samba %v
netbios name = fedora
log file = /var/log/samba/log.%m
max log size = 50
security = user
[root]
comment = root
path = /
public = no
writable = yes
write list = wangwei
path表示共享的目录,这里是根目录,由于是虚拟机上面的所以我不会在意。可以修改为其他目录。
1)建一个系统用户
[root@localhostsamba]# useradd testuser (建一个名叫testuser的用户)
[root@localhostsamba]# passwd testuser (给testuser用户添加密码)
Changing password foruser samba.
New password: (密码要六位以上,不显示在屏幕上)
BAD PASSWORD: it does notcontain enough DIFFERENT characters
Retype newpassword: (确认密码)
passwd: allauthentication tokens updated successfully
2) 更新 /etv/samba/smbpasswd 文件
[root@localhost samba]# cat /etc/passwd | mksmbpasswd.sh >/etc/samba/smbpasswd
3) 然后创建samba帐户
[root@localhost samba]# smbpasswd -a testuser
New SMB password:
Retype new SMB password:
Added user testuser.
4)关闭不必要的服务
有的时候不能远程到linux或者windows下不能直接创建该linuxsamba的网络驱动器就是因为下面的这两个问题。
1、 打开selinux共享
[root@localhost samba]# setsebool -P samba_enable_home_dirs on
2、 开启samba读写权限
[root@localhost samba]# setsebool -P samba_export_all_rw on
3、 关闭防火墙
[root@localhost samba]#chkconfig iptables off (永久关闭,重启不复原)
[root@localhost samba]#service iptables stop (马上生效,启动后又打开了)
[root@localhost samba]# service smb restart
[root@localhost samba]# service nmb restart
[root@sample ~]# chkconfig smb on ← 设置Fedora Samba 自启动
[root@sample ~]# chkconfig --list smb ← 确认Fedora Samba 启动标签,确认 2-5 为 on 的状态
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@sample ~]# chkconfig nmb on ← 设置 nmb 自启动
[root@sample ~]# chkconfig --list nmb ← 确认 nmb 启动标签,确认 2-5 为 on 的状态
nmb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@sample ~]# /etc/rc.d/init.d/smb start ← 启动 Fedora Samba 服务
Starting SMB services: [ OK ]
[root@sample ~]# /etc/rc.d/init.d/nmb start ← 启动 nmb 服务
Starting NMB services: [ OK ]
Ps:请确认是否安装ssh。 安装: yuminstall ssh
配置samba服务器常见错误及解决办法:
配置samba服务器的错误记录(整理自网络):
windows与linux相互能ping通,但ssh及secureCR无法连接!
1、看看sshd服务是否启动,启动是否正常
2、service sshd status
看看有没有返回值
3、查看日志
tail -200 /var/log/secure
4、关闭防火墙
service iptables stop
5、关闭selinux
vi /etc/selinux/config
selinux=disabled
(需要重启)
6、service sshd restart
telnet XXX.XXX.XXX.XXX 22
7、上面的问题都无法解决,而且别人还可以通过ssh登陆到你的虚拟机。就是自己不可以。
最后杀手锏了:在VMWare中安装好linux系统后,选择桥接,从宿主机Windows上使用Putty, SSH Secure Shell等客户端工具连接linux上的ssh服务,客户端一直没有反应,无法输入密码进行登陆。宿主机和虚拟机之间互相ping没有问题。linux防火墙和windows防火墙都已经禁用。IP设置在同一网段,SSH服务正常运行在22端口,配置也没有问题(不然客户端连接不进来)。FTP等也是一样,无法从宿主机连接到linux上的服务。一切设置一切该设置的似乎都正常,而且同样的步骤在其他机器上就可以达到自己的目的了。但是这个时候你的机器就是不行。而且办公室其他同事的机器就是还可以通过ssh登陆到你的linux上,就是你自己不行。不过总会有高手解决这个问题的。
首先要感谢ningzuowu,我是按照他提供的方法解决的。地址为:http://bbs.chinaunix.net/archiver/tid-943452-page-2.html
说直接一点就是将网卡的 高级 选项卡中 ---- 属性 ---- 硬件校验和 设置为关闭。(需要重启)
以下是截图说明:
1. 本地连接,选择属性,选择配置
2. 在高级选项卡中,选择“硬件校验和”,将其值设为“关闭”,等待网络自动重新启动后,便可以使用SSH工具成功连接VMWare中的linux了。
原因猜想:
桥接模式下,虚拟机和宿主机共用一个网卡,在同一网卡上传输数据包,可能会有问题,但为何需要关闭硬件校验和,尚需高人指点。
可能影响:
关闭硬件校验和,是否会造成网络不稳定,或其它问题,还没有测过,如果有发现问题或者有更好的方法望指出。