你可以通过执行svn命令svn co svn://svnanon.samba.org/samba/trunk samba.获取最新的samba源文件,也可以直接从http://samba.org/samba/ftp/samba-latest.tar.gz 获取最新的samba源文件包。
如果你选择下载samba-latest.tar.gz源代码包,则需要使用以下命令进行解包
# tar -xzvf samba-latest.tar.gz
# cd samba-3.4.2/source3
source3目录里是samba-3.x的源文件,source4目录里是samba-4.x的源文件
# ./autogen.sh
# ./configure --prefix=/usr/$home$/install/samba
samba默认是安装在/usr/local/samba目录下,你可以通过指定prefix=your location的方式来指定安装目录
# make
# make install
# vi /etc/ld.so.conf
加入一行/usr/$home$//install/samba/lib
# ldconfig 不是i的大写而是L的小写
执行ldconfig命令让配置生效
第一步: 新建smb.conf
# touch /usr/$home$/install/samba/lib/smb.conf
我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹
然后把下面这段写入smb.conf中;
[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share
[linuxsir]
path = /smb_server
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 smb_server
[root@localhost /]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost /]# chown -R nobody:nobody /smb_server
注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;
执行testparm
# /usr/$home$/install/samba/bin/testparm
如果没有任何错误,那么恭喜你,samba已经安装成功了
# /usr/$home$/install/samba/sbin/nmbd start
# /usr/$home$/install/samba/sbin/./smbd start
加入开机启动项将下面这段写入/etc/rc.local
/usr/$home$/install/samba/sbin/nmbd start
/usr/$home$/install/samba/sbin/./smbd start
关掉Samba服务器,也可以用下面的办法,大多是通用的;要root权限来执行;[root@localhost ~]# pkill smbd
[root@localhost ~]# pkill nmbd