步骤:
1.机器上已经存在的samba服务,版本为3.0.21b,这是通过使用rpm命令得到的。如下:
# rpm –qa | grep samba
Samba-client-3.0.21b-2
Samba-common-3.0.21b-2
2.将上面的samba-client-3.0.21b-2卸载。使用命令:rpm –e samba-client-3.0.21b-2。
3.用rpm –e samba-common-3.0.21b-2来卸载common,因为依赖关系,不成功。
4.下载二进制程序包:
samba-common-3.0.23c-4.i386.rpm,
samba-client-3.0.23c-4.i386.rpm,
samba-doc-3.0.23c-4.i386.rpm,
samba -3.0.23c-4.i386.rpm。
5.安装这些程序包。分别使用命令:
rpm –Uvh samba-common-3.0.23c-4.i386.rpm
rpm –ivh samba-client-3.0.23c-4.i386.rpm
rpm –ivh samba-3.0.23c-4.i386.rpm
rpm –ivh samba-doc-3.0.23c-4.i386.rpm
使用选项Uvh来安装common是因为原来的common没有被卸载,因此应进行升级安装(U)。
6.安装完毕后,可以使用rpm –qa samba来确认。会输出samba-3.0.24c-4。
7.下面开始对samba服务进行配置。
8.首先,修改/etc/samba/lmhosts文件。加入一行,为本机上的Windows系统IP地址和主机名。这样才可以通过Windows来访问Unix的samba服务。
9.创建目录/export/sambadir作为共享目录。
命令:mkdir –p /export/sambadir
chmod 777 /export/sambadir
10.修改/etc/samba/smb.conf文件。这是samba的配置文件。
Security = user
Log file = /var/log/samba/log.%m
Path = /export/sambadir
11.使用testparam来测试修改结果。
12.加入一个用户,并修改其密码。
13.使用chkconfig命令来设置在启动级别5中启动samba。命令如下:
Chkconfig –list | grep smb
Chkconfig –level 5 smb on
Chkconfig –list | grep smb
14.重新启动网络服务:
/etc/rc.d/init.d/cups stop
/etc/rc.d/init.d/smb restart
15.然后就可以在Windows系统中通过12步中设定的用户名和密码来访问Linux。
16.使用源代码的安装方式:下载samba-3.0.23c.tar.gz源代码包,解压。
Cd samba-3.0.23c/source
./autogen.sh
./configure –prefix=/usr –localstatedir=/var –with-configdir=/etc/samba –with-privatedir=/etc/samba –with-fhs –with-quotas –with-smbmount –enable-cups –with-pam_smbpass –with-syslog –with-utmp –with-swatdir=/usr/share/swat –with-shared-modules=idmap_rid –with-libsmbclient
Make
Make install
17.其余步骤与7之后相同。
这是我实验时写的,平台是redhat 9
小弟自己通过实践终于配置成功了samba,写下配置过程,希望高手多提意见,本文有个遗憾我的rpm安装samba打印机共享成功,用源码安装打印机没有成功,非常可惜。??? 先学习一些基础。
??? samba的核心是两个守护进程smbd和nmbd程序,在服务器启动到停止期间持续运行。Smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。Smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享共享输出给谁及如何进行输出。Smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使其它主机(或工作站)能浏览Linux服务器。
??? 如果安装时用rpm安装,那么启动samba不用service smb start,用service nmbd start,service smbd start也可以的。
??? 在smb.conf文件中,注释行以“#”开头,同时每项中英文字母不区分大小写,在一行最后字符尾加
??? “\”,可将一行分成多行。用“;”开头的行,是可改变的配置,将“;”去掉时,该配置将取作用。
??? [global](全局参数的设置,它对samba的功能具有很大的影响,主要用来设置整个系统规则。
??? workgroup= 这是你在windows中的域。
??? server string= 这是在windows中看到你的samba的解释。
??? netbios name =最好是你的机器名,如果把改句注消,默认的是你LINUX机器名,不过,最好还是自己填上
??? dos charset=cp936
??? unix charset=cp936 加上这二句就可以正确显示中文了。
??? hosts allow 允许登录的linux-samba的主机名单,用IP地址给出,多个IP地址用空格分开,不在名单中的主机将不能得到samba提供的服务,这也是网络安全的一个方面。
??? printcap name 指定printcap文件地址,通常为/etc/printcap,包含了linux打印机的配置信息。
??? load printers 允许使用共享打印机时,默认值为yes。
??? printing 如果使用的打印机是非标准的,那么应该指出打印机系统类型。
??? log file = /usr/local/samba/var/log.%m
??? max log size = 0
??? 上面这两行则是Samba日志的相关定义。其记录文件的位置是放在/var/log/samba/%m.log,安装目录不一样,日志可不一样,后面的一条是定义日志记录文件的大小,单位是KB,如果是0的话就不限大小。
??? guest acount 来宾帐户,表示用哪一个Linux用户作为所要的客户连接,定义Samba缺省的用户账号,这个账号必须在/etc/passwd中。
??? security 指定安全模式。大多数用户使用user级的安全模式,samba用本地linux口令文件验证。
??? security = security_level
??? 定义Samba的安全级别,按从低到高分为四级:share,user,server,domain。它们对应的验证方式如下:
??? share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。
??? user:samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。
??? server:和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级。
??? domain:这个安全级别要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。
??? 后面三种安全级都要求用户在本linux机器上也要系统帐户。否则是不能访问的
??? smb passwd file=/etc/samba/smbpasswd (设置smb密码文件的位置)
??? username map =/etc/smbusers
??? encrypt passwords =no 采用的时明文密码验证,如果是加密的,就改为yes
???
? 记得某月的某一天,我下定决定安装任何软件包只用源码,不用rpm。虽然很麻烦,但是对于了解linux内部有些帮助。
??? 首先我们创建一个文档,边安装配置samba,边写教程。
??? 从www.samba.org下载samba最新源码包,我下载的是samba-3.0.7.tar.gz,把它放在我的目录的中/root/lova/samba下。
??? tar -zxvf samba-3.0.7.tar.gz 解压得到samba-3.0-7
??? cd samba-3.0.7
??? cat README 先看说明,可惜E文太差,不太懂,直接安装吧。
??? find . -name configure
??? ./source/configure 原来藏在这
??? cd source/
??? mkdir /usr/local/samba 创建安装目录
??? ./configure --prefix=/usr/local/samba/ 安装到/usr/loca/samba
??? make
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)