Tôi đã đấu tranh với các quyền cho đến nay, và đăng một câu hỏi khác nhưng xác định vấn đề là gì, mà không có cách nào để khắc phục nó.
Thiết lập của tôi:
- Máy tính để bàn Ubuntu với ngăn xếp LAMP
- 5 "người dùng" Tôi đã tạo người dùng Tôi đã tạo trong máy chủ Ubuntu bằng cách sử dụng
sudo useradd -r -s /bin/false USERNAME
và được sử dụng để truy cập các thư mục chia sẻ mạng cục bộ, tức là để các máy tính trên mạng của tôi kết nối với thư mục / var / www, được chia sẻ bằng Samba. - EDIT: Mục đích là để tạo ra một loại "master localhost" nơi tất cả các máy tính trong mạng cục bộ của tôi có thể hoạt động trên cùng một trang web, cục bộ (tôi KHÔNG có địa chỉ IP tĩnh do đó máy chủ không thể được truy cập từ nơi khác) .
Vấn đề của tôi:
Hiện tại khi tôi tạo thư mục mới trên /var/www/html
(ví dụ: Tạo thư mục / var / www / html / testsite1) bằng bất kỳ máy tính nào của mạng, thư mục này được tự động sở hữu bởi boris:www-data
("boris" là người dùng quản trị chính trên cài đặt máy tính để bàn ub Ubuntu của tôi và nó thực sự hiển thị boris: www-data khi chạy ls -l
trên thư mục mới được tạo), điều này gây ra sự cố với thiết lập hiện tại của tôi (chủ yếu là sử dụng Plugin sao chép cho wordpress của LifeInTheGrid). Tuy nhiên, cả tôi /var/www
và tôi /var/www/html
đều thuộc sở hữu củawww-data:www-data
Do đó, tôi muốn biết làm thế nào tôi có thể:
Thay đổi quyền sở hữu thành dữ liệu www: dữ liệu www của tất cả các tệp VÀ thư mục bên dưới / var / www và / var / www / html
Đảm bảo rằng bất kỳ tệp hoặc thư mục nào tôi sẽ tạo với bất kỳ người dùng nào trong mạng của tôi sẽ tự động được sở hữu bởi www-data: www-data (Bao gồm các tệp được tạo tự động bởi các tập lệnh php vì đó là những gì mà trình sao chép Trình cắm thực hiện nếu tôi Không sai).
Có cách nào làm được việc này không?
Lưu ý: Tôi là một siêu người mới với những thứ liên quan đến Linux và các dòng lệnh, nhưng tôi bắt kịp rất nhanh.
Lưu ý 2: umask đã được đặt là 0002
BIÊN TẬP:
Đã thử điều này:
sudo chown -R www-data:www-data /var/www/
Và sau đó thiết lập các bit setuid và setgid bằng cách thực hiện điều này:
sudo chmod u+s /var/www/html
sudo chmod g+s /var/www/html
Sau đó đăng xuất, khởi động lại apache và cố gắng tạo thư mục mới bằng máy Mac được kết nối với máy chủ của tôi thông qua IP mạng (IP cục bộ, không tĩnh).
Tôi Ran
ls -l on /var/www/html
Đầu ra vẫn là:
drwxr-sr-x 2 boris www-data testsite1
Ghi chú:
Tôi đã kiểm tra cấu hình apache của mình trước đó và envvars, nó đã được đặt thành:
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
EDIT: Tôi đã thử ngược lại, ví dụ: thiết lập mọi thứ thuộc sở hữu của boris: www-data và đặt cấu hình apache envvars của tôi thành boris: www-data. NÓ ĐÃ LÀM VIỆC!
Đây là những gì tôi đã làm:
Thay đổi envvars thành
export APACHE_RUN_USER=boris
export APACHE_RUN_GROUP=www-data
Đã chạy
sudo chown -R boris:www-data /var/www/
Apachem đã khởi động lại, tạo một thư mục mới, thêm tệp của tôi, chạy plugin, bây giờ nói rằng nó tốt !!!