用途:采用samba服务实现文件共享访问,quota实现用户磁盘配额

 

环境:Centos 5.3 samba-3.0.33 quota-3.13-1.2.5.el5

 

一、安装samba,quota

[root@samba ~]yum install samba.i386
[root@samba ~]yum install quota.i386

 

二、配置samba

 

2.1创建samba用户,设置密码。

[root@samba ~]useradd tech  -s /sbin/nologin
[root@samba ~]passwd tech

 

[root@samba ~]smbpasswd -a tech  #添加samba 用户,这里要与系统tech用户密码相同
New SMB password:
Retype new SMB password:
Added user tech.

 

2.2设置共享目录权限
Chmod 770 /home/tech

 

2.3编辑samba配置文件,添加相应配置,tech用户为例。

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

 

[tech]                                                    #共享名
        comment= tech work directory     # 描述
        path=/home/tech                         #共享目录
        public=no                                      #不允许guest用户访问
        writable=yes                                #允许许用户是否可写
        valid users=tech           #允许访问该共享的用户,如果是组应该是@+组名,如:@tech

 

2.4检测smb.conf文件语法是否正确,出现出现OK,表示语法正确

[root@samba ~]testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[tech]"
Loaded services file OK.

 

2.5启动smb服务

[root@samba ~]/etc/init.d/smb start
Starting SMB services: [  OK  ]
Starting NMB services: [  OK  ]

 

2.6检查smb服务是否启动

[root@samba ~]netstat –ntlp
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN      4517/smbd

 

2.7添加iptables相关配置

:Samba默认会启动多个端口,TCP端口139,445;UDP端口137,138;
iptables –A INPUT –p tcp –i eth0 –s 192.168.0.0/24 –dport 139 –j ACCEPT #充许192.168.0.0 网络能访问smb服务

iptables –A INPUT –p udp –i eth0 –s 192.168.0.0/24 –dport 137:138 –j ACCEPT

 

2.8测试smb服务

在同一局域网一台winxp系统的电脑上,在运行框里输入\\192.168.0.252,如下图所示
1.JPG
 
进入tech目录,在里边新建一个txt文本文件,如下图所示:
2.JPG
 
说明samba服务器配置成功!
三、配置quota 磁盘配额

 

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

 

3.1修改/etc/fstab 文件,添加相应quota选项, usrquota,grpquota,

[root@samba ~]vi /etc/fstab
LABEL=/      /          ext3    defaults,usrquota,grpquota        1 1
添加quota支持,要重启服务器才生效
[root@samba ~]reboot

 

3.2生成磁盘配额文件

[root@samba ~] quotacheck -cumg /        # 这里要是 / 根分区,因为我们是在根分区上做磁盘配额

[root@samba ~]ls /
aquota.group  bin   etc   lib  media  mnt  opt    root  selinux      srv  tmp  var
aquota.user   boot  dev   home  lost+found  net  proc    sbin  sys  usr 

 

aquota.user,aquota.group二个就是生成的磁盘配额文件

 

3.3samba用户创建磁盘配额,以tech用户为例,限制30M容量。

 

 

[root@samba ~]edquota -u tech   #这时会打开一个配置文件,如下所示:
Disk quotas for user tech (uid 501):
  Filesystem        blocks       soft       hard     inodes     soft     hard
  /dev/sda3         3492      30000      30000     246        0        0

 

注:

这里blocks soft hard表示对文件容量限制,blocks 表示原有的,soft 表示软限制,hard表示硬限制,单位是KB
这里inodes soft hard表示对文件数限制

 

3.4启动quota磁盘配额

[root@samba ~]quotaon –av
/dev/sda3 [/]: group quotas turned on
/dev/sda3 [/]: user quotas turned on
关闭 quota磁盘配额
[root@samba ~]quotaoff –av
/dev/sda3 [/]: group quotas turned off
/dev/sda3 [/]: user quotas turned off

 

3.5测试quota磁盘配额

 

在共享tech目录中上传文容量大于30M时,系统会提示磁盘空间不足的提示。表示quota磁盘配额配置成功。如下图所示:
 
3.JPG