磁盘配额quota与samba的结合 …

本文介绍如何在Linux环境下配置磁盘配额quota限制用户或组占用的存储空间,并结合Samba服务实现跨平台文件共享。通过具体步骤说明如何安装配置quota包、设置磁盘挂载选项、创建用户及配额文件等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.环境要求,解决问题
 
1.公司多个部门,有时候同一个部门要占用同一个共享硬盘空间,而文件服务器的空间是有限的,为了限制一个部门过多的占用共享空间而让其他部门的文件无法存放,就要给共享硬盘做一个配额,规定某一个部门最多占用一定的空间。
2.文件系统是在linux系统上,为了能让windows机器也能访问到,所以要采用samba文件系统。
3.要限制空间大小,就要采用quota.
 
二.配置磁盘配额quota
 
1.安装quota包
[root@localhost ~]# rpm -qa | grep quota
quota-3.13-1.2.5.el5
2.重新设置/etc/fstab挂载选项,并重启来完成挂载
重新设置前:
[root@localhost ~]# vim /etc/fstab 
LABEL=/                                      ext3    defaults        1 1
...
[root@localhost ~]# mount
/dev/sda3 on / type ext3 (rw)
...
设置后,重启:
[root@localhost ~]# vim /etc/fstab 
LABEL=/                                      ext3    defaults,usrquota,grpquota        1 1
...
[root@localhost ~]# mount
/dev/sda3 on / type ext3 (rw,usrquota,grpquota)
...
3.创建用户或组,给此用户或组做磁盘限定
useradd steve
passwd steve
4.建立配额文件,分别对用户和组
quotacheck -cmug /
配额文件会自动建立在分区文件系统的根目录中
[root@localhost ~]# ll / 
总计 178
-rw-------  1 root  root   9216 11-23 17:31 aquota.group
-rw-------  1 root  root   8192 11-23 17:32 aquota.user
...
5.给用户steve添加配额
[root@localhost ~]# edquota -u steve  (-u参数为配置用户,如果为给组配置,参数为-g)
Disk quotas for user steve (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda3                     16864     100000     200000         13              0
解释:列表中第一列Filesystem为要处理的分区;
第二列blocks为硬盘的当前blocks状态,不能改变(硬盘存储文件要写入block,同时占用一个inode),单位为K;
第三列soft为软限制,当所占空间大小超过这个值时就会报警,单位为KB;
第四列hard为硬限制,要比soft的值大,单位同为KB;
第五列及后面的两列是对inode数目就行限制的,单位为个数。
我上面设置的为100M,200M。
6.查看配置情况
[root@localhost ~]# quota -u steve
Disk quotas for user steve (uid 500): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda3   16864  100000  200000              13           
7.启动配额项
quotaon -avug
8.如果要修改配额项,要进行重启
quotaoff -a 先停止
再重新配置
quotaon -avug 再启动
9.测试
[root@localhost ~]# su -  steve
[steve@localhost ~]$ cp samba-3.0.33-3.7.el5.i386.rpm  1
[steve@localhost ~]$ cp samba-3.0.33-3.7.el5.i386.rpm  2
[steve@localhost ~]$ cp samba-3.0.33-3.7.el5.i386.rpm  3
[steve@localhost ~]$ cp samba-3.0.33-3.7.el5.i386.rpm  4
[steve@localhost ~]$ cp samba-3.0.33-3.7.el5.i386.rpm  5
sda3: warning, user block quota exceeded.   #达到100M时,开始报警
[steve@localhost ~]$ du -sh
99M     .
硬盘配额成功配置,下面就是与samba的应用
 
三.配置samba文件系统
 
1.安装samba包
为解决依赖关系,先安装上这个包: perl-Convert-ASN1-0.20-1.1.noarch.rpm
[root@localhost ~]# rpm -qa | grep samba
samba-3.0.33-3.7.el5
samba-common-3.0.33-3.7.el5
samba-client-3.0.33-3.7.el5
2.配置
主要配置为以下的选项
[root@localhost ~]#  grep ^[^#] /etc/samba/smb.conf  | grep ^[^;]
[global]
        workgroup = MYGROUP
        security = user   #用户访问模式,如果为非用户模式为share
        passdb backend = tdbsam
     
        load printers = yes
        cups options = raw
[disk]
        path = /disk   #共享目录
        browseable = yes  #可浏览器访问
        writable = yes   #可写
        guest ok = no   #不能匿名访问
        valid users = steve  #可访问的用户,前提是系统用户

3.创建/disk目录,并设置所属用户与组
mkdir /disk
chown steve.steve /disk
chmod 700 /disk
4.创建samba用户,前提是系统用户
smbpasswd -a steve
5.重启smb
service smb restart
6.测试
在一台与此smb机器能连通的机器上映射此samba文件系统
\ServerIPdisk
发现此分区的可用空间为100M
 
四.quota的group限定与samba
 
事实在实际工作中,不会单独的给某一个用户进行限定,而是给一个组。比如一个部门,每人都有自己的用户名,同时能访问到属于这个部门的共享空间。我们只要把这些用户名同属于一个组,然后对这个组就行限定就可以了。
 
1.建立组与用户
groupadd template
useradd -g template kaka
useradd -g template martin
useradd -g template roben
2.设定quota
#edquota -g template
Disk quotas for group template (gid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda3                        36     150000     250000                      0
~
#quotaoff -a
#quotaon -avug
3.设定samba用户
smbpasswd -a kaka
smbpasswd -a martin
smbpasswd -a roben
4.配置smb.conf
[root@localhost ~]#  grep ^[^#] /etc/samba/smb.conf  | grep ^[^;]
[global]
        workgroup = MYGROUP
        security = user   #用户访问模式,如果为非用户模式为share
        passdb backend = tdbsam
     
        load printers = yes
        cups options = raw
[disk]
        path = /disk   #共享目录
        browseable = yes  #可浏览器访问
        writable = yes   #可写
        guest ok = no   #不能匿名访问
        valid users = kaka,martin,roben #可访问的用户,前提是系统用户
5.改变共享目录所属组与权限
chown .template /disk
chmod 770 /disk
6.重启samba,进行测试,发现每个用户查看共享都为同样的空间150M。完成!
 
五.讨论
 
问:如果对组限定后,并对属于此组的某个用户也进行了限定,但是限定空间大小不同,会根据哪个来?
答:经过测试,为根据限定小的那个。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值