linux下samba服务器的搭建

 一些相关的介绍:linux

◆samba产生背景: ios

在 Client 端直接进行 ServeClient 端将 Server 所提供分享的目录挂载进来,在Client 的机器上面就能够直接取用 Server 上的档案资料,在linux下有NFS。在windows下有Common Internet File System, CIFS。可是他们不能实现两大平台之间的共享,samba的产生也是基于这样的背景。windows

◆NetBIOS 通信协议:服务器

  NFS 是架构在 RPC Server 上面同样, SAMBA 这个档案系统是架构在 NetBIOS ( Network Basic Input/Output System, NetBIOS )这个通信协议上面所开发出来的。网络

◆SAMBA 使用的 daemons:架构

SAMBA 的主要目的是让 Linux 主机加入 Windows 的网络系统当中来分享使用彼此的数据,而 Windows 使用的是 NetBIOS 这个通信协议,因此说,SAMBA 主要是使用 NetBIOS over TCP/IP 的技术。dom

启用的有:1.smbd :这个 daemon 的主要功能就是用来管理 SAMBA 主机分享什么目录、档案与打印机等等的内容。ide

          2.nmbd :这个 daemon 则是用来管理群组啦、NetBIOS name 啦等等的解析。测试

====================================================================================================code

安装samba:

◆rpm安装的包有:1.samba       2.samba-client          3.samba-common

 

◆SAMBA 的执行档:

   1.smbd 与 nmbd:便是那两个主要的 daemons  !每次启动 SAMBA 都会使用到的两个执行档!

   2.testparm:当咱们设定完成了 smb.conf 这个主要设定档以后,而想要查看一下 SAMBA 的全部设定参数与 smb.conf 的设定项目是否正确时,就须要使用这个 testparm 来查看。

  3.smbclient:当你的 Linux 主机想要藉由『网络上的芳邻』的功能来查看别台计算机所分享出来的目录与装置时,就可使用 smbclient 来查看啦!这个指令也可使用在本身的 SAMBA 主机上面,用来查看是否设定成功

◆SAMBA 的相关目录:

1./usr/share/doc/samba:这个目录包含了 SAMBA 的全部相关的技术手册

�2./usr/share/doc/sam2./var/log/samba:这个目录就是 SAMBA 预设的登陆文件放置目录

3./usr/share/samba/codepages:这个目录里面放置的就是各个语言的支持格式

===============================================================================================================

 

◆关于变数:

 咱们有看到一个比较有趣的设定是『log file = /var/log/samba/log.%m』,怎么会有个 %m 啊?!呵呵!那个就是 SAMBA 里面的变量值啦!在 SAMBA 当中,为了便利使用者的设定,因此会有许多的变量值提供给系统管理员来使用,主要的变量有底下几个:

o %S:取代目前的设定项目值,所谓的『设定项目值』就是在 [ ] 里面的内容!举例来讲:

[homes]

valid users = %S

....

o 由于 valid users 是容许的登入者,设定为 %S 表示任何可登入的使用者都可以登入的意思~今天若是 test 这个使用者登入以后,那个 [homes] 就会自动的变成了 [test] 了!这样能够明白了吗?! %S 的用意就是在替换掉目前 [ ] 里面的内容啦!

o %m:表明 Client 端的 NetBIOS 主机名称喔!例如上面案例的登陆档!

o %M:表明 Client 端的 Internet 主机名称喔!就是 HOSTNAME。

o %L:表明 SAMBA 主机的 NetBIOS 主机名称。

o %H:表明使用者的家目录。

o %U:表明目前登入的使用者的使用者名称

o %g:表明登入的使用者的群组名称。

o %h:表明目前这部 SAMBA 主机的 HOSTNAME 喔!注意是 hostname 不是 NetBIOS name 喔!

o %I:表明 Client 的 IP 咯。

 

◆smb.conf的具体配置不详释,由于不一样版本会不一样。

◆测试 smb.conf 设定值:

  testparm 能够用来察看全部 SAMBA 的属性, # 这些属性不少都是默认值!若是没有 smb.conf 里面设定时,就是默认值

◆Client 端的测试:

  smbclient 指令能够用来(1)查询某部主机的分享内容与(2)登入某部主机进行数据的存取!更详的用法咱们会在底下说明!在上面的案例下,咱们使用 -L 这个参数,去察看主机名称(注意,这里是以 netbios name 为主机名称喔!)分享出来的数据有哪些。

==============================================================================================

◆如何设定每一个人要使用的家目录:

[homes]

comment = Home Directories

browseable = no

writable = yes

valid users = %S

create mode = 0664

directory mode = 0775

 create mode 指的是新创建档案的权限,而 directory mode 则是新建目录的权限 至于 valid users 则是有权限进入者,这里设定为 %S 喔!因此,  每一个使用者就能够进入本身的家目录了!  

 

  重点只有在于 security = user 以及 encrypt passwords 与 smb passwd file 这三行!有了这三行,  SAMBA 就须要去查询使用者要登入时的帐号与密码了。同时,请注意在 [homes] 里面的设定当中,有一个 valid users  。这个 valid users 指的是: 可以登入这个目录的使用者是谁?

◆设定使用者帐号与密码:

  咱们须要透过 SAMBA 所提供的功能来进行 Linux 的存取,而 Linux 的存取是须要取得 Linux 系统上面的 UID 与 GID 的,所以,咱们登入 SAMBA 主机时,所利用 SAMBA 取得的实际上是 Linux 系统里面的相关帐号!这也就是说,在 SAMBA 上面的使用者帐号,必需要是 Linux 帐号中的一个。

# smbpasswd -a bird

New SMB password: <==在这里输入 bird 的密码

Retype new SMB password: <==再输入一遍 bird 的密码

Added user bird.

# 请特别留意, SAMBA 的密码是放在 /etc/samba/smbpasswd 这个档案内,固然, 您能够更改这个档名 (在 smb.conf 里面改),可是, Linux 系统的帐号密码 # 是放在 /etc/shadow ,这也就是说, SAMBA 服务器的密码与 Linux 底下的 帐号密码并不必定要相同的。

-a : 在 smbpasswd 密码文件里面新增一个使用者

-d : 让在 smbpasswd 密码文件里面的某个帐号的使用者暂时没法使用 SAMBA 当多了 -d 的参数时,在 smbpasswd 里面某个字段会多出一个 D 的参数, 表明该帐号目前没法使用喔!

-e : 与 -d 参数相反,让某个帐号恢复使用!

-m : 该 username 为机器代码(Machine Account),这个与 domain model 有关!

◆固然这些只是简单的设定,samba还能够在大型的网络中使用,还能够共享打印功能,这里没有说明了。详见鸟哥私房菜。

相关文章
相关标签/搜索