Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10706024
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:19:33

Linux Samba服务器配置小记

公司需求:
1.    公司搭建Samba服务器,将对公司数据进行统一的有效管理;
2.    所有员工在公司局域网内不论在哪台电脑上工作,都能访问并能将自己的文件数据保存在Samba文件服务器上。
3.    销售部,技术部都拥有各自部门的共享目录,其他部门不允许访问;
4.   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  密码放置文件
 
#新增每个用户的默认目录及群组用户目录,如下图;


编辑完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账户之前,确认系统中有相关账号;
      
 
测试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


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


使用jack账号查看,能看到自己的家目录;每个拥有SAMBA账号的用户,看到的目录都和自己的账号同名;
 
开始在客户端进行测试;利用一个账户进行测试;在测试时,遇到相关LINUX防火墙安全性问题;因此建议先关闭防火墙,或建相应的规则允许通过;如下图:




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


查看由于账号没有加入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账号访问;


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


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


OK,测试成功;SAMBA基本配置完成;
 
由于服务器空间有限,还得利用quota限制用户及组的空间使用;
Quota的前提,磁盘空间必须为独立的分区;可以依据不同的用户及组来加以限制使用硬盘空间;这里以/home为例;
比如限制每个用户的hardlimit为50MB;而softlimit为40MB;
1、修改/etc/fstab, 如下图;
[root@server ~]# vi /etc/fstab


[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


磁盘配额也基本完成;如果要对组进行配额,就执行以下命令;这里就不多言了;
[root@server ~]# edquota -g jishu
 
所有的配置步骤基本完成,由于在学习阶段;希望博友们多指教不足之处,并提相关建议,博主在此有礼了,THX;

阅读(1149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~