Kiểm tra quyền thư mục trong php

Quyền đối với tệp kiểm soát khả năng xem, sửa đổi, truy cập và thực thi nội dung của tệp và thư mục của tài khoản người dùng và nhóm

Mỗi tệp hoặc thư mục có ba cấp độ sở hữu

  • Chủ sở hữu người dùng [ u ].
  • Chủ sở hữu nhóm [ g ].
  • Khác [ o ].

Mỗi cấp độ sở hữu có thể được chỉ định các quyền sau

  • Đọc [ r ].
  • Viết [ w ].
  • Thực thi [ x ].

Lưu ý rằng quyền thực thi đối với một tệp cho phép bạn thực thi tệp đó. Quyền thực thi đối với một thư mục cho phép bạn truy cập nội dung của thư mục, nhưng không thực thi nó

Khi một tệp hoặc thư mục mới được tạo, bộ quyền mặc định sẽ tự động được gán cho nó. Các quyền mặc định cho một tệp hoặc thư mục dựa trên hai yếu tố

  • quyền cơ sở
  • The mặt nạ chế độ tạo tệp người dùng [ umask .

25. 1. Quyền đối với tệp cơ sở

Bất cứ khi nào một tệp hoặc thư mục mới được tạo, quyền cơ sở sẽ tự động được gán cho nó. Quyền cơ sở cho một tệp hoặc thư mục có thể được thể hiện bằng ký hiệu hoặc bát phân .

Sự cho phép

giá trị tượng trưng

giá trị bát phân

Không cho phép

---

0

Hành hình

--x

1

Viết

-w-

2

Viết và thực hiện

-wx

3

Đọc

r--

4

Đọc và thực hiện

r-x

5

Đọc và viết

rw-

6

Đọc, viết, thực hiện

rwx

7

Quyền cơ sở cho một thư mục là

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
3 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
4], cấp cho mọi người quyền đọc, viết và thực thi. Điều này có nghĩa là chủ sở hữu thư mục, nhóm và những người khác có thể liệt kê nội dung của thư mục, tạo, xóa và chỉnh sửa các mục trong thư mục và chuyển xuống thư mục đó

Lưu ý rằng các tệp riêng lẻ trong một thư mục có thể có quyền riêng của chúng, điều này có thể ngăn bạn chỉnh sửa chúng, mặc dù có quyền truy cập không hạn chế vào thư mục

Quyền cơ sở cho một tệp là

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
5 [_______06], cấp cho mọi người quyền đọc và viết. Điều này có nghĩa là chủ sở hữu tệp, nhóm và những người khác có thể đọc và chỉnh sửa tệp

Ví dụ 25. 1. Quyền cho một tập tin

Nếu một tệp có các quyền sau

$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file

  • $ ls -dl directory
    drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
    7 cho biết đó là một tệp
  • $ ls -dl directory
    drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
    8 chỉ ra rằng chủ sở hữu tệp có quyền đọc, ghi và thực thi tệp
  • $ ls -dl directory
    drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
    9 chỉ ra rằng nhóm có quyền đọc và ghi, nhưng không thực thi tệp
  • $ chmod  file-name
    0 chỉ ra rằng những người dùng khác không có quyền đọc, ghi hoặc thực thi tệp
  • $ chmod  file-name
    1 chỉ ra rằng ngữ cảnh bảo mật SELinux được đặt cho tệp

Ví dụ 25. 2. Quyền cho một thư mục

Nếu một thư mục có các quyền sau

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory

  • $ chmod  file-name
    2 cho biết đó là một thư mục
  • $ ls -dl directory
    drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
    8 chỉ ra rằng chủ sở hữu thư mục có quyền đọc, viết và truy cập nội dung của thư mục

    Là chủ sở hữu thư mục, bạn có thể liệt kê các mục [tệp, thư mục con] trong thư mục, truy cập nội dung của các mục đó và sửa đổi chúng

  • $ chmod  file-name
    4 chỉ ra rằng nhóm có quyền đọc, nhưng không viết hoặc truy cập nội dung của thư mục

    Là thành viên của nhóm sở hữu thư mục, bạn có thể liệt kê các mục trong thư mục. Bạn không thể truy cập thông tin về các mục trong thư mục hoặc sửa đổi chúng

  • $ chmod  file-name
    0 chỉ ra rằng những người dùng khác không có quyền đọc, viết hoặc truy cập nội dung của thư mục

    Với tư cách là người không phải là chủ sở hữu người dùng hoặc chủ sở hữu nhóm của thư mục, bạn không thể liệt kê các mục trong thư mục, truy cập thông tin về các mục đó hoặc sửa đổi chúng

  • $ chmod  file-name
    1 chỉ ra rằng ngữ cảnh bảo mật SELinux được đặt cho thư mục

Ghi chú

Quyền cơ bản được gán tự động cho một tệp hoặc thư mục là chứ không phải quyền mặc định mà tệp hoặc thư mục có được. Khi bạn tạo một tệp hoặc thư mục, quyền cơ sở sẽ bị thay đổi bởi umask . Sự kết hợp giữa quyền cơ sở và umask tạo quyền mặc định cho tệp và thư mục.

25. 2. Mặt nạ chế độ tạo tệp người dùng

Mặt nạ chế độ tạo tệp của người dùng [ umask ] là biến kiểm soát cách đặt quyền đối với tệp cho các tệp và thư mục mới tạo. umask tự động xóa các quyền khỏi giá trị quyền cơ sở để tăng tính bảo mật tổng thể của hệ thống linux. dấu có thể được biểu thị bằng ký hiệu hoặc octal values.

Sự cho phép

giá trị tượng trưng

giá trị bát phân

Đọc, viết và thực thi

rwx

0

Đọc và viết

rw-

1

Đọc và thực hiện

r-x

2

Đọc

r--

3

Viết và thực hiện

-wx

4

Viết

-w-

5

Hành hình

--x

6

không có quyền

---

7

Mặc định umask cho người dùng chuẩn là

$ chmod  file-name
7. umask mặc định cho người dùng
$ chmod  file-name
8 là
$ chmod  file-name
9.

Chữ số đầu tiên của umask biểu thị các quyền đặc biệt [bit dính, ]. Ba chữ số cuối của umask thể hiện các quyền đã bị xóa khỏi chủ sở hữu người dùng [ u], group owner [g], and others [o] respectively.

Ví dụ 25. 3. Áp dụng ô khi tạo tệp

Ví dụ sau minh họa cách umask có giá trị bát phân là

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
90 được áp dụng cho tệp có quyền cơ sở của
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
3, để tạo .

25. 3. Quyền đối với tệp mặc định

Các quyền mặc định được đặt tự động cho tất cả các tệp và thư mục mới được tạo. Giá trị của các quyền mặc định được xác định bằng cách áp dụng umask cho quyền cơ sở.

Ví dụ 25. 4. Quyền mặc định cho một thư mục được tạo bởi người dùng chuẩn

Khi người dùng chuẩn tạo thư mục mới , . Điều này mang lại quyền mặc định cho

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
97 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
98]. umask is set to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
93 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
94], and the base permissions for a directory are set to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
3 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
96]. This brings the default permissions to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
97 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
98].

 

giá trị tượng trưng

giá trị bát phân

quyền cơ sở

rwxrwxrwx

777

mặt nạ

rwxrwxr-x

002

quyền mặc định

rwxrwxr-x

775

Điều này có nghĩa là chủ sở hữu thư mục và nhóm có thể liệt kê nội dung của thư mục, tạo, xóa và chỉnh sửa các mục trong thư mục và chuyển xuống thư mục đó. Những người dùng khác chỉ có thể liệt kê nội dung của thư mục và đi xuống thư mục đó

Ví dụ 25. 5. Quyền mặc định cho tệp được tạo bởi người dùng tiêu chuẩn

Khi người dùng chuẩn tạo một tệp mới, . Điều này mang lại các quyền mặc định cho

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
13 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
14]. umask is set to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
93 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
94], and the base permissions for a file are set to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
5 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
12]. This brings the default permissions to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
13 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
14].

 

giá trị tượng trưng

giá trị bát phân

quyền cơ sở

rw-rw-rw-

666

mặt nạ

rwxrwxr-x

002

quyền mặc định

rw-rw-r--

664

Điều này có nghĩa là chủ sở hữu tệp và nhóm có thể đọc và chỉnh sửa tệp, trong khi những người dùng khác chỉ có thể đọc tệp

Ví dụ 25. 6. Quyền mặc định cho một thư mục được tạo bởi người dùng root

Khi người dùng root tạo thư mục mới , . Điều này mang lại các quyền mặc định cho

$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
19 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
16]. umask is set to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
15 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
16], and the base permissions for a directory are set to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
3 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
96]. This brings the default permissions to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
19 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
16].

 

giá trị tượng trưng

giá trị bát phân

quyền cơ sở

rwxrwxrwx

777

mặt nạ

rwxr-xr-x

022

quyền mặc định

rwxr-xr-x

755

Điều này có nghĩa là chủ sở hữu thư mục có thể liệt kê nội dung của thư mục, tạo, xóa và chỉnh sửa các mục trong thư mục và đi xuống thư mục đó. Nhóm và những người khác chỉ có thể liệt kê nội dung của thư mục và đi xuống nó

Ví dụ 25. 7. Quyền mặc định cho một tệp được tạo bởi người dùng root

Khi người dùng root tạo một tệp mới, . Điều này mang lại các quyền mặc định cho

$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file
45 [
$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file
46]. umask is set to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
15 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
16], and the base permissions for a file are set to
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
5 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
12]. This brings the default permissions to
$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file
45 [
$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file
46].

 

giá trị tượng trưng

giá trị bát phân

quyền cơ sở

rw-rw-rw-

666

mặt nạ

rwxr-xr-x

022

quyền mặc định

rw-r—​r--

644

Điều này có nghĩa là chủ sở hữu tệp có thể đọc và chỉnh sửa tệp, trong khi nhóm và những người khác chỉ có thể đọc tệp

Ghi chú

Vì lý do bảo mật, các tệp thông thường không thể có quyền thực thi theo mặc định, ngay cả khi umask được đặt thành

$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file
47 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
96]. Tuy nhiên, các thư mục có thể được tạo với quyền thực thi.

25. 4. Thay đổi quyền truy cập tệp bằng các giá trị tượng trưng

Bạn có thể sử dụng tiện ích

$ ls -l
-rwxrw----. 1 sysadmins sysadmins 2 Mar 2 08:43 file
49 với các giá trị bát phân [số] để thay đổi quyền truy cập tệp cho một tệp hoặc thư mục

Làm cách nào để kiểm tra quyền của thư mục trong PHP?

PHP. Hàm is_writable[] . Thông số được sử dụng. Hàm is_writable[] trong PHP chấp nhận một tham số.

Làm cách nào để kiểm tra quyền của tệp trong PHP?

Hàm fileperms[] trả về quyền cho một tệp . Ghi chú. Kết quả của chức năng này được lưu trữ. Sử dụng clearstatcache[] để xóa cache.

Làm cách nào tôi có thể cấp quyền cho một thư mục trong PHP?

Hàm chmod[] PHP .
// Đọc và viết cho chủ sở hữu, không có gì cho những người khác. chmod["kiểm tra. txt",0600];
// Đọc và viết cho chủ sở hữu, đọc cho mọi người khác. chmod["kiểm tra. txt",0644];
// Mọi thứ cho chủ sở hữu, đọc và thực hiện cho mọi người khác. chmod["kiểm tra. txt",0755];

Làm cách nào để đặt quyền truy cập tệp trong PHP?

Nếu bạn muốn thay đổi quyền của một tệp hiện có, hãy sử dụng chmod [chế độ thay đổi]. $itWorked = chmod ["/yourdir/yourfile", 0777]; Nếu bạn muốn tất cả các tệp mới có một số quyền nhất định, bạn cần xem xét cài đặt . Đây là cài đặt quy trình áp dụng sửa đổi mặc định cho các chế độ tiêu chuẩn.

Chủ Đề