由于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\