Linux Samba服务器配置小记


公司需求:


1.    公司搭建Samba服务器,将对公司数据进行统一的有效管理;


2.    所有员工在公司局域网内不论在哪台电脑上工作,都能访问并能将自己的文件数据保存在Samba文件服务器上。


3.    销售部,技术部都拥有各自部门的共享目录,其他部门不允许访问;


4.   Samba服务器只供公司内部使用,并限量员工的使用空间。


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_运维



根据网络拓扑进行Samba服务器的部署步骤;


一、建立公司员工账号及技术与销售组;


二、将相关员工加入技术及销售组;


三、建立销售及技术共享的目录,并更改目录相关权限;


四、安装并配置Samba服务器;


五、利用quota进行磁盘配额;


关于如何建账号,组这里就不再叙述。直接从第三步开始进行部署;


[root@server ~]# mkdir /home/sales


[root@server ~]# mkdir /home/jishu


[root@server ~]# chgrp jishu /home/jishu


[root@server ~]# chmod 770 /home/jishu


[root@server ~]# chgrp sales /home/sales


[root@server ~]# chmod 770 /home/sales


 


安装并配置Samba;


[root@server ~]# rpm -qa samba*


samba-common-3.0.23c-2


samba-3.0.23c-2


samba-client-3.0.23c-2


默认系统已经安装好Samba组件;


 


设置smb.conf配置文件如下:


[root@server ~]# vi /etc/samba/smb.conf


具体相关配置文件里面的参数,有兴趣自己去搜索相关资料;


#设置主机方面的参数;


[global]


#与Linux主机名称有关的设置信息


   workgroup = keywise        工作组设置


   netbios name=server        Samba服务器的NETBIOS名称


   server string = This is liang’s Samba Server 


#与语言有关的设置信息


   unix charset=utf8


   display charset=utf8


   dos charset=cp950


#与日志文件有关的设置信息


   log file = /var/log/samba/%m.log   日志存放位置


   max log size = 50


#与密码有关的设置信息


security = user   访问需要提供密码  


   encrypt passwords=yes   是否加密


   smb password file=/etc/samba/smbpasswd  密码放置文件


 


#新增每个用户的默认目录及群组用户目录,如下图;


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_运维_02



编辑完smb.conf文件后,保存退出;


 


 


然后设置可使用Samba的账号与密码;


先查看并确认密码文件是否存在,若不存在,得自行建立;


[root@server ~]# ls -l /etc/samba/smbpasswd


-rw------- 1 root root 207 Jul  6 01:15 /etc/samba/smbpasswd


新增用户并查看/etc/samba/smbpassword;如下图;添加samba账户之前,确认系统中有相关账号;


      


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_Processing_03


 


测试smb.conf语法设置的正确性;


[root@server ~]# testparm


Load smb config files from /etc/samba/smb.conf


Processing section "[homes]"


Processing section "[printers]"


Processing section "[temp]"


Processing section "[homes]"


Processing section "[jishu]"


Processing section "[sales]"


Loaded services file OK.


Server role: ROLE_STANDALONE


Press enter to see a dump of your service definitions


 


启动并观察SMB服务


[root@server ~]# /etc/init.d/smb start


Starting SMB services:                                     [  OK  ]


Starting NMB services:                                     [  OK  ]


[root@server ~]# netstat -tlunp


Active Internet connections (only servers)


Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name


tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      2667/smbd  


tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN      2667/smbd  


udp        0      0 192.168.1.50:137            0.0.0.0:*                               2671/nmbd  


udp        0      0 0.0.0.0:137                 0.0.0.0:*                               2671/nmbd  


udp        0      0 192.168.1.50:138            0.0.0.0:*                               2671/nmbd  


udp        0      0 0.0.0.0:138                 0.0.0.0:*                               2671/nmbd  


注:Samba默认会启动多个端口,TCP端口139,445;UDP端口137,138;


 


测试SAMBA


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_网络_04



使用匿名账号查看,密码为空;看到相关的工享目录;


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_网络_05



使用jack账号查看,能看到自己的家目录;每个拥有SAMBA账号的用户,看到的目录都和自己的账号同名;


 


开始在客户端进行测试;利用一个账户进行测试;在测试时,遇到相关LINUX防火墙安全性问题;因此建议先关闭防火墙,或建相应的规则允许通过;如下图:



Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_网络_06


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_Processing_07





利用一个属于sales组的账户,访问sales共享目录,出现如下错误;

Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_服务器_08



查看由于账号没有加入sales组;因为/home/sales目录所属组为sales;因此没权限访问;

[root@server ~]# ll /home

total 72

drwxrwx--- 2 root  jishu  4096 Jul  6 06:21 jishu

drwx------ 2 liang liang  4096 Jul  6 06:16 liang

drwx------ 2 root  root  16384 Jun 26 08:43 lost+found

drwxrwx--- 2 root  users  4096 Jul  6 01:16 public

drwxrwx--- 2 root  sales  4096 Jul  6 02:30 sales

将账户加入相应组;

[root@server ~]# vi /etc/group

jishu:x:504:jack

sales:x:505:tom

 

然后利用net use * /del 删除已建连接;重新用Jack账号访问;


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_服务器_09



 

能成功看到属于自己的私有目录;并对目录有写入权限;

 


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_网络_10



 

看对技术目录有没有权限写入,测试一下;因为Jack属于技术组;因此应该对jishu目录有写入权限;


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_运维_11



OK,测试成功;SAMBA基本配置完成;

 

由于服务器空间有限,还得利用quota限制用户及组的空间使用;

Quota的前提,磁盘空间必须为独立的分区;可以依据不同的用户及组来加以限制使用硬盘空间;这里以/home为例;

比如限制每个用户的hardlimit为50MB;而softlimit为40MB;

1、修改/etc/fstab, 如下图;

[root@server ~]# vi /etc/fstab


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_服务器_12



[root@server ~]# mount–a

[root@server ~]# sync;sync;sync; reboot

建立quota所需要的设置文件;

[root@server ~]# quotacheck -avug

quotacheck: Scanning /dev/hda6 [/home] quotacheck: Cannot stat old user quota file: No such file or directory

quotacheck: Cannot stat old group quota file: No such file or directory

quotacheck: Cannot stat old user quota file: No such file or directory

quotacheck: Cannot stat old group quota file: No such file or directory

done

quotacheck: Checked 10 directories and 21 files

quotacheck: Old file not found.

quotacheck: Old file not found.

[root@server ~]#

 

以上提示为找不到相关设置文件;只能自行建立;

[root@server ~]# touch /home/aquota.user; touch /home/aquota.group

[root@server ~]# quotacheck -avug

quotacheck: Scanning /dev/hda6 [/home] done

quotacheck: Checked 10 directories and 23 files

[root@server ~]#

启动quota

[root@server ~]# quotaon -av

/dev/hda6 [/home]: group quotas turned on

/dev/hda6 [/home]: user quotas turned on

[root@server ~]#

设置用户磁盘配额;

[root@server ~]# edquota -u jack


Linux系统 samba服务 审计日志配置 linux配置与管理samba服务器_运维_13



磁盘配额也基本完成;如果要对组进行配额,就执行以下命令;这里就不多言了;

[root@server ~]# edquota -g jishu

https://blog.51cto.com/leo0216/86312