Phân quyền tập tin trong Linux

  Shell script

Trong bài viết này ta sẽ không nói sâu về những điều cơ bản về chmod, chown, chgrp, ta cũng sẽ không bàn về read, write hay excute mà bài viết này hướng dẫn cách dùng lệnh

1. Chmod

chmod [tùy chọn] [biểu diễn phân quyền] [tên file hoặc thư mục]

  • -v: hiển thị báo cáo sau khi chạy lệnh. Nếu bạn chmod nhiều file (tập tin) / thư mục (folder) cùng lúc thì cứ mỗi lần nó đổi quyền của một file (tập tin) / thư mục (folder) xong là sẽ hiện báo cáo.
  • -c: Giống như trên, nhưng chỉ hiện khi nó đã làm xong tất cả.
  • -f: Bắt buộc chạy, nếu có lỗi xảy ra nó cũng không thông báo.
  • -R: Nếu bạn chmod một folder thì kèm theo -R nghĩa là áp dụng luôn vào các file (tập tin) / thư mục (folder) nằm bên trong nó.

Find and chmod

Chỉ chmod thư mục

find . -type d -exec chmod 755 {} \;

Chỉ chmod tập tin

find . -type f -exec chmod 644 {} \;

Chỉ chmod tập tin có phần mở rộng là .php

find . -type f -name ‘*.php’ -exec chmod 644 {} \;

2. Chown

Thay đổi người dùng chủ sở hữu của một tập tin hoặc thư mục:

chown user file_or_folder

Trường hợp muốn thay đổi cả user và group

chown group:user file_or_folder

Nếu muốn đệ quy tất cả thư mục và file con

chown -R group:user file_or_folder

3. Chgrp

Dành cho trường hợp bạn muốn thay đổi nhóm của 1 user nào đó

chgrp [tùy chọn] [nhóm] file

Lệnh này có các tuỳ chọn sau:

  • -c : hiển thị thông báo chỉ với các file mà lệnh làm thay đổi sở hữu
  • -f : Bỏ qua hầu hết các lỗi
  • -R : Thực hiện thay đổi quyền sở hữu đối với thư mục và file theo đệ quy