全部博文(139)
分类: LINUX
2007-02-05 19:04:54
smbd 是 samba 的内核,是建立对话,验证客户和提供文件系统和打印服务的基础;nmbd 则实现了网络浏览的功能,它的任务是向局域网广播 Samba 服务器所提供的服务,Nmbd 使得 Samba 服务器显示在 windows 操作系统的网络邻居中,允许用户浏览可以通过 samba 使用的资源。
在 suse 下启动 smb 服务:
1、首先切换到 root 管理员,[su]
2、进入 /etc/init.d,[cd /etc/init.d]
3、输入命令启动 smb,[./smb start]
启动smb服务之后,我们在 windows 下网络邻居中通过搜索 ip 就可以找到 samba 服务器,这时候该samba 已经完全可以提供局域网内网络共享服务了。但是这个服务器没有直接显示出来,是因为我们现在还没有启动 nmbd 服务。
在 suse 下启动 nmbd 服务:
1、前两步跟启动 smb 服务相同
2、输入命令启动 nmbd 服务 [./nmb start]
<二>samba 用户的添加过程例:给 samba 添加一个 user1 用户,首先判断一下系统用户中有没有user1,可以利用 cat/etc/passwd 来查看显示的内容中有没有 user1,如果没有的话,需要新建 user1 系统用户(由于 suse 中利用命令建立新用户比较麻烦,所以推荐大家利用管理员身份在 yast2 中新建用户)。
在终端上输入 cd/etc/samba 进入 samba 目录,命令 smbadduseruser1:user1_group,并且输入 user1 的 samba 密码,该密码尽量不要跟 user1 的系统密码相同。到此为止,我们已经完成了 samba 用户的添加工作。(此后可以用 smbpasswd user1 来更改 user1 的 samba 密码)
<三>samba 的共享方式,主要用到的有两种,share 和 user,这里主要讲一下 share 方式,user 方式在下一部分着重讲解。
实例说明
在 smb.conf 中的 [global] 设置
security = share
guest ok = yes
guest account = user1
采用 share 方式,用户不需要输入帐号和密码就可以登陆 samba 服务器,可以指定用户登陆的默认帐号,这里用户就是通过默认的 user1 来登陆的。用户登陆之后,可以看到所有系统共享文件和 user1 所共享的文件。
其他用户共享的文件能够看得到,但是不一定能够使用或者进的去。如果不设置 guest account 的话,则用户就以默认的 nobody 进行登陆,只能够使用系统设置的共享文件。其他用户设置的文件不一定能够使用。
<四>samba 用户和 linux 用户
linux 系统用户跟 samba 用户是相互联系而又相互独立的:首先 samba 用户必须是 linux 用户,这就是我们利用 smbaddusergroup:member 来创建 samba 用户的原因了,group 是 linux 系统的组,而 member 是属于该组的 linux 系统用户,添加 samba 用户的前提是该组和成员在系统中已经存在。
其次对于同一个用户来说,samba 密码和系统密码不必一定相同,换句话说 samba 的用户只是用来提供网络共享服务的,在这里与操作系统用户没有什么大的关系。
实例说明:
在 smb.conf 中的 [global] 中设置
security = user
guest ok = yes
guest account = user1
[home] 设置
comment = Home Directories
valid users = %S
browseable = No
read only = No
create mask = 0640
directory mask = 0750
效果:在 windows 下的网络邻居中进入 samba 服务器时,
< 1>如果输入的用户名和密码都是空的,那么用户仍然可以进入 samba 服务器,不过这时候进入时候的身份就是 samba 的 user1 的身份,可以看得到用户 user1 所有共享的文件或者文件夹,至于权限则是根据系统用户 user1 设置的这些共享目录的对应权限。
<2>如果输入的用户名是 user2,密码是 user2 的系统密码,则用户就会进入 user2 的目录/home/user2/,里面所有文件都可以看到,并且拥有对这些文件的所有权限。
<3>如果用户输入的用户名是 user2,密码是 user2 的 samba 密码,则用户就能够看到系统用户 user2 共享的目录。