Khi cd
nhập vào một trong các thư mục của tôi được gọi là openfire
lỗi sau được trả về:
bash: cd: openfire: Permission denied
Có cách nào để khắc phục điều này?
Khi cd
nhập vào một trong các thư mục của tôi được gọi là openfire
lỗi sau được trả về:
bash: cd: openfire: Permission denied
Có cách nào để khắc phục điều này?
Câu trả lời:
Nhập chế độ siêu người dùng và cd vào thư mục mà bạn không được phép truy cập. Sudo yêu cầu mật khẩu quản trị viên.
sudo su
cd directory
Nếu đó là thư mục bạn sở hữu, hãy cấp cho mình quyền truy cập vào nó:
chmod u+rx,go-w openfire
Điều đó cấp cho bạn quyền sử dụng thư mục và các tệp trong đó ( x
) và liệt kê các tệp trong đó (r
); nó cũng từ chối quyền của nhóm và những người khác ghi vào thư mục, điều này thường đúng (mặc dù đôi khi bạn có thể muốn cho phép nhóm tạo tệp trong thư mục của mình - nhưng hãy cân nhắc sử dụng bit dính trên thư mục nếu bạn làm vậy).
Nếu đó là thư mục của người khác, bạn có thể cần một số trợ giúp từ chủ sở hữu để thay đổi quyền để bạn có thể truy cập vào nó (hoặc bạn sẽ cần trợ giúp root
để thay đổi quyền cho bạn).
Bạn có một số tùy chọn:
x
quyền e ecute trên thư mục đó.x
quyền e ecute.
chmod(1)
để thay đổi các quyền hoặcsetfacl(1)
lệnh để thêm mục nhập danh sách kiểm soát truy cập cho tài khoản người dùng của bạn. (Điều này cũng yêu cầu gắn hệ thống tệp với acl
tùy chọn; xem mount(8)
và fstab(5)
để biết chi tiết về thông số mount.)Không thể đề xuất cách tiếp cận đúng nếu không biết thêm về vấn đề; tại sao các quyền thư mục lại được thiết lập theo cách của chúng? Tại sao bạn cần truy cập vào thư mục đó?
Ngoài ra, bạn có thể làm:
sudo -s
cd directory
Trừ khi bạn có quyền của sudo để thay đổi nó hoặc nó trong nhóm người dùng / tài khoản của riêng bạn, bạn sẽ không thể truy cập vào nó.
Kiểm tra man chmod
trong thiết bị đầu cuối để biết thêm thông tin về việc thay đổi quyền của một thư mục.