Bạn cần cấp quyền ghi cho PHP trên thư mục sau var/www/html

rpdom đã viết. Việc thêm người dùng pi vào dữ liệu www của nhóm dễ dàng hơn nhiều, sau đó pi có thể ghi vào/var/www/html/ mà không cần xáo trộn các quyền trên tệp

Không. Thứ nhất, điều đó không dễ dàng hơn. Quyền sở hữu mặc định của /var/www/html là root. root, do đó, việc thêm pi vào dữ liệu www của nhóm sẽ không đạt được gì trừ khi bạn cũng "xử lý" các quyền

Thứ hai, nếu bạn định thay đổi các quyền để quản trị viên web không cần phải root, thì tốt hơn hết là tránh cấp cho Apache quyền ghi vào các tệp mà nó đang phục vụ. Trong trường hợp có bất kỳ khai thác nhỏ nào, ai đó sẽ thay thế trang web của bạn bằng thông báo "pwned by"

Vì vậy, các tệp không được sở hữu bởi dữ liệu www của người dùng và có thể đọc được nhưng không thể ghi theo dữ liệu www của nhóm. giải pháp của pksato là lý tưởng và không có lợi ích gì khi thêm pi vào nhóm

[Nếu không có tệp nào nhạy cảm thì tất cả chúng đều có thể đọc được và bạn không cần phải lo lắng nhiều về việc đưa chúng vào đúng nhóm. ]

jojopiPosts. 3693Đã tham gia. Thứ ba ngày 11 tháng 10 năm 2011 8. 38 giờ chiều

jonesypeter đã viết. Có bất kỳ vấn đề với làm theo cách này
sudo chown dữ liệu www. dữ liệu www /var/www

Đó thực sự không phải là tốt nhất. Dường như có một quan niệm sai lầm phổ biến rằng mọi thứ liên quan đến web nên được sở hữu bởi www-data. Thực ra nó hoàn toàn ngược lại

Mục đích của việc Apache chạy với tư cách người dùng và nhóm riêng của nó là để hạn chế thiệt hại mà kẻ tấn công có thể gây ra nếu có lỗi bảo mật với nó hoặc các ứng dụng PHP của bạn. Người dùng dữ liệu www có trình bao "nologin", không có quyền truy cập vào sudo, không phải là thành viên của bất kỳ nhóm nào ngoại trừ nhóm của chính họ và không sở hữu bất kỳ tệp nào hoặc thậm chí thư mục chính /var/www của chính họ. Về cơ bản, nó không thể ghi vào bất cứ thứ gì ngoại trừ/tmp. Càng xa càng tốt, bạn muốn giữ nó theo cách đó

Các tệp trang web của bạn trong /var/www/html phải được sở hữu bởi người dùng thường chỉnh sửa chúng, cũng có thể là "pi". Điều đó sẽ làm cho việc duy trì trang web hoàn toàn thuận tiện. Apache cần có khả năng đọc các tệp nhưng không thể ghi vào chúng

[Bây giờ, trong một số trường hợp, bạn có thể cần cấp quyền truy cập ghi dữ liệu www vào các thư mục con cụ thể. Ví dụ: nếu trang web của bạn bao gồm một biểu mẫu nơi người dùng có thể tải tệp lên và tệp quá lớn để lưu trữ đơn giản trong cơ sở dữ liệu mysql, bạn có thể cần ghi chúng vào đĩa. Hoặc nếu một phần trang web của bạn tự sửa đổi, chẳng hạn như wiki, dữ liệu www sẽ cần có khả năng ghi vào đó. Bất kỳ phần nào có thể ghi được phải được giữ riêng biệt nhất có thể và tốt nhất là không hiển thị công khai. ]

Tôi nghĩ sudo chown -R pi. dữ liệu www /var/www thêm người dùng pi vào nhóm dữ liệu www??

"người dùng chown. nhóm…” đặt quyền sở hữu tệp của người dùng và nhóm. Sau đó, bạn có thể đặt các quyền riêng biệt cho người dùng, thành viên nhóm và những người khác bằng cách sử dụng chmod

Tôi không hiểu tại sao ý tưởng thêm pi hoặc những người dùng khác vào nhóm dữ liệu www lại trở nên phổ biến như vậy. Nó chắc chắn là không bao giờ cần thiết, và tôi không chắc nó sẽ thuận tiện hơn bao giờ hết. Ngay cả trong những trường hợp phức tạp, chẳng hạn như muốn nhiều người có thể chỉnh sửa cùng một trang web, sẽ tốt hơn nếu tạo một nhóm chuyên dụng cho mục đích này, thay vì làm quá tải dữ liệu www

rpiuser2016Bài viết. 81Tham gia. T3 12/01/2016 1. 53 giờ chiều

Tôi cũng đang gặp sự cố với quyền đối với/var/www/html

Tôi có một nhiệm vụ đơn giản, đó là tạo ảnh chụp nhanh từ máy ảnh cục bộ và di chuyển nó tới/var/www/html/images

Mã số.

#!/bin/bash
/usr/bin/raspistill -w 800 -h 600 -ae 32,0xff,0x808000 -a 8 -a "Localcam %Y-%m-%d %X" -o /var/www/html/images/localsnap.jpg

Sau đó, tôi bắt đầu nhiệm vụ này từ bash

Mã số.

/usr/bin/raspistill -w 800 -h 600 -ae 32,0xff,0x808000 -a 8 -a "Localcam %Y-%m-%d %X" -o /var/www/html/images/localsnap.jpg

,
mọi thứ đều ổn, nhưng sau đó tôi đang cố gắng bắt đầu tập lệnh này thông qua crontab -e bằng cách này

Mã số.

*/5 * * * *  /home/pi/smartdacha/localsnap.bash

Tôi đang nhận được một cái chết. lá thư

Mã số.

mmal: main: Error opening output file: /var/www/html/images/localsnap.jpg~
No output file will be generated

Tại sao?

Người dùng PS PI và ROOT được thêm vào dữ liệu www của nhóm

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 [
$ ls -dl directory
drwxr-----. 1 sysadmins sysadmins 2 Mar 2 08:43 directory
6], 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

________số 8_______

  • $ 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 cho biết 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 cho biết rằng những người dùng khác không có quyền đọc, viết 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 cho biết 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 đây minh họa cách umask với giá trị bát phân là

$ ls -l file-name
0 được áp dụng cho tệp có quyền cơ sở là
$ 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 một thư mục mới, . Điều này mang lại các quyền mặc định cho

$ ls -l file-name
7 [
$ ls -l file-name
8]. umask is set to
$ ls -l file-name
3 [
$ ls -l file-name
4], 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 -l file-name
6]. This brings the default permissions to
$ ls -l file-name
7 [
$ ls -l file-name
8].

 

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-name
3 [
$ ls -dl directory-name
4]. umask is set to
$ ls -l file-name
3 [
$ ls -l file-name
4], 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-name
2]. This brings the default permissions to
$ ls -dl directory-name
3 [
$ ls -dl directory-name
4].

 

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-name
9 [
$ ls -dl directory-name
6]. umask is set to
$ ls -dl directory-name
5 [
$ ls -dl directory-name
6], 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 -l file-name
6]. This brings the default permissions to
$ ls -dl directory-name
9 [
$ ls -dl directory-name
6].

 

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 trong đó. 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 directory-name
5 [
$ ls -l directory-name
6]. umask is set to
$ ls -dl directory-name
5 [
$ ls -dl directory-name
6], 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-name
2]. This brings the default permissions to
$ ls -l directory-name
5 [
$ ls -l directory-name
6].

 

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 directory-name
7 [
$ ls -l file-name
6]. 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 directory-name
9 với các giá trị bát phân [số] để thay đổi quyền đối với tệp hoặc thư mục

Làm cách nào để cấp quyền cho thư mục trong PHP?

Bạn có thể sử dụng hàm chmod[] . Lưu câu trả lời này.

Làm cách nào để cấp quyền cho một thư mục trong laravel?

Thay đổi tất cả các quyền đối với tệp thành 644 . Thay đổi tất cả các quyền thư mục thành 755. Đối với bộ đệm lưu trữ và bootstrap [các thư mục đặc biệt được laravel sử dụng để tạo và thực thi các tệp, không có sẵn từ bên ngoài], hãy đặt quyền thành 777, cho mọi thứ bên trong. Đối với nodeJS có thể thực thi được, giống như trên.

Apache cần những quyền gì?

Xác định các yêu cầu .
Các nhà phát triển cần quyền truy cập đọc/ghi vào tệp để họ có thể cập nhật trang web
Các nhà phát triển cần đọc/ghi/thực thi trên các thư mục để họ có thể duyệt xung quanh
Apache cần đọc quyền truy cập vào các tệp và các tập lệnh được giải thích
Apache cần đọc/thực thi quyền truy cập vào các thư mục có thể phục vụ

Làm cách nào để cấp quyền truy cập vào một thư mục trong Apache?

Vì tệp của bạn nằm trong thư mục Trang chủ, tôi sẽ đề xuất một trong các cách tiếp cận sau. .
Cho 0777 quyền tự khai thác. chmod 0777/nhà/djameson/thử nghiệm. txt
Thay đổi quyền sở hữu thành dữ liệu www của người dùng apache và cấp quyền ghi chủ sở hữu. .
Thêm người dùng của bạn vào nhóm dữ liệu www hoặc ngược lại thêm người dùng dữ liệu www vào nhóm của bạn

Chủ Đề