Làm thế nào để tạo một thư mục vĩnh viễn có thể ghi?


27

Tôi đang sử dụng LAMP stack để phát triển và tôi gặp vấn đề với việc tạo / var / www có thể ghi vĩnh viễn. Tôi sử dụng lệnh này:

sudo chmod -R a+rwX /var/www

Điều này hoạt động, nhưng sau khi đặt một ứng dụng web và truy cập nó thông qua trình duyệt, nó sẽ hiển thị lỗi "quyền bị từ chối". Khi điều đó xảy ra, tôi phải thực hiện lại lệnh.

Làm thế nào tôi có thể làm cho thư mục có thể ghi, vĩnh viễn, mà không phải chạy lại lệnh?

Cảm ơn!


1
tạo một thư mục con trong /var/wwwvà thay đổi permisson cho thư mục đó. Điều đó sẽ khắc phục vấn đề
Anam Ahmed

5
Trên thực tế bạn không bao giờ nên làm cho web root có thể ghi. Xem Vì lý do bảo mật tại sao / var / www không có chmod 777?
Goran Miskovic

Đây là một số nhận xét tốt ở trên ... xem xét các lý do bảo mật, bạn nên giữ quyền cho /var/wwwmặc định rwxr-xr-x và bạn có thể di chuyển các tệp cần thiết vào thư mục con trong /var/wwwvà thay đổi tệp * html của mình cho phù hợp cho những thay đổi bạn đã thực hiện đối với thư mục gốc.
chính xác

Câu trả lời:


39

Quyền số có thể giải quyết vấn đề của bạn.

sudo chmod 775 'your directory'

nếu bạn muốn biết tại sao chỉ có 775 đây là câu trả lời của bạn

400 read by owner
040 read by group
004 read by anybody
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody

 400
+040
+004
+200
+020
+100
+010
+001
=775

Nó sẽ cung cấp cho tất cả sự cho phép ngoại trừ viết bởi bất cứ ai.


9

Tôi đã có cùng một vấn đề sau đó

sudo chmod 777 directory

đã giải quyết nó

Điều đó làm cho thư mục có thể ghi, có thể đọc và thực thi bởi bất kỳ ai. Vì vậy, không quan trọng người dùng hoặc nhóm nào sở hữu nó hoặc sử dụng Lampp.

Tuy nhiên, điều đó không được khuyến khích nếu máy tính của bạn truy cập công cộng.


8

Thông thường lệnh bạn đã sử dụng sẽ thay đổi quyền vĩnh viễn.

Hãy thử sudo chmod -R 775 /var/www/(mà về cơ bản là giống nhau). Nếu điều đó không làm việc, bạn có thể cần phải thay đổi chủ sở hữu [và có thể nhóm] của thư mục thông qua sudo chown <user>[:<group>] /var/www/.

Ngoài ra, bạn có thể xem xét 'lỗi từ chối cấp phép' có thể do không đủ quyền truy cập trong cơ sở dữ liệu của bạn hoặc ở nơi khác.


Nhưng như @schkovich đã đề cập, bạn không nên ghi thư mục gốc của web.
David

13
+ Rinzwind Tôi đã sử dụng 777 và đang kiên nhẫn chờ đợi chuyến thăm của bạn.
Marcel

nó hoạt động với tôi nếu tôi sử dụng nó mà không có dấu gạch chéo, ví dụ: sudo chmod -R 775 my_folder
Yarh

@Marcel bây giờ đã chết rồi, @ Rinzwind đã kết liễu anh ta
Dheeraj

2
@Marcel làm thế nào để chúng ta biết bạn thực sự, nếu @ Rinzwind xé mặt marcel và mặc nó.
Dheeraj
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.