现在的位置: 首页 > 综合 > 正文

Freebsd下使用packages安装samba34以及samba无法启动的一个原因

2013年10月06日 ⁄ 综合 ⁄ 共 2165字 ⁄ 字号 评论关闭

      由于Vmware中的FreeBSD暂时无法实现共享上网,所以研究了一下samba的离线安装。

首先还是要在网上下在package包,该包是一种编译好的副本,还有一些配置文件和文档。一个下载的包文件可以用 FreeBSD 的包管理命令来操作,比如用pkg_add来进行安装,用pkg_delete来进行卸载,用pkg_info来查看用packages方式已安装的软件信息等等。

package包的下载地址是ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/Latest/

需要的package如下:

talloc.tbz

cups-client.tbz

gettext.tbz

gnutls.tbz

libexecinfo.tbz

libgcrypt.tbz

libgpg-error.tbz

libiconv.tbz

openldap24-client.tbz

pkg-config.tbz

popt.tbz

samba34.tbz

使用pkg_add *.tbz逐个安装,至于先后顺序,试一试就知道了,会有提示。

 

中途碰到一个问题,就是samba无法启动,用pgrep smbd看不到进程。

怀疑smb.conf文件有错误,用testparm命令测试一下smb.conf看看是否报错,结果没错。

当时没有完全按照下面的做法做,在启动samba时,使用的是/usr/local/etc/rc.d/samba,初次启动时,使用这个脚步完全服务启动。清先执行smbd和nmbd命令,之后samba.sh脚本就意外的可以用了。

让samba自启动的话要在 /etc/rc.conf 文件中加入:

nmbd_enable="YES"

smbd_enable="YES"

 

以下摘自网上资料,留着以后参考。

匿名用户可读可写的实现;

第一步: 更改smb.conf

我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smb.conf ;首先您要备份一下smb.conf文件;

[root@localhost ~]# cd /usr/local/etc

[root@localhost samba]# cp smb.conf smb.confBAK

然后我们来重新创建一个smb.conf文件;


[root@localhost samba]#touch smb.conf



然后我们把下面这段写入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




注解:

[global]这段是全局配置,是必段写的。其中有如下的几行;

workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);

netbios name 就是在Windows中显示出来的计算机名;

server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;

security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

[linuxsir] 这个在Windows中显示出来是共享的目录;

path = 可以设置要共享的目录放在哪里;

writeable 是否可写,这里我设置为可写;

browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no

guest ok 匿名用户以guest身份是登录;

第二步:建立相应目录并授权;

[root@localhost ~]# mkdir -p /opt/linuxsir

[root@localhost ~]# id nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody)


[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir




注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;

第三步:启动smbd和nmbd服务器;

[root@localhost ~]# smbd

[root@localhost ~]# nmbd

第四步:查看smbd进程,确认Samba 服务器是否运行起来了;



[root@localhost ~]# pgrep smbd

13564

13568




第五步:访问Samba 服务器的共享;


在Linux 中您可以用下面的命令来访问;

[root@localhost ~]# smbclient -L //LinuxSir05

Password: 注:直接按回车




在Windows中,您可以用下面的办法来访问;


\\LinuxSir05\

抱歉!评论已关闭.