Quota trong Linux RedHat !)
Được tiến hành theo các bước sau: _ Chỉnh sữa tập tin /etc/fstab _ Tạo tập tin lưu cấu hình _ Kích hoạt chức năng Quota _ Gán Quota cho user hay group Bước1: Chỉnh sửa tập tin /etc/fstab Tập tin /etc/fstab là nơi chứa phân vùng mount khi unix khơi động. Ví dụ tập tin /etc/fstab: /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 devpts /dev/pts devpts gid=5,mode=620 0 0 /dev/hda5 /home ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 Vào tập tin này ta chỉ định phận vùng mà ta muốn thực hiện quota. Ta có thể chỉ định quota cho user hay group. Trong ví dụ trên ta thấy dòng: dev/hda5 /home ext3 defaults 1 2 Bây giờ ta sẽ chỉ định phân vùng này thực hiện quota cho user, bằng cách thêm tham số usrquota vào : /dev/hda5 /home ext3 defaults,usrquota 1 2 Nếu muốn thực hiện quota cho group thì thêm tham số grpquota vào: /dev/hda5 /home ext3 defaults,grpquota 1 2 Ta cũng có thể thực hiện quota cho cả user và group trên phân vùng ta muốn chỉ định: /dev/hda5 /home ext3 defaults usrquota,grpquota 1 2 Bước 2: Tạo tập tin lưu cấu hình Sau khi ta thực hiện việc chỉnh sữa tập tin /etc/fdtab để chỉ định phân vùng thực hiện quota cho user và group, thì ta phải tạo ra tập tin để lưu trữ thông tin cấu hình cho user, group trong thư mục home. Tập tin cho user có tên là aquota.user còn group thì aquota.gruop, cách tạo tập tin: #touch aquota.user #touch aquota.group Bước 3: Kích hoạt chức năng Quota Sau khi tạo tập tin lưu thông tin thì ta phải reboot lại máy. Sau khi reboot để chức năng quota được gắn kết với hệ thống tập tin, thì hệ thống bây có khả năng làm việc. Tuy nhiên, hệ thống tập tin này chưa thật sự sẵn sàng, nên ta phải thực hiện quotacheck. Lệnh quotacheck là nhằm để kiểm tra hệ thống tập tin được cấu hình quota và xây dựng lại bảng sử dụng đĩa hiện hành. Với câu lệnh như sau: #quotacheck Option: –avug ( #quotacheck –avug ) -a: kiểm tra tất cả những hệ thống tập tin cấu hình quota -v: hiển thị thông tin trạng thái khi kiểm tra -u: kiểm tra quota cho từng user -g: kiểm tra quota cho nhóm Bước 4: Giới hạn không gian đĩa cho user, group Người quản trị hệ thống sẽ thiết lập quota cho user hay group trong tập tin có tên aquota.user hay aquota.group, bằng cách lệnh sau: #edquota Option: -g: chỉnh sửa cho group -u: chỉnh sửa cho user ( là option mặc định ) -t: chỉnh sửa thời gian của giới hạn mềm Ví dụ: #edquota –u User_Quota Thì mặc định màn hình sẽ hiện ra trong trình soạn thảo vi : Disk quotas for user User_Quota (uid 506): Filesystem blocks soft hard inodes soft hard /dev/hda5 796 0 0 71 0 0 Ta thấy có: Blocks: dung lượng tính theo block user đang sử dụng Inodes: số file user đang sử dụng Soft: dung lượng giới hạn mềm theo (blocks/inodes). Chú ý nếu soft bằng 0 có nghĩa là giới hạn này không sử dụng. Hard: dung lượng giới hạn cứng (blocks/inodes) Ví dụ ta chỉ lại dung lượn giới hạn như sau: Disk quotas for user User_Quota (uid 506): Filesystem blocks soft hard inodes soft hard /dev/hda5 796 1500 2000 71 0 0 Sau khi thiết lập quota, ta nên khởi động quota lên bằng lệnh #quotaon /dev/hda5 Sau các bước trên ta đã hoàn tất được giới hạn dung lượng đĩa bằng tiện ích quota. Ta có thể xem lại user hay group mà ta cấu hình bằng lệnh: #quota Option: - g: group - u: user - q: chỉ hiển thị những hệ thống tâp tin có thiết lập quota/ Ví dú: #quota User_Quota Disk quotas for user User_Quota (uid 506): Filesystem blocks quota limit grace files quota limit grace /dev/hda5 884 1500 2000 76 0 0 Trong câu lệnh edquota có tham số -t như đã nói như trên, là thời gian giới hạn mềm hay còn gọi là hạn nghạch (grace periods). Mặc định là 7 ngày, ta có thể chỉnh lại bằng lệnh : #edquota –t Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period dev/hda5 7days 7days Ta chỉnh lại hạn nghạch bằng cách sửa số 7 bằng con số thích hợp. Quota HDD trên Linux Với một môi trường làm việc multitask, multiluser như Linux để đảm bảo cho hệ thống làm việc ổn định thì việc theo dõi thông tin sử dụng file system của hệ thống cũng như việc đặt giới hạn sử dụng file system của hệ thống là một điều tất yếu, đặt biệt là đối với những hệ thống có dung lượng file system giới hạn và số lượng user lớn. Quota là một bộ công cụ cho phép thực hiện điều này và hầu như đã tích hợp sẵn trong các HĐH Linux . Vì hầu hết hệ thống hiện nay (kernel 2.6) đều đã hỗ trợ sẵn nên tôi coi rằng kernel của bạn đã hỗ trợ thuộc tính disk quota và đã cài đặt quota tool trên hệ thống. Để đảm bảo không có user và proccess nào khác sử dụng thư mục /home bạn vào chế độ single-user mode từ console bằng lệnh init 1 file /etc/fstab là nơi config những partition nào sẽ được tự động mount vào thư mục nào khi hệ thống boot. Để enable thuộc tính "disk quota" cho thư mục /home bạn cần khai báo thêm tuỳ chọn usrquota (grpquota đối với group ) ở đây. sửa file /etc/fstab từ LABEL=/home /home ext3 defaults 1 2 thành LABEL=/home /home ext3 defaults,usrquota 1 2 Để đảm bảo việc sửa file /etc/fstab có hiệu quả bạn thực hiện mount lại thư mục /home bằng lệnh mount. mount -o remount /home Để đặt quota cho user và cho group bạn cần tạo file aquota.user, quota.group tương ứng. Ở đây tôi tạo file aquota.user để dặt quota cho user làm ví dụ minh hoạ, với group bạn có thể làm tương tự. touch /home/aquota.user chmod 600 /home/aquota.user 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 quotacheck -vagum quotacheck: WARNING - Quotafile /home/aquota.user was probably truncated. Can't save quota settings... quotacheck: Scanning /dev/hda3 [/home] done quotacheck: Checked 185 directories and 926 files Để đặt giá trị quota cho user bạn dùng lệnh edquota ví dụ để đặt quota cho user mp3user bạn dùng lệnh edquota -u mp3user 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 (vi). Filesystem blocks soft hard inodes soft hard /dev/hda3 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). Inodes: thể hiện số lượng file của user đó Soft limit: thể hiện dung lượng ổ cứng lớn nhất mà user được phép dùng. giá trị của soft limit có thể thay đổi nếu bạn sử dụng tham số grace periods (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ố "grade periods" user chỉ bị cảnh báo. Nếu vượt quá giá trị "grade periods" mà giá trị soft limit không được đặt lại, user sẽ không thể sử dụng thêm không gian ổ cứng. Hard limit: 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 periods" được sử dụng. nó thể hiện rằng user chỉ có thể vượt quá giá trị Soft limit chứ không thể vượt quá giá trị Hard Limit (khi tham số grade periods được đặt). bạn đặt thông tin quota cho user mp3user thành Filesystem blocks soft hard inodes soft hard /dev/hda3 24 5000 0 7 0 0 khi đó user mp3user không thể sử dụng dung lượng ổ cứng quá 5MB. Tham số "grade periods" 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. 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 edquota –t Filesystem Block grace period Inode grace period /dev/hda3 7days 7days để xem thông tin quota bạn dùng lệnh quota ví dụ để xem thông tin quota của user gmourani bạn dùng lệnh quota -u gmourani Disk quotas for group gmourani (gid 500): Filesystem blocks quota limit grace files quota limit grace /dev/sda8 4660 5000 6000 1 0 0 Để xem thông tin quota của toàn bộ thư mục /home bạn dùng lệnh repquota /home *** Report for user quotas on device /dev/hda3 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 52696 0 0 1015 0 0 ... ... ... mp3user -- 24 0 0 7 0 0 Quota HDD trên Linux Cũng như trên hệ thống Windows Linux cũng có quota cho user & group. Với một môi trường làm việc multitask, multiluser như Linux để đảm bảo cho hệ thống làm việc ổn định thì việc theo dõi thông tin sử dụng file system của hệ thống cũng như việc đặt giới hạn sử dụng file system của hệ thống là một điều tất yếu, đặt biệt là đối với những hệ thống có dung lượng file system giới hạn và số lượng user lớn. Quota là một bộ công cụ cho phép thực hiện điều này và hầu như đã tích hợp sẵn trong các HĐH Linux . Vì hầu hết hệ thống hiện nay (kernel 2.6) đều đã hỗ trợ sẵn nên tôi coi rằng kernel của bạn đã hỗ trợ thuộc tính disk quota và đã cài đặt quota tool trên hệ thống. Để đảm bảo không có user và proccess nào khác sử dụng thư mục /home bạn vào chế độ single-user mode từ console bằng lệnh init 1 file /etc/fstab là nơi config những partition nào sẽ được tự động mount vào thư mục nào khi hệ thống boot. Để enable thuộc tính "disk quota" cho thư mục /home bạn cần khai báo thêm tuỳ chọn usrquota (grpquota đối với group ) ở đây. sửa file /etc/fstab từ LABEL=/home /home ext3 defaults 1 2 thành LABEL=/home /home ext3 defaults,usrquota 1 2 Để đảm bảo việc sửa file /etc/fstab có hiệu quả bạn thực hiện mount lại thư mục /home bằng lệnh mount. mount -o remount /home Để đặt quota cho user và cho group bạn cần tạo file aquota.user, quota.group tương ứng. Ở đây tôi tạo file aquota.user để dặt quota cho user làm ví dụ minh hoạ, với group bạn có thể làm tương tự. touch /home/aquota.user chmod 600 /home/aquota.user 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 quotacheck -vagum quotacheck: WARNING - Quotafile /home/aquota.user was probably truncated. Can't save quota settings... quotacheck: Scanning /dev/hda3 [/home] done quotacheck: Checked 185 directories and 926 files Để đặt giá trị quota cho user bạn dùng lệnh edquota ví dụ để đặt quota cho user mp3user bạn dùng lệnh edquota -u mp3user 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 (vi). Filesystem blocks soft hard inodes soft hard /dev/hda3 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). Inodes: thể hiện số lượng file của user đó Soft limit: thể hiện dung lượng ổ cứng lớn nhất mà user được phép dùng. giá trị của soft limit có thể thay đổi nếu bạn sử dụng tham số grace periods (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ố "grade periods" user chỉ bị cảnh báo. Nếu vượt quá giá trị "grade periods" mà giá trị soft limit không được đặt lại, user sẽ không thể sử dụng thêm không gian ổ cứng. Hard limit: 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 periods" được sử dụng. nó thể hiện rằng user chỉ có thể vượt quá giá trị Soft limit chứ không thể vượt quá giá trị Hard Limit (khi tham số grade periods được đặt). bạn đặt thông tin quota cho user mp3user thành Filesystem blocks soft hard inodes soft hard /dev/hda3 24 5000 0 7 0 0 khi đó user mp3user không thể sử dụng dung lượng ổ cứng quá 5MB. Tham số "grade periods" 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. 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 edquota –t Filesystem Block grace period Inode grace period /dev/hda3 7days 7days để xem thông tin quota bạn dùng lệnh quota ví dụ để xem thông tin quota của user gmourani bạn dùng lệnh quota -u gmourani Disk quotas for group gmourani (gid 500): Filesystem blocks quota limit grace files quota limit grace /dev/sda8 4660 5000 6000 1 0 0 Để xem thông tin quota của toàn bộ thư mục /home bạn dùng lệnh repquota /home *** Report for user quotas on device /dev/hda3 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace