首页 > 编程知识 正文

手机samba服务器,windows日志服务器搭建

时间:2023-05-06 10:17:54 阅读:19750 作者:2899

如果希望共享文件,在Linux到Linux环境中,最简单的方法是通过网络信息服务—— NIS (NIS ) (网络信息服务)集中控制几个系统管理数据库这已经够了! 在Windows对Windows环境中,最简单的方法是网络邻居。 如果你的互联网上有Windows和Linux,并且想共享文件系统,我该怎么办? 使用Samba服务器吧! Samba可以让Linux加入Windows的在线邻居支持,让异构平台共享文件系统! 很好用! 不仅如此,Samba还可以使Linux上的打印机成为“打印机服务器”。

SAMBA服务器角色:

共享文件和打印机服务

提供用户登录SAMBA主机时的认证,可提供不同标识符的个别数据;

可以在Windows网络上解析主机名(NetBIOS name )

可以共享设备(例如Zip、CDROM . ) )。

SAMBA服务器应用示例:

1 )利用软件直接编辑维修WWW主机上的网页数据:

用samba代替ftp; 实现在线编辑。

2 )使其成为可以直接在线的文件服务器:

如果使用SAMBA共享硬盘空间,则用户在登录到名为SAMBA的服务器主机时需要输入用户数据(帐户和密码),每个登录者获取不同的目录资源,因此自己的数据发布也可以在不同的公共计算机上登录到SAMBA主机。 数据的使用带有相当多的棍子。

3 )打印机服务器:

SAMBA可以共享文件系统,也可以共享打印机,还可以直接在Linux上共享的打印机上打印。

SAMBA使用的daemons

1 )获取对方主机的NetBIOS name,确定该主机的位置:

如果登录到一台Windows主机并使用他提供的归档数据,则必须加入该Windows主机的组(Workgroup )。 另外,我们的机器也需要设置主机名。 请注意。 此主机名与Hostname不同。 此主机名内置于NetBIOS协议中,因此在可以轻松称为NetBIOS的同一组中,NetBIOS Name必须是唯一的。

2 )利用对方赋予的权限访问可用资源:

找到此主机名后,请检查是否可以登录到对方主机,是否可以占用对方主机提供的资源,以及对方的Windows主机是否提供了我们使用的权限。 因此,登录Windows主机后,并不是可以无限制地使用该主机的文件资源。 这意味着,如果对方主机允许登录,但没有释放任何资源,则登录主机将无法看到对方硬盘中的数据。

SAMBA通过以下两个服务控制这两个步骤:

nmbd :此守护进程用于管理工作组和NetBIOS name等分析。 主要利用UDP协议打开端口137、138,负责名字解析任务;

smbd :此守护进程的主要功能是管理SAMBA主机共享的目录、文件、打印机等。 主要使用受信任的TCP协议传输数据。 开放端口为139和445 (不一定存在)。

所以SAMBA每次启动至少需要这两个daemons。

SAMBA服务器在线方式:

SAMBA服务应用相当广泛,可以通过按域和按用户帐户管理密码的方式进行分类。 例如,peer/peer (对等模式)和域模式(主模式)。

Samba所需的软件及其软件结构:

samba )此软件主要提供SMB服务器所需的服务进程(smbd和nmbd )、的文档文件以及其他与samba相关的logrotate配置文件和引导默认选项文件

SAMBA-client :此软件提供使用Linux作为samba客户端时所需的工具命令。 例如,挂载samba文件格式的mount.cifs,以及获取网络芳香树视图的smbtree。

SAMBA-common (此软件提供服务器和客户端都使用的数据,包括samba的主要配置文件(smb.conf )、语法检查指令(testparm )等。

/etc/Samba/smb.conf :这是Samba的主要配置文件。 基本上,我们的samba只有这个配置文件。 而且,这个构成文件本身就是详细的说明文件。 请用vim调查。 的主要设置分为服务器设置(global ),如下所示

工作组、NetBIOS 名称与密码等级等, 以及分享的目录等相关设定,如实际目录、分享资源名称与权限等等两大部分。 

/etc/samba/lmhosts: 早期的 NetBIOS name 需额外设定,因此需要这个lmhosts 的 NetBIOS name 对应的 IP 檔。 事实上它有点像是 /etc/hosts 的功能!只不过这个 lmhosts 对应的主机名是 NetBIOS name 喔!不要跟/etc/hosts 搞混了!目前 Samba 预设会去使用你的本机名称 (hostname) 作为你的 NetBIOS name,因此这个档案不设定也无所谓。 

/etc/sysconfig/samba: 提供启动 smbd, nmbd 时,你还想要加入的相关服务参数。

/etc/samba/smbusers: 由于 Windows 与 Linux 在管理员与访客的账号名称不一致,例如: administrator (windows) 及 root(linux), 为了对应这两者之间的账号关系,可使用这个档案来设定。

/var/lib/samba/private/{passdb.tdb,secrets.tdb}: 管理 Samba 的用户账号/密码时,会用到的数据库档案;

/usr/share/doc/samba-<版本>: 这个目录包含了 SAMBA 的所有相关的技术手册喔!也就是说,mdcc安装好了 SAMBA 之后,你的系统里面就已经含有相当丰富而完整的 SAMBA 使用手册了!



Samba 的设定:

1.     服务器整体设定方面:在 smb.conf 当中设定好工作组、NetBIOS 主机名、密码使用状态 (无密码分享或本机密码) 等等; 
2.     规划准备分享的目录参数:在 smb.conf 内设定好预计要分享的目录或装置以及可供使用的账号数据; 
3.     建立所需要的文件系统:根据步骤 2 的设定,在 Linux 文件系统当中建立好分享出去的档案或装置,以及相关的权限参数; 
4.     建立可用 Samba 的账号:根据步骤 2 的设定,建立所需的 Linux 实体账号,再以 pdbedit 建立使用 Samba 的密码; 
5.     启动服务:启动 Samba 的 smbd, nmbd 服务,开始运转! 

根据上面的流程,其实我们最需要知道的就是 smb.conf 这个配置文件的信息就是了。

这个档案其实可以分为两部份来看, 一个是主机信息部分,在 smb.conf 当中以 [global] (全领域) 作为设定的依据;另一个则是分享的信息, 以个别的目录名称为依据。另外,由于 Samba 主要是想加入网邻功能,因此在 smb.conf 内的很多设定都与 Windows 类似。

# 会有很多加上 # 或 ; 的批注说明,你也可以自行加上来提醒自己相关设定 [global] 参数项目 = 设定内容 .... [分享资源名称] 参数项目 = 设定内容 ....
在 [global] 当中的就是一些服务器的整体参数了,包括工作组、主机的 NetBIOS 名称、字符编码的显示、登录文件的设定、 是否使用密码以及使用密码验证的机制等等,都是在这个 [global] 项目中设定的。至于 [分享资源名称] 则是针对你开放的目录来进权限方面的设定,包括谁可以浏览该目录、是否可以读写等等参数。

在 [global] 部分关于主机名信息方面的参数主要有: 
workgroup = 工作组的名称:注意,主机群要相同; 
netbios name = 主机的 NetBIOS 名称啊,每部主机均不同; 
server string = 主机的简易说明,这个随便写即可。

display charset = 自己服务器上面的显示编码, 例如你在终端机时所查阅的编码信息。一般来说,与底下的 unix charset 会相同。 
unix charset = 在 Linux 服务器上面所使用的编码,一般来说就是 i18n 的编码啰!所以你必须要参考 /etc/sysconfig/i18n 内的『默认』编码。 
dos charset = 就是 Windows 客户端的编码了! 一般来说我们的繁体中文 Windows 使用的是 big5 编码,这个编码在 Samba 内的格式被称为『 cp950 』喔!


除此之外,还有登录文件方面的信息,包括这些参数: 
 log file = 登录档放置的档案,文件名可能会使用变量处理; 
max log size = 登录档最大仅能到多少 Kbytes ,若大于该数字,则会被 rotate 掉。 
还有网芳开放分享时,安全性程度有关的密码参数,包括这几个: 
security = share, user, domain:三选一,这三个设定值分别代表: 
share:分享的数据不需要密码,大家均可使用 (没有安全性); 
user :使用 SAMBA 服务器本身的密码数据库,密码数据库与底下的passdb backend 有关; 
domain:使用外部服务器的密码,亦即 SAMBA 是客户端之意,如果设定这个项目, 你还得要提供『password server = IP』的设定值才行;

encrypt passwords = Yes 代表密码要加密。

passdb backend = 数据库格式,如前所述,为了加快速度, 目前密码文件已经转为使用数据库了!默认的数据库格式微 tdbsam ,而预设的档案则放置到/var/lib/samba/private/passwd.tdb。


分享资源的相关参数设定 [分享的名称] :

comment :只是这个目录的说明而已! 

path :这个分享名称实际会进入的 Linux 文件系统 (目录)。 也就是说,在网芳当中看到的是 [分享] 的名称,而实际操作的文件系统则是在 path 里头所设定的。  

browseable :是否让所有的用户看到这个项目? 
writable :是否可以写入?这里需要注意一下喔!那个 read only 与 writable 不是两个蛮相似的设定值吗?如果 writable 在这里设定为 yes ,亦即可以写入,如果 read only 同时设定为 yes , 那不就互相抵触了!那个才
是正确的设定?答案是:最后出现的那个设定值为主要的设定!  
create mode 与 directory mode 都与权限有关的咯! 
writelist = 用户, @群组,这个项目可以指定能够进入到此资源的特定使用者。 如果是 @group 的格式,则加入该群组的使用者均可取得使用的权限,设定上会比较简单! 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。