Với một môi trường làm việc đa người dùng, việc
giới hạn dung lượng đĩa sử dụng cho từng người dùng là cần thiết. Để thực hiện
điều này, có thể có nhiều cách khác nhau, như là chia ổ đĩa cứng thành nhiều
phân vùng nhỏ rồi gắn cho từng user. Cách này cũng tốt nhưng nó có nhiều nhược
điểm là: thứ nhất khi các phân vùng gần đầy, việc ghi dữ liệu sẽ khó khăn; thứ
hai là khi bạn cần thay đổi hạn ngạch thì sẽ khó khăn; thứ ba là đĩa cứng bị
lãng phí; thứ tư là không hạn ngạch theo nhóm được. May mắn thay là bạn không cần
làm như vậy, vì Linux cung cấp cho chúng ta một mô-đun là quota.
quota giúp bạn quản lý hạn ngạch đĩa cứng cho từng user cũng như group. Hạn ngạch cho group là tổng dung lượng đĩa cho các thành viên trong nhóm. Khi hạn ngạch này hết, thì cho dù user còn quota cũng không thể sử dụng.
Sử dụng quota thích hợp nhất có lẽ là cho thư mục /home. Giả sử bạn sử dụng /dev/sdb5 để gắn cho thư mục này.
1. Cấu hình để sử dụng quota
Cần cài đặt nếu máy chưa có:
quota giúp bạn quản lý hạn ngạch đĩa cứng cho từng user cũng như group. Hạn ngạch cho group là tổng dung lượng đĩa cho các thành viên trong nhóm. Khi hạn ngạch này hết, thì cho dù user còn quota cũng không thể sử dụng.
Sử dụng quota thích hợp nhất có lẽ là cho thư mục /home. Giả sử bạn sử dụng /dev/sdb5 để gắn cho thư mục này.
1. Cấu hình để sử dụng quota
Cần cài đặt nếu máy chưa có:
Mã:
$ apt-get install quota
Để sử dụng quota cho /dev/sdb5 một cách tự động
cho thư mục /home bạn cần khai báo thêm tuỳ chọn usrquota cho user và grpquota
để áp dụng quota cho nhóm. Sửa file /etc/fstab từ:
Mã:
/dev/sdb5 /home ext4 defaults 1
2
thành:
Mã:
/dev/sdb5 /home ext4
defaults,usrquota,grpquota 1 2
Bạn cũng cần tạo file aquota.user,
aquota.group lưu thông tin. Ở đây tôi tạo file aquota.user để đặt quota cho
user làm ví dụ minh hoạ, với group bạn có thể làm tương tự.
Mã:
$ touch /home/aquota.user
Sau bước này bạn cần phải khởi động lại hệ điều
hành. Có thể gắn lại sử dụng mount, nhưng không phải lúc nào cũng thành công,
nhìn chung thì tốt nhất là nên khởi động lại.
2. Sử dụng quota
Khởi tạo bảng quota, bảng này chứa những thông tin file system đã được cấp phát cho từng user trong hệ thống. Bảng này sẽ tự động và trong suốt cập nhật thông tin mỗi khi user thao tác với file system. Hệ thống sẽ so sánh giá trị trong bảng này và giá trị quota mà bạn đã đặt cho các user trong quota file để xem xem user có thể sử dụng vượt quá không gian ổ cứng được phép hay không.
khởi tạo bảng quota bằng lệnh
2. Sử dụng quota
Khởi tạo bảng quota, bảng này chứa những thông tin file system đã được cấp phát cho từng user trong hệ thống. Bảng này sẽ tự động và trong suốt cập nhật thông tin mỗi khi user thao tác với file system. Hệ thống sẽ so sánh giá trị trong bảng này và giá trị quota mà bạn đã đặt cho các user trong quota file để xem xem user có thể sử dụng vượt quá không gian ổ cứng được phép hay không.
khởi tạo bảng quota bằng lệnh
Mã:
$ quotacheck -vagum
Để đặt giá trị quota cho user bạn dùng lệnh
edquota . Ví dụ để đặt quota cho user nam bạn dùng lệnh
Mã:
$ edquota -u nam
thông tin hiện ra cho phép bạn xem xét và chỉnh
sửa quota cho user tương ứng thông qua trình soạn thảo mạc định của hệ thống
thường là vi. Để thay đổi sang nano bạn chạy lệnh export EDITOR=nano. Bạn cũng
có thể thêm dòng này vào .bash_profile hay .bashrc.
Mã:
#Filesystem blocks soft hard
inodes soft hard
/dev/sdb5 24 0 0 7 0 0
Blocks: thể hiện dung lượng ổ cứng mà user
đang sử dụng, tính theo đơn vị block. Bạn không sửa trường dữ liệu này! Để biết
kích thước của một block của phân vùng đĩa cứng, bạn sử dụng lệnh:
Mã:
$ dumpe2fs /dev/sdb5 | grep size
Inodes: thể hiện số lượng file tất nhiên là cả
thư mục nữa của user đó. Bạn không sửa trường dữ liệu này!
Soft: thể hiện dung lượng ổ cứng lớn nhất mà user được phép dùng. Người dùng có thể sử dụng tạm thời vượt quá giá trị này nếu như Hard limit lớn hơn soft limit và chỉ trong thời gian được hạn định (grace periods tạm dịch là thời gian gia hạn). Khi đó nếu sử dụng quá dung lượng được phép trong giới hạn thời gian quy định bởi tham số “grace” user chỉ bị cảnh báo. Nếu vượt quá giá trị “grace” mà giá trị soft không được đặt lại, user sẽ không thể sử dụng thêm không gian ổ cứng.
Hard: thể hiện dung lượng ổ cứng lớn nhất mà user được phép dùng thông số này chỉ có ý nghĩa khi tham số “grade” được sử dụng. Nó thể hiện rằng user chỉ có thể vượt quá giá trị soft chứ không thể vượt quá giá trị hard (khi tham số grade được đặt).
Như bạn thấy có hai trường soft và hard. Cặp thứ nhất là dành cho block và cặp thứ hai dành cho node tức là dành cho số lượng file và thư mục. Nếu bạn là người mới bắt đầu thì chỉ nên sửa trường thứ ba và thứ tư mà thôi, và đặt chúng bằng nhau. Ví dụ bạn đặt thông tin quota cho user nam thành
Soft: thể hiện dung lượng ổ cứng lớn nhất mà user được phép dùng. Người dùng có thể sử dụng tạm thời vượt quá giá trị này nếu như Hard limit lớn hơn soft limit và chỉ trong thời gian được hạn định (grace periods tạm dịch là thời gian gia hạn). Khi đó nếu sử dụng quá dung lượng được phép trong giới hạn thời gian quy định bởi tham số “grace” user chỉ bị cảnh báo. Nếu vượt quá giá trị “grace” mà giá trị soft không được đặt lại, user sẽ không thể sử dụng thêm không gian ổ cứng.
Hard: thể hiện dung lượng ổ cứng lớn nhất mà user được phép dùng thông số này chỉ có ý nghĩa khi tham số “grade” được sử dụng. Nó thể hiện rằng user chỉ có thể vượt quá giá trị soft chứ không thể vượt quá giá trị hard (khi tham số grade được đặt).
Như bạn thấy có hai trường soft và hard. Cặp thứ nhất là dành cho block và cặp thứ hai dành cho node tức là dành cho số lượng file và thư mục. Nếu bạn là người mới bắt đầu thì chỉ nên sửa trường thứ ba và thứ tư mà thôi, và đặt chúng bằng nhau. Ví dụ bạn đặt thông tin quota cho user nam thành
Mã:
#Filesystem blocks soft hard
inodes soft hard
/dev/sdb5 24 5000 5000 7 0 0
khi đó user nam không thể sử dụng dung lượng ổ
cứng quá 5MB, trong trường hợp blocksize=1024.
Tham số “grace” thể hiện khoảng thời gian mà user có thể sử dụng dung lượng ổ cứng vượt quá giá trị Soft limit, mặc định nó thường là 7 ngày. Bạn có thể sử dụng các đơn vị thời gian như: seconds, minutes, hours, days, weeks, và months. Đặt giá trị cho tham số này bằng lệnh:
Tham số “grace” thể hiện khoảng thời gian mà user có thể sử dụng dung lượng ổ cứng vượt quá giá trị Soft limit, mặc định nó thường là 7 ngày. Bạn có thể sử dụng các đơn vị thời gian như: seconds, minutes, hours, days, weeks, và months. Đặt giá trị cho tham số này bằng lệnh:
Mã:
$ edquota –tu # chỉnh cho user
có thể bỏ -u
$ edquota –tg # chỉnh cho group
Filesystem Block grace period
Inode grace period
/dev/sdb5 7days 7days
Bạn có thể ‘nhân bản’ quota, thật tiện lợi phải
không nào. Ví dụ bạn có thể áp dụng quota của ‘nam’ cho ‘minh’:
Mã:
$ edquota -p nam -u minh
3. Xem thông tin về quota
Để xem thông tin quota bạn dùng lệnh quota. Ví dụ để xem thông tin quota của user nam bạn dùng lệnh
Để xem thông tin quota bạn dùng lệnh quota. Ví dụ để xem thông tin quota của user nam bạn dùng lệnh
Mã:
$ quota -u nam # user nam
$ quota -g staff # nhóm staff Để
thống kê thông tin quota về các nhóm và user bạn dùng
$ repquota -au # theo người dùng
$ repquota -ag # theo nhóm
$ repquota -agu # tất cả
Không có nhận xét nào:
Đăng nhận xét