Linux file permissions kết hợp lập trình Bash shell thực chiến để thực hành

Linux file permissions là quyền truy cập vào các thư mục và file để đọc, ghi và chạy file áp dụng cho các người dùng (user) đang có trên hệ điều hành Linux.

Trên Linux tất cả mọi thứ đều là file nên thư mục cũng là 1 file nhưng là file đặc biệt, file chứa các file và thư mục khác bên trong.

Linux file permissions có 3 quyền cơ bản là đọc (read), ghi, thay đổi, xóa (write) và chạy file (execute) áp dụng lên người dùng (user), nhóm người dùng (group) và người khác (other).

Như đã nói chúng tôi không dạy lệnh Linux, chúng tôi dạy các bạn cách đặt vấn đề, nhìn ra vấn đề, tìm cách giải quyết vấn đề bằng các lệnh Linux, các công cụ trên Linux.

Bài tập lập trình Bash shell thực chiến cũng là bài tập Linux file permssions.

Viết 1 bash script tên là all_file_perms.sh tạo ra tất cả các file đại diện cho tất cả các quyền trên Linux.

Kết quả chạy all_file_perms.sh như hình dưới

Tạo ra tổng cộng 512 file để có đầy đủ tất cả quyền trên Linux.

Có 2 cách viết để tạo ra tất cả các file đại diện cho tất cả các quyền trên Linux.

Để so sánh 2 cách viết xem cách nào tối ưu hơn ta sẽ đo thời gian chạy của 2 bash script này là biết.

Dễ thấy all_file_perms1.sh chạy nhanh hơn all_file_perms2.sh.

time ./all_file_perms1.sh 

real	0m0,882s
user	0m0,595s
sys	0m0,332s

time ./all_file_perms2.sh 

real	0m1,183s
user	0m0,784s
sys	0m0,466s

Chỉ cần search google các từ khóa về quyền trên Linux, quyền cơ bản trên Linux, quyền file thư mục trên Linux, phân quyền trên Linux…

Hoặc các từ tiếng Ăng Lê như

Linux file permission

Linux file permissions

Linux permission

Linux file permissions explained

File Permissions in Linux

Linux file permissions detailed

Linux permissions explained

bạn sẽ thấy có rất nhiều hình ảnh trực quan, dễ hiểu về quyền trên Linux như

Học Linux thực chiến để có kết quả cuối cùng là lập trình bash shell tạo ra tất cả các file, thư mục kiểm chứng lại các hình trên, chứ coi các hình này không bao giờ là đủ cả và cũng không gọi là hiểu rõ Linux.

Các hình về phân quyền file trên Linux ở trên ai cũng có thể tìm được trên mạng Internet và ai cũng có thể xem, bạn phải có kĩ năng lập trình bash shell để có ưu thế so với người khác.