📄 samba.txt
字号:
如何利用Samba实现Linux与Windows98的资源共享
本文出自: 作者: (2001-09-30 09:05:00)
本文是介绍如何利用Samba实现Linux与Windows98的资源共享,以及本人在实 现与使用中遇到的
各种问题,以及解决方法。
一、安装Samba:
由于Samba是RedHat 6.0内置的软件包,在安装Linux过程中选中即可。如果在安装过
程中没有安装Samba,可以在以后安装,具体步骤如下:
# mount /mnt/cdrom
# cd /mnt/cdrom/RedHat/RPMS/
# rpm -ivh samba-2.0.3-8.i386.rpm
注意利用ntsys命令检查,是否使Samba在启动Linux时启动SMB服务。
二、编辑Samba的配置文件:
Samba的配置文件smb. conf位于/etc目录下,可以设置各种参数,设置那些资源被共享、
以及其它用户对这些资源的操作权限等等。 smb.conf文件的格式非常容易理解,但由于
它的参数非常多,要快速地仔细了解各种参数的意义是非常困难的,在安装Samba时,系
统已经安装了一个Samba的配置文件样本,可以利用此文件,编辑与修改,在修改的过程
中,要注意理解配置文件的注释,使它适合自己的需求。 除了控制访问共享的定制外,
smb.conf有三个特殊段:[global]、[homes]和[printers]。[globals]段定义了整个过
程中的全局参数,并为其它段提供缺省值。 [homes]段定义远程用户存取在本地Linux机
的用户主目录的参数。[printers]段远程用户共享本地Linux的打印机。 有关smb.conf
文件的详细说明,参见smb.conf的man文档。这里只介绍需要修改的几个参数。[global]
段的workgroup值,它相当与Windows98的工作组名或者Windows NT的域名。
server string值,它类似Windows的网络配置中的计算机说明,这主要是便于Windows用
户了解共享哪台机器的资源。 删除[tmp]段的注解,主要是便于检测SMB的配置是否成功。
有关smb.conf配置文件的参数参见smb.conf(5)的man文档。在Samba2.0.3版本中,提供
swat实用程序,管理者利用浏览器来配置smb.conf文件,它通过inetd 服务启动,在浏
览器的地址中输入http://Linux主机名或ip地址:901,就可以利用浏览器来进行smb.conf
文件的配置与管理工作。 配置与修改完成后,可以通过命令testparm来检测smb.conf的配
置文件是否正确。 注意要使配置文件生效, 必须重新启动SMB服务。 执行
/etc/rc.d/init.d/smb restart 命令。
三、检测
1、Linux主机共享Windows主机的资源 在Linux主机端安装Samba包后,Samba包中已经包括了
smbclient、smbmount等的实用程序。 smbclient程序提供了一个类似FTP 的模式界面, 允许
用户共享Windows、Linux的资源,还可以用户列出服务器上的可用共享资源。smbmount类似
mount命令, 将Windows的共享目录安装到Linux的本地目录。下面列出这些命令的主要用法,
具体可以参见man文档。
1. smbclient -L hostname <-U username> 说明:列出指定主机的共享资源。
2. smbclient \\\\server\\共享名 <-U username> 说明:连接网络共享资源。其用法类似ftp。
3. smbmount \\\\server\\共享名 -c 'mount /mnt/smb' 说明:安装指定主机的共享名到本地
的目录 注意:分隔符为反斜杠。
2、Windows主机共享Linux主机的资源 在Windows端,通过浏览网络邻居,列出Linux主机的共
享资源,将某一共享 目录映射为一个网络驱动器,也可以共享Linux的打印机。
四、问题:
Samba的用户认证.用户认证表示允许Samba限制访问共享资源、 控制文件和目录的读写权限。
Samba支持三种不同的验证用户访问共享资源的机制。它由Samba文件中的关键字security控
制,分为共享安全(share)、用户安全(user)、服务器安全(server)三种。其中share模式是
最早的安全模式,提供的安全权限最低,也是Samba的缺省模式。user模式是当用户连接
Samba服务器上的共享资源时, Samba必须验证用户的用户名和密码。验证正确后,用户才能
获得相应的访问权限。 server模式是将用户认证由另一个SMB服务器来完成,往往是采用
Windows NT。 在采用share模式时,本人发现无法访问对应Linux用户的主目录,提示“必 须
提供密码才能连接: 资源\\Linux主机名\IPC$",可是无论提供什么口令,都无法访问共享资
源。通过查看有关文档(位于 /usr/doc/samba-2.0.3/docs/textdocs/Win95.txt文件),发现
是由于Windows98禁止plain text的口令认证,只需按照文档说明修改注册表即可,也可以利
用/usr/doc/samba-2.0.3/docs目录下 的Win98_PlainPassword.reg文件,导入注册表。 如果
出于安全因素考虑, 应该尽量避免采用share模式,而采用user模式, 必须为Samba用户设置
帐户,具体步骤如下:
1.建立Samba帐户,编辑帐户文件/etc/smbpasswd,删除不需要的帐户。
# cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd
# vi /etc/smbpasswd
2.利用smbpasswd命令建立帐户的口令,最好与/etc/passwd的帐户口令相同。
# smbpasswd Samba用户名
3.编辑/etc/smb.conf文件, 修改[global]段的security=user,encrypt passwords = yes。
4.重新启动SMB服务,再进行测试。
# /etc/rc.d/init.d/smb restart
Samba的三种典型配置
本文出自: 作者: (2001-09-30 13:05:00)
pub - 不需要密码,且可读写及删除文件。
read-only - 不需要密码,但只可以读取文件。
user1 - 需要密码,可读写及删除文件。
步骤如下:
一、首先以root身分登录进入系统。
二、编辑/etc/smb.conf文件,将"unix password sync = no"这个一句改为
"unix password sync = yes"。这样子的话,以后系统增加使用
者时,会自动将该使用者的密码也更新到/etc/smbpasswd内 (Samba的帐号密码文件)。
三、到/home目录下增加下列目录,并指定这些目录的权限:
/home/pub nobody:nobody 777
/home/read-only root:root 755
/home/user1 user1:user1 700
四、编辑/etc/smb.conf这个文件,修改:
security = share
五、编辑/etc/smb.conf这个文件,到文件最后面增加下面几句:
[public]
comment = Public Areas
path = /home/pub
browseable = yes
guest ok = yes
writable =yes
[read-only]
comment = Read-Only Areas
path = /home/read-only
browseable = yes
guest ok = yes
[user1]
comment = Password Required
path = /home/user1
browseable = yes
writable = yes
完成后存盘离开。
六、重行运行Samba:
/etc/rc.d/init.do/smb restart
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -