linux pc上装了samba 配置也完成了,但重启之后 windows pc就没办法连到linux pc上了,有高手知道是怎么办
发布网友
发布时间:2022-04-23 08:39
我来回答
共3个回答
热心网友
时间:2023-10-08 21:14
in和linux的通信,也可以了解一些linux服务的配置环境。
概要:
Windows中有一个网络邻居,它提供在局域网内的小型网络资源共享方案,计算机之间使用Samba套件SMB(Session Message Block)协议服务通信。LINUX也可以通过此协议与Windows实现类似网络邻居的通信。下面将介绍SMB协议在Linux下的安装、配置和使用。
注:对于Linux的一些基本使用这里不作详细介绍。SMB基于NetBIOS协议工作。
安装:
Samba的安装包可从网络下载,现在的版本是2.2。我从LINUX的安装盘中找到的安装包(2.2.3),共三个,都以Samba开头,RPM包格式,用rpm –ivh xxx.rpm 解包,将把服务和工具存放到/sbin和/usr/bin下,配置文件在/etc/samba中。查找一下smb、nmb、smbclient工具是否存在。
配置:
对Samba的配置主要是对smb.conf文件的设置。配置项目和方法有机百种之多,在配置文件目录中提供一个预制的配置文件,你只要对其进行改动就行,;和#表示注释。下面将对配置中的主要项目加以说明。
注:这里只是配置将本机对外公布的数据,如何使用其它主机的服务几乎与此无关,但最好配置一下。
1、 简化配置,清晰概念
smb.conf的基本数据只有三段[global]、[homes]、[printers],分别对服务通信数据、个人目录和打印机进行配置。其中[global]段是必需的,[homes]的默认设置使将登陆用户的的主目录进行共享,[printers]是共享系统中配置的所有打印机。
2、 [global]段
这一段只介绍一下基本的配置。其他可根据需要设置。
a) 以下配置在网络邻居里的显示信息
Workgroup = 工作组名 与windows工作组是一个意思
Server string = xxxxx 对计算机的简要说明
b) 如果要共享打印机,使用以下几项
Printcap name = /etc/printcap 打印机配置文件列表
Load printers = yes
printing = lprng 说明打印机类型
c) 指明日志文件
log file = /var/log/samba/%m.log %m表示登陆用户账号
d) 设置公开资源使用级别,与windows的访问控制相像
security = user
e) 设置登陆密码,可用smbpasswd –a 用户名设置密码
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd 密码保存文件
f) 下面一部分很有意思,它可以将不同的登陆账号映射为现有的用户而不用要求系统必须有此账户,即当使用windows时不必注销和更换账号,并且linux也不必添加大量账号。
username map = /etc/samba/smbusers 映射文件
如果其他设置没有改动的话,现在启动samba就可以正常通信了。但使用是否如您所愿,还需要对共享数据进行配置。
3、[homes]段
comment = Home Directories 提示信息,不重要
browseable = no 是否显示次段表示的共享,但在[homes]段不起无用,仍然显示$HOME文件夹。
writable = yes
valid users = %S
create mode = 0664 在此文件夹中创建文件的默认权限
directory mode = 0775
4、[printers]段
comment = All Printers
path = /var/spool/lpd/testsmb 假脱机目录
browseable = no 与[homes]相同
# Set public = yes to allow user ’guest account’ to print
guest ok = no
writable = no
printable = yes
5、其他的共享资源设置与[printers]和[homes]中的设置差不多。可以参考一下配置文件中的一些注释掉的设置。
其他的配置是集成3、4段的设置参数,可参考其他资料。
启动:
Samba启动主要由smbd和nmbd完成,很简单
1、 smbd –D -d1
2、 nmbd -D -d1 -n 计算机名
smbd SMB的客户进程,使用smb.conf文件
nmbd 提供NetBIOS有名服务和浏览支持。
-D 表示以守护进程方式运行 –d1 表示服务启动级别,d1就行
稍等让windows找到服务,打开网络邻居找找,应该能找到了,否则检查一下网络连通情况。或用testparm工具检查一下配置文件的语法。
使用:
这里只讲一下linux下的使用,windows下不会用的话,哪还是用linux吧,哈哈。
smbclient –L 远程计算机名 –U 用户名
将列出远程计算机上的共享资源情况
smbclient ‘\远程计算机名共享名称’ –u xx
将进入到一个类似ftp的文本界面,就像使用ftp一样,稍有不同,看一下,很简单。
热心网友
时间:2023-10-08 21:14
你装的什么版本的linux呢?
既然‘service smb status 提示是unrecogniz sevice
在执行这句命令之前我已经重启了服务:
/etc/init.d/samba restart’
那你执行 service samba status看有什么显示。
还有,'但是重启之后 windows pc就没办法连到linux pc',重启过就不能连上。。。/etc/samba/smb.conf有没有更改过?执行testparm有没有什么报错?你的samba是配置成用什么方法进行用户认证的?追问我装的是ubuntu
/etc/samba/smb.conf 的内容是:
[global]
workgroup=LinuxSir
netbios name=LinuxSir05
server string = Linux Samba Server TestServer
security =share
[linuxsir]
path=/opt/linuxsir
writeable =yes
browseable=yes
guest ok =yes
create mode =777
追答看来你的samba是不设防了,你是使用什么方式连的?用IP地址吗?你的windows的workgroup是什么?
还有samba是要用到137,138,139,445这几个端口的,你打开samba的daemon以后,netstat -na|grep -E "137|138|139"有什么信息?
热心网友
时间:2023-10-08 21:15
有可能是你的防火墙拦住了,在pc linux上面执行
iptables -F 再看看你的smaba服务是否开启
service smb status追问iptables -F 没有信息 我应该是没有防火墙的吧
service smb status 提示是unrecogniz sevice
在执行这句命令之前我已经重启了服务:
/etc/init.d/samba restart
/usr/sbin/smbd
/usr/sbin/nmbd