Câu hỏi chown không thay đổi liên kết tượng trưng


Tôi đang cố gắng thay đổi người dùng / nhóm của một liên kết tượng trưng bằng lệnh:

$ chown -h myuser:mygroup mysymbolic/ 

Nhưng nó không thay đổi. Tôi đã đăng nhập dưới dạng root. Người dùng / nhóm hiện tại được đặt thành root: root. Có chuyện gì?


273
2017-11-09 13:02


gốc


Bạn sử dụng hệ điều hành nào? Theo trang manaul, tùy chọn -h chỉ ảnh hưởng đến các hệ thống có thể thay đổi quyền sở hữu liên kết tượng trưng. - Jichao
Bạn đang trên một NFS gắn kết? - Ortomala Lokni
Mọi thứ kết thúc bằng / là một thư mục. Ý bạn là mysymbolic, đó là liên kết tượng trưng, ​​không phải mysymbolic/ đó có lẽ là thư mục mà nó trỏ tới. - David Schwartz


Các câu trả lời:


Tôi đã đặt dấu gạch chéo vào cuối mục tiêu:

chown -h myuser:mygroup mysymbolic/ 

chỉ cần loại bỏ dấu gạch chéo ở cuối và hoạt động. Đây là cách chính xác:

 chown -h myuser:mygroup mysymbolic

341
2017-11-09 13:16



không làm việc cho tôi trên ubuntu - Radek
Wow, điều này đã cho tôi giờ để tìm. - defines
@Radek Nó làm việc cho tôi trên Ubuntu miễn là tôi nhớ -h cờ. - IQAndreas
Làm việc cho tôi trên Ubuntu với  -h và không có dấu gạch chéo. - friederbluemle
Tôi không thể tin được sau 4 năm, tôi đã va chạm vào quá khứ của mình, tự chịu đựng cùng một vấn đề, tên lửa '-h'! - Antony D'Andrea


Tôi đã cố gắng điều này bản thân mình và nó làm việc cho tôi. Nếu bạn có -h nó thay đổi chủ sở hữu của liên kết tượng trưng, ​​nhưng nếu bạn không thì nó thay đổi chủ sở hữu của tập tin riêng của mình và không phải là liên kết.

Nhưng nó dường như không hoạt động của liên kết tượng trưng được liên kết với một thư mục


26
2017-11-09 13:08



Đối với những gì nó có giá trị, trang người đàn ông trên OS X là rất rõ ràng hơn trên tùy chọn -h hơn là một trên (Arch) Linux. “-H Nếu tệp là một liên kết tượng trưng, ​​hãy thay đổi ID người dùng và / hoặc ID nhóm của liên kết.” Và “-h, --no-dereference ảnh hưởng đến các liên kết tượng trưng thay vì bất kỳ tệp tham chiếu nào (chỉ hữu ích trên các hệ thống có thể thay đổi quyền sở hữu của một liên kết tượng trưng) ” - Matijs


Tôi không thể chown một thư mục ngay cả với -h nhưng sử dụng đường dẫn đầy đủ.

# ls -al
drwxr-xr-x 2 deploy deploy 4096 Dec 30 10:29 .
drwxr-xr-x 3 deploy deploy 4096 Dec 30 08:59 ..
lrwxrwxrwx 1 root   root     32 Dec 30 09:02 apps -> /u/apps/
# chown -h deploy:deploy apps
# ls -al
drwxr-xr-x 2 deploy deploy 4096 Dec 30 10:29 .
drwxr-xr-x 3 deploy deploy 4096 Dec 30 08:59 ..
lrwxrwxrwx 1 root   root     32 Dec 30 09:02 apps -> /u/apps/
# chown -h deploy:deploy apps/
# ls -al
drwxr-xr-x 2 deploy deploy 4096 Dec 30 10:29 .
drwxr-xr-x 3 deploy deploy 4096 Dec 30 08:59 ..
lrwxrwxrwx 1 root   root     32 Dec 30 09:02 apps -> /u/apps/
# pwd 
/var/www/html
# chown -h deploy:deploy /var/www/html/apps
# ls -al
drwxr-xr-x 2 deploy deploy 4096 Dec 30 10:29 .
drwxr-xr-x 3 deploy deploy 4096 Dec 30 08:59 ..
lrwxrwxrwx 1 deploy deploy   32 Dec 30 09:02 apps -> /u/apps/

5
2017-12-30 16:43





Mục tiêu là tệp hay thư mục?

Nếu đó là một thư mục thì hãy thử -H (chữ hoa trên H)


4
2017-11-09 13:08



mục tiêu là một thư mục
xem trả lời đã chỉnh sửa của tôi về thư mục
Xin lỗi cho các necromancy thread, nhưng tôi muốn chỉ ra rằng cú pháp chính xác là với chữ thường 'h'.


Tạo lại liên kết đó bởi myuser tại nhà của myuser và mv liên kết này đến vị trí đích bằng sudo.

Ví dụ: (như myuser), ln -s somedir/ linkname (sẽ là một liên kết bị hỏng nếu somedir / không tồn tại trong thư mục của người dùng)

Sau đó, sudo mv linkname targetlocation (sẽ trở thành một liên kết hợp lệ được cung cấp targetlocation/somedir/ tồn tại)


3
2018-04-26 09:15



Câu trả lời của bạn không có chi tiết và khó hiểu đầy đủ. Vui lòng xem xét sửa đổi câu trả lời của bạn để cung cấp thêm chi tiết. - KronoS


đơn giản.

chown -h myuser:mygroup <symlink>

nên là đủ và làm việc!


2
2017-12-05 11:02





Tôi đã có một vấn đề tương tự. Đối với tôi, tôi không thể chmod liên kết tượng trưng ngay cả khi root bất kể tôi gọi chmod như thế nào. Để thêm sự nhầm lẫn này, nautilus đã cho thấy chủ sở hữu / nhóm là không có gì. Chủ sở hữu chỉ là trống. Vì vậy, tôi đã cố gắng để thay đổi liên kết tượng trưng bằng cách sử dụng nautilus chạy như là người chủ từ chmod không làm việc và nautilus bị rơi !!

Nhưng tôi nghĩ tôi đã tìm ra được vấn đề. Thư mục liên kết tượng trưng được trỏ đến có các quyền khác với liên kết tượng trưng. Vì vậy, tôi chmod'ed thư mục đích (sử dụng -h) cho tên người dùng / nhóm của tôi. Sau đó chmod'ed liên kết tượng trưng cho cùng và nó đã làm việc! Và xem chi tiết của liên kết tượng trưng trong nautilus (với quyền root) bây giờ không còn bị treo nữa.

Vì vậy, đối với những người khác có vấn đề tương tự, hãy kiểm tra quyền của thư mục / tệp mục tiêu và đảm bảo rằng nó tương thích với các quyền bạn đang đặt liên kết tượng trưng.


1
2017-09-16 17:46