磁盘配额(quota)与高级文件系统管理

SAMBA可以让Windows与Linux之间共享文件系统,还可以成为打印机服务器(虽然现在不怎么需要这个功能)。

使用FTP传输文件有个小小的问题,那就是无法直接修改主机上面的文件数据。samba则不会。

CIFS (common Internet File System),是微软操作系统上面的文件系统。最常见的就是目前的“网上邻居”。不过CIFS只能让windows机器沟通,NFS是Unix-like上面的文件共享,只能让Unix机器沟通。

samba原为 Server Message Block(SMB)文件系统,后来在注册的时候因为需要而注册为samba(热情奔放的拉丁舞蹈)。

samba 这个文件系统是架构在NetBIOS( Network Basic Input/Output System)这个通信协议上面开发出来的。NetBIOS是无法跨越路由的。

NetBIOS在局域网内实在是很好用,所以微软的网络架构就是用了这个协议来进行沟通。但通过NetBios over TCP/IP 的技术,我么就可以跨路由使用SAMBA服务器所提供的功能。当然,Samba还是比较广泛地是用在LAN里。


NetBios 当初发展时就着眼于局域网内的快速数据交流,而因为是定义在局域网内,因此它并没有使用了类似 TCP/IP 之类的传输协议,也就不需要IP的设置。其实主机在Netbios协议当中的定义为使用“NetBios name”,每一台主机必须要有不同的NetBios name才行,额头文件数据就是在不同的NetBios name 之间沟通。在同一个组中,NetBios 必须是独一无二的。

SAMBA是通过两个服务来控制的,分别是:

nmbd:这个daemon是用来管理工作组、NetBIOS Name等的解析。主要利用UDP协议开启port137、138来负责名称解析的任务;

smbd:这个daemon的主要功能就是用来管理SAMBA主机共享的目录、文件与打印机等。主要利用可靠的TCP协议来传输数据,开放的端口为139与445。


samba的配置文件/etc/samba/smb.conf主要包括两部分:

[global]

[共享资源名称]

global中就是一些服务器的全局参数;

共享资源名称则是针对开放的目录来进行权限方面的设置。


在新版本的samba中,匿名访问有所变化:

security = user

map to guest = Bad User


特别注意以下几点:

setenforce 可能需要关闭,如果以未设置防火墙配置;

writeable = yes

browseable = yes

SAMBA用户账户必须要存在于Linux系统当中(/etc/passwd),但是SAMBA用户密码可以另行设置;

共享的文件夹必须首先存在于服务器上;

文件夹的相关权限问题;

利用编辑smb.conf来开放其他的目录资源,并且特别注意Linux在该目录下的权限,chown,chmod;

利用pdbedit 来添加其他可用的SAMBA账户,如果该账户没有存在于/etc/passwd里面,请先以 useradd 添加账户;

不论进行完任何的设置,请先以testparm进行确认,之后重启smb服务;

如果samba用户太多,并且它们的数据都放置在samba服务器上的话,/home未来肯定不够用,所以/home所在的磁盘或许可以使用大一点的硬盘,或者使用磁盘阵列,使用LVM;

在安装Linux时,建议不安装 X Window;

在规划linux时,/home最好独立出一个partition,而且硬盘空间大一点;

规划samba针对内网IP开放或者设置一定的防火墙规则。


可用宏列表:

%m:客户端主机的NetBIOS名称使用 pdbedit 来新增samba用户:

%M:客户端的Internet主机名,即HOSTNAME

%H:当前用户的家目录

%U:当前用户的用户名

%g:当前用户所属的组名

%h:当前SAMBA主机的HOSTNAME

%I:客户端主机IP

%T:当前的日期时间


创建Samba用户的密码:

pdbedit -a -u smb1

输入密码,可与系统密码不一致

因为SAMBA会对外提供服务,因此SELinux会特别关照一下这个服务。


SAMBA安全性的议题与管理:

使用samba是有一定的危险性的,很多网络攻击的蠕虫、病毒、木马就是通过网上邻居来攻击的。为了阻挡不必要的连接,默认的SELinux已经关闭了很多SAMBA连接的功能,因此可能很多客户端的挂载可能会有问题。

1、SELinux的相关议题

2、防火墙议题:iptables来管理

3、通过内建的SAMBA设置(smb.conf)

[global]

hosts allow = 192.168.


SAMBA的访问:

通过windows的网络搜索;

通过 port 445的特殊登陆方式:

\\192.168.xx.xx



Samba.conf栗子

```

[global]

workgroup = SAMBA

security = user

passdb backend = tdbsam

unix charset = utf-8

display charset = utf-8

#printing = cups

#printcap name = cups

#load printers = yes

#cups options = raw

browseable = yes

hosts allow = 192.168.

log file = /var/log/samba/log.%m


[共享]

comment = Public

path = /home/samba

public = yes

writeable = yes

browseable = yes


[myself]

comment = zhang

path = /home/zhang

valid users = zhang,root

writeable = yes

guest ok = no #是否允许匿名访问


[group]

comment = group share

path = /home/group

valid users = @group

writeable = yes

```

你可能感兴趣的:(磁盘配额(quota)与高级文件系统管理)