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

源码搭建samba服务器

2012年06月06日 综合 ⁄ 共 2524字 ⁄ 字号 暂无评论

一、检查本机是否已安装samba
[root@YYzs tmp]# rpm -qa | grep samba
samba-winbind-clients-3.5.4-68.el6.i686
samba-common-3.5.4-68.el6.i686
samba-client-3.5.4-68.el6.i686

二、解压配置编译源码包
[root@YYzs tmp]# tar -xvf samba-3.6.5.tar.gz
[root@YYzs tmp]# cd samba-3.6.5
[root@YYzs samba-3.6.5]# cd source3
//新版本的source目录有两个:source3目录里是samba-3.x的源文件,source4目录里是samba-4.x的源文件
[root@YYzs source3]# ./autogen.sh
//该目录下没有configure文件,此时可先执行上面的命令
[root@YYzs source3]# ./configure --prefix=/usr/local/samba
[root@YYzs source3]# make && make install

三、配置动态链接库路径
//安装完成后,我们需要配置动态链接库路径,因为运行samba的进行smbd和nmbd需目录/usr/local/samba/lib下的动态链接库文件。但是该目录不是系统默认的动态链接库文件搜索路径,于是我们需要将该目录添加到文件ld.so.conf中。执行下面的命令
[root@YYzs source3]# vi /etc/ld.so.conf
//打开ld.so.conf文件,并在该文件中加入下面这一行内容。
/usr/local/samba/lib
[root@YYzs source3]# ldconfig
//更新动态链接库缓冲、让配置生效

四、samba配置文件smb.conf
//samba在运行过程中需要用到配置文件smb.conf。smb.conf配置文件是samba最重要的配置文件,该文件定义了samba的安全机制、文件共享和打印共享的目录和参数以及其他一些系统配置功能。
//配置文件smb.conf的默认路径是/usr/local/samba/lib/smb.conf,但是此版本路径是/etc/samba

1)匿名用户可读可写的实现
//让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smb.conf ;首先您要备份一下smb.conf文件;
[root@YYzs ~]# cd /etc/samba
[root@YYzs samba]# cp smb.conf smb.conf.bak
//备份配置文件
[root@YYzs samba]# vi smb.conf
//然后我们把下面这段写入smb.conf中:

[global]
workgroup = liuang
netbios name = YYzs
server string = YYzs's Samba Server
security = share

[test]
path = /opt/test
writeable = yes
browseable = yes
guest ok = yes

//[global]这段是全局配置,是必段写的。其中有如下的几行;
//workgroup 就是Windows中显示的工作组;在这里我设置的是WORKGROUP (用大写);
//netbios name 就是在Windows中显示出来的计算机名;
//server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
//security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;如果用share呢,就是不用设置用户和密码了;
//[test] 这个在Windows中显示出来是共享的目录;
//path = 可以设置要共享的目录放在哪里;
//writeable 是否可写,这里我设置为可写;
//browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想//显示出来,那就设置为 browseable=no,guest ok 匿名用户以guest身份是登录;

//建立相应目录并授权
[root@YYzs ~]# mkdir -p /opt/test
[root@YYzs ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /opt/test
//关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody

//启动服务器
/usr/local/samba/sbin/nmbd -D
/usr/local/samba/sbin/smbd -D

//访问Samba 服务器的共享;
1、在Linux 中您可以用下面的命令来访问;
[root@localhost ~]# smbclient -L //YYzs 或 smbclient //192.168.1.107/test
Password: 注:直接按回车
2、在Windows中,您可以用下面的办法来访问;
\\YYzs 或 \\192.168.0.107
3、说明:如果用了netbiosname,就不能用主机名访问,如果没用netbiosname,就可以用“\\主机名”来访问。

2)简单的密码验证服务器
//修改smb.conf文件:
security = user
guest account = yyzs
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
//然后,建立一个新用户
[root@YYzs ~] useradd yyzs
[root@YYzs ~] passwd yyzs
//成功后
[root@YYzs ~] cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
[root@YYzs ~] smbpasswd -a yyzs
//这就成功地添加了一个smb用户。
//重启服务,使用这个用户进行登录即可。

给我留言

留言无头像?