Tôi có cài đặt Dokuwiki cục bộ, mà tôi thường xuyên đồng bộ hóa với máy chủ của mình bằng rsync. Tôi cũng sẽ cung cấp cho một người bạn của tôi một tài khoản ssh và lưu trữ bản cài đặt Dokuwiki công khai của anh ta. Tuy nhiên, tôi gặp vấn đề với quyền truy cập - mặc dù máy nhân bản chỉ đọc, Dokuwiki vẫn cần quyền ghi vào thư mục dữ liệu cho bộ đệm, v.v. Máy chủ Apache chạy dưới dạng dữ liệu www của người dùng và mỗi khi tôi làm một rsync, nó đặt lại quyền.
Dựa trên một số câu trả lời khác trên trang web này, tôi đã thử sử dụng setfacl để đặt quyền mặc định, nhưng dường như nó không hoạt động - getfacl chỉ ra rằng các quyền tồn tại, nhưng Dokuwiki sẽ không chạy và khi tôi cố gắng viết một tệp như dữ liệu www của người dùng, nó cũng không hoạt động. Tôi đang thiếu gì?
wiki/data$ sudo su www-data
$ pwd
/var/www/wiki/data
$ whoami
www-data
$ touch hi
touch: cannot touch `hi': Permission denied
$ getfacl /var/www/wiki/data
getfacl: Removing leading '/' from absolute path names
# file: var/www/wiki/data
# owner: stian
# group: admin
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:www-data:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
Đây là lệnh tôi đã sử dụng để đặt quyền:
setfacl -R -d -m u:www-data:7 /var/www/*