Hướng dẫn dùng chmod generator trong PHP
Hàm Show
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Cú phápCú pháp: Trong đó:
Kết quả trả vềHàm sẽ trả về True nếu thành công và trả về False nếu thất bại. Bài viết này được đăng tại [free tuts .net] Ví dụMột số ví dụ về hàm Code // chủ file được quyền đọc và viết, mọi người khác không có quyền. chmod("/somedir/somefile", 0600); // chủ file được quyền đọc và viết, mọi người khác có quyền đọc. chmod("/somedir/somefile", 0644); // chủ file có mọi quyền, mọi người có quyền đọc và thực thi. chmod("/somedir/somefile", 0755); // chủ file có mọi quyền, mọi người cùng nhóm với chủ file có quyền đọc và thực thi, người khác không có quyền chmod("/somedir/somefile", 0750); Tham khảo: php.net Trong bài này chúng ta sẽ tìm hiểu lệnh chmod trong Linux, đây là lệnh dùng để phân quyền vào các file và thư mục trên Linux. Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Trong Linux, để truy cập được vào file thì bạn phải được thiết lập quyền trên file đó, thông qua các thuộc tính và quyền sở hữu file. Điều này đảm bảo rằng chỉ những người dùng và quy trình được ủy quyền mới có thể truy cập vào file và thư mục. 1. Các quyền của file trong LinuxTrước khi học cách sử dụng lệnh chmod để phân quyền thì chúng ta hãy xem danh sách các quyền có trên file đã nhé. Các đối tượng truy cập fileTrong Linux, mỗi file sẽ được liên kết với một chủ sở hữu và nhóm sở hữu, và được gán quyền thông qua ba cấp độ người dùng khác nhau như sau: Bài viết này được đăng tại [free tuts .net]
Quyền sở hữu file có thể được thay đổi bằng lệnh Các loại quyền trên fileCó ba loại quyền trên một file gồm:
Dựa vào hai khái niệm này bạn có thể thiết lập các quyền cho các đối tượng. Để xem thông tin chi tiết phân quyền của một file thì bạn sử dụng lệnh Kết quả sẽ trả về một chuỗi gồm các thông tin về phân quyền, tên file, và các thông tin hữu ích khác như sau: -rw-r--r-- 12 freetuts users 12.0K Apr 8 20:51 filename.txt |[-][-][-]- [------] [---] | | | | | | | | | | | | | +-----------> 7. Group - nhóm sở hữu | | | | | +-------------------> 6. Owner - chủ sở hữu | | | | +--------------------------> 5. Alternate Access Method | | | +----------------------------> 4. Other users Permissions | | +-------------------------------> 3. Group Permissions | +----------------------------------> 2. Owner Permissions +------------------------------------> 1. File Type Giải thích cụ thể như sau: Ký tự đầu tiên hiển thị
loại file (File Type). Nó có thể là một file thông thường ( Chín ký tự tiếp theo đại diện cho việc phân quyền đối truy cập file đối với ba nhóm Owner (chủ sở hữu), Group (nhóm sở hữu), Other Users (người dùng khác). Chúng ta có ba loại quyền là r - w - x nên mỗi đối tượng sẽ có 3 ký tự, 3 nhóm là 9 ký tự. Nếu quyền nào không có thì sẽ sử dụng dấu
Tham khảo bảng quyền trên file và thư mục dưới đây nhé. Bảng quyền trên file Linux:
Bảng quyền trên thư mục Linux:
2. Cú pháp lệnh chmod trong LinuxCú pháp lệnh chmod trong Linux như sau: chmod [OPTIONS] MODE FILE... Lệnh chmod cho phép bạn thay đổi quyền bằng cách sử dụng chế độ symbolic, numeric hoặc reference file. Chúng ta sẽ lần lượt tìm hiểu ba loại này ở phần tiếp theo nhé. Chỉ có tài khoản root, chủ sở hữu file (owner) hoặc người dùng có đặc quyền sudo mới có thể thay đổi quyền của file. Hãy hết
sức cẩn thận khi sử dụng 3. Phân quyền bằng symbolic trong LinuxCú pháp của lệnh chmod khi sử dụng chế độ symbolic như sau: chmod [OPTIONS] [ugoa…][-+=]perms…[,…] FILE... Tham số ugoa là nhóm đối tượng nào sẽ được xử lý quyền:
Nếu bạn không truyền tham số này vào lệnh thì nó sẽ lấy giá trị mặc định là a. Tham số thứ hai là
Ví dụ 1: Cấp cho các thành viên nhóm sở hữu có quyền đọc file nhưng không được ghi và thực thi. Ví dụ 2: Cấp quyền thực thi cho tất cả users Ví dụ 3: Loại bỏ quyền ghi vào nhóm người dùng khác. Ví dụ 4: Loại bỏ tất cả quyền đọc / ghi / thực thi cho tất cả người dùng. Hoặc Ví dụ 5: Cấp quyền đọc, ghi và thực thi cho chủ sở hữu (owner), cấp quyền đọc cho nhóm sở hữu (group), và các đối tượng user khác không có quyền gì cả. chmod u=rwx,g=r,o= filename Ví dụ 6: Thêm các quyền của chủ sở hữu vào danh sách quyền của các thành viên trong nhóm sở hữu. 4. Phân quyền bằng Numeric Method trong LinuxCú pháp của lệnh chmod trong Linux khi sử dụng phương thức Numeric có định dạng sau: chmod [OPTIONS] NUMBER FILE... Khi sử dụng Numeric bạn có thể đặt quyền cho cả ba lớp người dùng (chủ sở hữu, nhóm và tất cả những người khác) cùng một lúc. Các con số có thể là 3 hoặc 4 chữ số cùng. Khi sử dụng số có 3 chữ số thì chữ số đầu tiên thể hiện quyền của chủ sở hữu file, chữ số thứ hai là nhóm của file và chữ số cuối cùng cho tất cả những người dùng khác. Mỗi quyền ghi, đọc và thực thi có giá trị số sau:
Số quyền của một lớp người dùng được thể hiện bằng tổng giá trị của các quyền cho nhóm đó. Vậy để tìm hiểu các quyền của file ở chế độ Numeric ta chỉ cần tính tổng số cho tất cả các lớp người dùng. Ví dụ 1: Để cấp quyền đọc, ghi và thực thi cho chủ sở hữu file, đọc và thực thi đối với nhóm của file và chỉ quyền đọc cho tất cả người dùng khác, bạn sẽ làm như sau:
Sử dụng phương pháp cộng chuỗi như trên chúng ta tính được quyền của file đó là 754. Ví dụ 2: Cấp quyền cho owner là đọc và viết (4 + 2), quyền của group là chỉ đọc (4), các user còn lại cũng có quyền đọc (4). Vậy tổng quyền của file này là 644. 5. Phân quyền bằng Reference File trong LinuxLệnh chmod trong Linux có một tùy chọn tên là chmod --reference=REF_FILE FILE Ví dụ: lệnh sau sẽ gán quyền của file1 cho file2. chmod --reference=file1 file2 6. Lệnh chmod gán quyền đệ quy cho các file bên trongBạn muốn lệnh gán quyền áp dụng cho tất cả các file nằm bên trong thư mục đang gán quyền thì hãy sử dụng thêm tham số -R (--recursive). Ví
dụ: Để thay đổi quyền của tất cả các file và thư mục con trong thư mục 7. Lệnh chmod trên Symbolic LinksTrên Symbolic Links thì các quyền luôn là 777. Theo mặc định, khi thay đổi quyền cho Symbolic Links thì file mà Symbolic Links liên kết tới cũng thay đổi theo. Cách sử dụng lệnh chmod trên Symbolic Links cũng tương tự như trên file. 8. Thay đổi quyền hàng loạt các fileĐôi khi bạn cũng muốn thay đổi quyền cho hàng loạt các file và thư mục. Tình huống phổ biến nhất là thay đổi đệ quy quyền của các file file trong trang web thành 644 và quyền của thư mục thành 755. Chúng ta sử dụng numeric: find /var/www/my_website -type d -exec chmod 755 {} \; find /var/www/my_website -type f -exec chmod 644 {} \; Sử dụng symbolic: find /var/www/my_website -type d -exec chmod u=rwx,go=rx {} \; find /var/www/my_website -type f -exec chmod u=rw,go=r {} \; Như vậy là chúng ta đã tìm hiểu xong cách sử dụng lệnh chmod trong Linux, đây là lệnh dùng để phân quyền rất phổ biến và được sử dụng rất nhiều khi quản trị Linux server. |