Tôi đang cố gắng chạy một trò chơi tên là "Dofus", trong Manjaro Linux. Tôi đã cài đặt nó với trình đóng gói, đặt nó trong /opt/ankama
thư mục. Quyền sở hữu thư mục này (và cho mọi tệp bên trong nó) là người dùng root và nhóm trò chơi. Theo hướng dẫn của gói cài đặt, tôi đã thêm mình (người dùng familia
) vào nhóm trò chơi (bằng cách không làm như vậy, "Tôi sẽ phải nhập mật khẩu mỗi lần tôi cố chạy trình cập nhật").
Tuy nhiên, khi chạy trò chơi, nó gặp sự cố sau khi nhập mật khẩu của tôi (không cần thiết). Kiểm tra nhật ký, tôi đã gặp một số lỗi như sau:
[29/08 20:44:07.114]{T001}INFO c/net/NetworkAccessManager.cpp L87 : Starting request GET http://dl.ak.ankama.com/updates/uc1/projects/dofus2/updates/check.9554275D
[29/08 20:44:07.291]{T001}INFO c/net/NetworkAccessManager.cpp L313 : Request GET http://dl.ak.ankama.com/updates/uc1/projects/dofus2/updates/check.9554275D Finished (status : 200)
[29/08 20:44:07.292]{T001}ERROR n/src/update/UpdateProcess.cpp L852 : Can not cache script data
Vì vậy, tôi nghi ngờ Quyền từ chối lỗi. Một thông báo lỗi một lúc sau khi bắt đầu
Điều đó có nghĩa là "Đã xảy ra lỗi khi ghi vào đĩa - xác minh xem bạn có đủ quyền và đủ dung lượng đĩa không".
Sau đó, sau một số nghiên cứu, tôi đã tìm thấy "audd" có thể ghi nhật ký truy cập tệp trong một thư mục. Sau khi thiết lập nó và xem truy cập tệp nào không thành công, đây là kết quả .
Tất cả các lỗi đó thực sự đề cập đến một tệp duy nhất /opt/ankama/transition/transition
, với một tòa nhà chọc trời ( open
). Quyền của tệp này là rwxrwxr-x
( 775
). Vì vậy, tôi đã cấp quyền cho nó, nhưng nó lại báo lỗi exit -13
, đó là EACESS
lỗi (Quyền bị từ chối).
Tôi đã cố gắng khởi động lại máy tính, để đăng nhập và đăng xuất. Không ai trong số họ làm việc.
Nếu tôi đặt quyền truy cập thư mục thành familia:games
, nó sẽ không gặp sự cố, tôi thậm chí không cần nhập mật khẩu của mình. Tuy nhiên, nó không có vẻ đúng theo cách này. Bất kỳ ý tưởng nào về lý do tại sao tôi nhận được lỗi Từ chối quyền mặc dù tôi có quyền đọc / ghi / thực thi?
Mark đã nói rằng tôi có thể cần quyền + x trong tất cả các thư mục của tiền tố đường dẫn. Con đường chính nó là /opt/ankama/transition/transition
. Các quyền cho tiền tố đường dẫn là:
/ opt - drwxr-xr-x (755), quyền sở hữu gốc: root
/ opt / ankama - drwxr-xr-x (755), quyền sở hữu gốc: trò chơi
/ opt / ankama / quá trình chuyển đổi - drwxrwxr-x (775), quyền sở hữu gốc: trò chơi
Tuy nhiên, một điều mà tôi nhận thấy là tất cả các thư mục con /opt/ankama
là 775
, mặc dù chính thư mục đó là 755
. Tôi không nghĩ rằng điều này có nghĩa là bất cứ điều gì và thay đổi quyền để 775
không hoạt động.
Ngoài ra, Giel đề nghị tôi có thể chạy AppArmor trên hệ thống của mình. Tuy nhiên, chạy # cat /sys/module/apparmor/parameters/enabled
cho tôi N
.
rename
và unlink
trong nhật ký kiểm toán đó. Chương trình có thể dựa vào việc có quyền truy cập ghi vào một vài trong số các thư mục đó. Khi thất bại, mật khẩu bạn nói nó yêu cầu có thể dành cho người có quyền truy cập ghi.
rename
và unlink
cuộc gọi?
syscall=87
dòng. Đó là bỏ liên kết. Và kiểm toán cho thấy thư mục là người dùng 0, nhóm 0, chế độ 755. Nếu quá trình đang chạy như bạn, nó sẽ không thành công với việc hủy liên kết đó trừ khi thư mục là chế độ 777 hoặc chủ sở hữu của nó là bạn hoặc nhóm của nó là một nhóm bạn 'là thành viên của và chế độ 775.