Tôi có thể tạo một liên kết tượng trưng đến một tệp mà tôi không thể truy cập không?


8

[ Tuyên bố miễn trừ trách nhiệm : không có ý định độc hại cho câu hỏi này, tôi đang cố gắng hiểu lệnh ln -s cho một dự án trường học]

Nói rằng tôi có một hệ thống tập tin với thư mục nhà của tôi , /home/anna. /home/boblà thư mục tôi không thể truy cập, với tệp tôi không thể truy cập,foo.txt

Tôi có thể chạy thành công ln -s /home/bob/foo.txttrong thư mục nhà của tôi? Có đúng không khi cho rằng nếu tôi có thể, nó sẽ tạo ra một liên kết mà tôi không thể truy cập (với các quyền tương tự như foo.txt)?

Điều gì xảy ra nếu tôi DID đã đọc các đặc quyền trên foo.txt, chỉ không truy cập vào /home/bob?

Còn trường hợp ngược lại, nơi tôi có thể truy cập /home/bobnhưng không đọc được foo.txtthì sao?


4
Bạn có thể tạo một liên kết tượng trưng cho thực tế mọi thứ, kể cả những thứ không tồn tại.
muru

1
Về mặt kỹ thuật, symlink không có bất kỳ quyền nào của riêng nó và lsthông thường sẽ cho thấy rằng lrwxrwxrwx, vì vậy, có một chút sai lầm khi nói về quyền của một liên kết.
Henrik hỗ trợ cộng đồng

Câu trả lời:


9

Có, bạn có thể tạo một liên kết tượng trưng đến bất kỳ vị trí nào .

Tôi có thể chạy thành công ln -s /home/bob/foo.txttrong thư mục nhà của tôi? Có đúng không khi cho rằng nếu tôi có thể, nó sẽ tạo ra một liên kết mà tôi không thể truy cập (với các quyền tương tự như foo.txt)?

Chính xác. Các hạn chế truy cập của tệp mục tiêu được áp dụng. Nếu bạn tạo một liên kết tượng trưng đến tài nguyên bị hạn chế, bạn sẽ không thể truy cập vào tài nguyên đó. Thậm chí không yêu cầu tệp đích thực sự tồn tại.

Bản demo:

$ ln -s /etc/shadow foo
$ file foo
foo: symbolic link to /etc/shadow
$ cat foo
cat: foo: Permission denied

$ ln -s /etc/nonexistent bar
$ file bar
bar: broken symbolic link to /etc/nonexistent

Điều gì xảy ra nếu tôi DID đã đọc các đặc quyền trên foo.txt, chỉ không truy cập vào /home/bob?

Nếu bạn không có quyền trên thư mục mẹ, bạn không thể truy cập tệp được chứa . Vì vậy, với một liên kết tượng trưng, ​​bạn vẫn không thể truy cập nó. Tạo một liên kết tượng trưng không ảnh hưởng đến các quyền.

Còn trường hợp ngược lại, nơi tôi có thể truy cập /home/bobnhưng không đọc được foo.txtthì sao?

Một lần nữa, bạn có thể tạo một liên kết tượng trưng cho nó, nhưng không truy cập tệp.


2
@ 4o2 Vì điều này là chính xác, tôi đang bình luận ở đây để giải thích. Câu hỏi của bạn có liên quan nhiều hơn đến các quyền mà bạn đã gắn thẻ chính xác và chào mừng bạn đến với Sàn giao dịch. Khi người dùng được tạo, họ nhận được một thư mục bên dưới /homevà được đặt trong một nhóm cùng tên với tên người dùng của họ, tức là người dùng bob nằm trong nhóm bob, cho đến khi anh ta được thêm vào những người khác để ngăn người dùng đọc các tệp khác. Vào thời xưa, tất cả người dùng thuộc về người dùng nhóm, điều này cho phép mục đích xấu mà bạn đã ám chỉ. Để Anna xem các tập tin của bob, bob phải thêm cô ấy vào nhóm bob.
Eyoung100
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.