Thiết lập Permissions trên một folder và một file

Trong hệ thống quản lý tập tin của máy tính, mỗi file và directory lại có một permission riêng để quy định ai được phép đọc, ghi, thay đổi và truy cập.

Permission Modes

7 5 5 user group world r+w+x r+x r+x 4+2+1 4+0+1 4+0+1 = 755

Permission mode được tính bằng tổng các giá trị của user, file group và everyone.

  • Read 4 - Cho phép đọc file
  • Write 2 - Cho phép ghi/sửa file
  • eXecute 1 - Cho phép đọc/ghi/xoá/sửa/tạo folder
7 4 4 user group world r+w+x r r 4+2+1 4 4 = 744

Example Permission Modes

Mode Permission Explanation
0477 -r--rwxrwx Owner chỉ được đọc, group và others được full quyền
0677 -rw-rwxrwx Owner chỉ được đọc/ghi/sửa, group và others được full quyền
0444 -r--r--r-- Tất cả chỉ được đọc
0666 -rw-rw-rw- Tất cả được đọc/ghi/sửa
0400 -r-------- Owner được đọc, group và others không có quyền gì
0600 -rw------- Owner được đọc/ghi/sửa, group và others không có quyền gì
0470 -r--rwx--- Owner được đọc, group được full quyền còn others không có quyền gì
0407 -r-----rwx Owner được đọc, group không có quyền gì còn others có full quyền
0670 -rw-rwx--- Owner được đọc/ghi/sửa, group có full quyền, còn others không có quyền gì
0607 -rw----rwx Owner được đọc/ghi/sửa, group không có quyền gì, còn others có full quyền

Permission Scheme cho WordPress

Hướng dẫn dưới đây không bao hàm tất cả các trường hợp, mà chỉ cơ bản dành cho server đang chạy với thiết lập tiêu chuẩn [với những shared hosting sử dụng suexec, hãy xem ở bên dưới].

Bình thường thì tất cả các files nên có owner là tài khoản [ftp] của bạn trên web server của bạn, và có thể được ghi bởi account đó. Trên các shared hosts, các files không nên có owner là chính process webserver đó [www, apache hay nobody].

Bất kỳ file nào cần quyền ghi từ WordPress thì nên có owner hay group-owner bởi tài khoản được sử dụng bởi WordPress [có thể khác v ới tài khoản trên server]. Ví dụ như bạn có thể có tài khoản để trao đổi file qua FTP với server của bạn, nhưng server thì lại chạy ở một tài khoản riêng rẽ như dhapache hay nobody chả hạn]. Nếu WordPress đang chạy với FTP account, thì account đó cầ có quyền ghi [là owner của file, hoặc thuộc group có quyền ghi]. Trong trường hợp thứ hai, permissions phải được set tự do hơn default [ví dụ 775 thay cho 755, hay 664 thay cho 644].

Permission cho file và folder của WordPress nên được thiết lập giống nhau cho hầu hết các users, tuỳ thuộc vào cách cài đặt của bạn và umask setting của môi trường hệ thống lúc cài đặt.

NOTE: Nếu một người có kinh nghiệm cài WordPress cho bạn, bạn có thể không cần phải quan tâm đến file permission nữa. Nếu bạn tự cài WordPress, bạn CẦN phải thiết lập file permission. Một số files và thư mục cần phải được set permission nghiêm ngặt hơn, ví dụ như wp-config.php, mặc định là 644 là rất nguy hiểm.

Về cơ bản, tất cả core WordPress files nên chỉ có account của bạn [hoặc httpd account] mới có quyền ghi. Tuy nhiên, nếu bạn khởi tạo mod_rewrite Permalinks hay .htaccess khác, bạn nên đảm bảo rằng WordPress có thể ghi vào /.htaccess của bạn.

Nếu bạn muốn sử dụng built-in theme editor, các files cần có quyền ghi cho group.

Một vài plugins đòi quyền ghi vào `/wp-content/ folder, khi đó chúng sẽ thông báo cho bạn biết trong quá trình cài đặt. Một vài trường hợp đòi permission là 755 để hoạt động.

Shared Hosting với suexec

Những thiết lập bên trên không áp dụng cho hệ thống shared hosting sử dụng suexec rất phổ biến. Ở những hệ thống đó, php process sẽ chạy với quyền owner của các php files, thông qua một thiết lập đơn giản hơn và môi trường bảo mật hơn.

NOTE: suexec không nên sử dụng để thiết lập single-site server, nó chỉ bảo mật hơn với một vài trường hợp của shared hosting.

Permission chuẩn dành cho thiết lập suexec rất dễ hiểu:

  • Tất cả các files có owner là account của chính user, ko phải account sử dụng cho httpd process.
  • Không sử dụng Group ownership, trừ trường hợp cần group đặc biệt để kiểm tra permissions của web-server process.
  • Tất cả các thư mục có quyền 755 hoặc 750.
  • Tất cả các files có quyền 644 hoặc 640. Ngoại trừ wp-config.php nên là 440 hoặc 400.
  • Không thư mục nào có quyền 777, kể cả đường dẫn upload. Khi php process chạy dưới quyền là owner của file, nó có thể ghi file trong thư mục có quyền 755.

Các phương pháp phổ biến sử dụng bởi sysadminds cho thiết lập trên:

  • suPHP
  • mod_ruid2
  • mpm-itk
  • mod_fcgid
  • PHP-FPM

Sử dụng FTP Client

Các chương trình FTP client cho phép bạn thay đổi permissions cho files và directories trên remote host. Chức năng đó thường được ghi là chmod hoặc set permissions trên thanh menu.

Ví dụ như bạn muốn thay đổi permission cho file index.php

Click chuột phải vào index.php và chọn File Permissions. Popup dưới đây sẽ hiện ra.

Không cần quan tâm đến mấy cái checkboxes làm gì, chỉ việc điền số mong muốn vào ô Numeric value, ví dụ ở đây là 666, rồi click OK, bạn sẽ thấy permission của index.php đã được thay đổi.

Sử dụng Command Line

Nếu bạn sử dụng SSH để truy cập vào server, bạn có thể sử dụng chmod để thay đổi file permissions.

# chmod -v 746 DIR

Nếu việc thay đổi quyền của thư mục vẫn chưa giúp bạn có thể ghi vào đó, bạn có thể thử sử dụng option -R thay cho -v, để thay đổi toàn bộ thư mục và files bên trong folder đó.

About Chmod

chmod là command của unix, viết tắt của change mode.

Nếu bạn sử dụng Permalinks, bạn nên thay đổi permissions cho htaccess để chắc chắn rằng WordPress có thể thực hiện update nó khi bạn tạo new page, redirect v.vv..

  1. Vào directory chính của WordPress
  2. chmod -v 666 .htaccess

Tăng cường bảo mật với File Permissions

Ví dụ dưới đây sử dụng custom compiled php-cgi binary và custom php.ini đặt ở thư mục cgi-bin để chạy php scripts. Để ngăn truy cập trực tiếp từ web browser đến các chương trình biên dịch và php.ini, chúng đc bảo vệ với .htaccess.

Default Permissions [umask 022]

644 -rw-r--r-- /home/user/wp-config.php 644 -rw-r--r-- /home/user/cgi-bin/.htaccess 644 -rw-r--r-- /home/user/cgi-bin/php.ini 755 -rwxr-xr-x /home/user/cgi-bin/php.cgi 755 -rwxr-xr-x /home/user/cgi-bin/php5.cgi

Thiết lập quyền bảo mật hơn

600 -rw------- /home/user/wp-config.php 604 -rw----r-- /home/user/cgi-bin/.htaccess 600 -rw------- /home/user/cgi-bin/php.ini 711 -rwx--x--x /home/user/cgi-bin/php.cgi 100 ---x------ /home/user/cgi-bin/php5.cgi

.htaccess [644->604]

Sự thay đổi xoá đi quyền đọc của group owner.

php.ini [644->600]

Trước đây tất cả groups và users có quyền vào server sẽ có thể access vào php.ini. Tuy nhiên, vì php.ini chỉ cần sử dụng bởi php.cgi, nên chỉ cần php.cgi process có quyền truy cập là đủ. php.cgi chạy với cùng user làm owner của file, thế nên chỉ cần user đó có quyền access vào file.

php.cgi [755->711]

Đây là compiled php-cgi binary được sử dụng thay thế cho mod_php.

php5.cgi [755->100] Vì có mỗi user account làm owner của process chạy php cgi, nên chúng ta disabled toàn bộ quyền, ngoài trừ quyền execute.

Source: Changing File Permissions

Privacy Windows 11 Windows 10 Xem thêm...Ít hơn

Một số ứng dụng cần truy nhập vào hệ thống tệp của bạn để cho phép bạn tận dụng mọi chức năng của ứng dụng. Cho phép một ứng dụng có quyền truy nhập vào hệ thống tệp là cho phép ứng dụng này có quyền truy nhập vào cùng một tệp và thư mục mà bạn có quyền truy nhập. Ứng dụng phải yêu cầu quyền truy nhập này và bạn có thể chọn cho phép hoặc từ chối yêu cầu đó.

Cho phép truy nhập vào hệ thống tệp của bạn có thể cung cấp cho ứng dụng quyền truy nhập vào nội dung cá nhân mà bạn muốn quản lý. Đây là lý do tại sao chúng tôi cung cấp cho bạn quyền kiểm soát các tệp mà bạn chia sẻ bằng cách cho phép bạn chọn những ứng dụng được phép truy nhập vào hệ thống tệp của bạn. Nếu bạn cấp quyền cho ứng dụng nhưng sau đó thay đổi ý định, bạn có thể tắt quyền truy nhập của ứng dụng đó vào hệ thống tệp của mình. Cách thực hiện như sau:

  • Trong Windows 10, đi tới Bắt đầu Cập > Cài đặt > Quyền riêng > Hệ thống Tệp.

  • Trong Windows 11, đi tới Bắt đầu > Cài đặt > quyền riêng & của > File.

Lưu ý: 

  • Quyền truy nhập vào hệ thống tệp có thể đã bị tắt nếu bạn đang sử dụng thiết bị do nơi làm việc cấp hoặc nếu bạn đã thêm một tài khoản nơi làm việc vào thiết bị cá nhân của mình. Nếu đúng như vậy, bạn sẽ thấy một thông báo có nội dung “Một số cài đặt do tổ chức của bạn quản lý” ở đầu trang Cài đặt hệ thống tệp.

Để cho phép hoặc chặn quyền truy nhập vào hệ thống tệp đối với một ứng dụng và dịch vụ cụ thể

  1. Thực hiện một trong các cách sau:

    • Trong Windows 10, hãy đi đến Bắt đầu Bật > Cài đặt > Quyền riêng tư > và đảm bảo bật Cho phép ứng dụng truy nhập vào hệ thống tệp của bạn.

    • Trong Windows 11, đi đến Bắt đầu > Cài đặt > Quyền riêng tư & hệ thống tệp > và đảm bảo Bật Cho phép ứng dụng truy nhập vào hệ thống tệp của bạn.

  2. Chọn ứng dụng và dịch vụ có thể truy nhập vào hệ thống tệp của bạn bằng cách Bật hoặc Tắt cài đặt dịch vụ và ứngdụng riêng lẻ.

Để từ chối quyền truy nhập vào hệ thống tệp đối với hầu hết các ứng dụng

  1. Thực hiện một trong các cách sau:

    • Trong Windows 10, hãy đi tới Bắt đầu sử dụng hệ > Cài đặt > Quyền riêng tư > và đảm bảo đã tắt Cho phép ứng dụng truy nhập vào hệ thống tệp của bạn.

    • Trong Windows 11, đi đến Bắt đầu > Cài đặt > Bảo mật & Bảo mật > Hệ thống tệp và đảm bảo cho Phép ứng dụng truy nhập vào hệ thống tệp của bạn đã bị tắt.

Điều này sẽ ngăn các ứng dụng truy nhập vào hệ thống tệp của bạn trên thiết bị đó trong khi bạn đăng nhập. Nếu người khác dùng chung một thiết bị đó, họ vẫn có thể bật quyền truy nhập vào hệ thống tệp khi đăng nhập bằng tài khoản của mình.

Không phải tất cả các ứng dụng đều sẽ xuất hiện trong danh sách nơi bạn có thể chọn các ứng dụng có thể truy nhập vào hệ thống tệp của mình. Một số chương trình Windows nhất định, chẳng hạn như các chương trình được tải xuống từ internet hoặc được cài đặt với một số loại phương tiện [chẳng hạn như CD, DVD hoặc thiết bị lưu trữ USB] sẽ không xuất hiện trong danh sách đó và không bị ảnh hưởng bởi cài đặt cho phép ứng dụng truy nhập vào hệ thống tệp của bạn. Để cho phép hoặc chặn quyền truy nhập vào hệ thống tệp cho một trong các chương trình này, hãy kiểm tra các cài đặt trong chính chương trình đó. 

Hỏi cộng đồng

Liên hệ với chúng tôi

Video liên quan

Chủ Đề