Câu hỏi Không thể xác định quyền truy cập tệp và thư mục tại nhà


Tôi đã cố tạo một tệp cấu hình mặc định cho activemq bằng lệnh

sudo ./activemq setup [ /etc/default/activemq | /home/leo/.activemqrc ]`

Sau đó, nhận được thông báo này:

INFO: It's recommend to limit access to '/etc/default/activemq' to the priviledged user
INFO: (recommended: chown 'root':nogroup '/etc/default/activemq'; chmod 600 '/etc/default/activemq')

Sau đó, tôi đã thay đổi chủ sở hữu và quyền của cả hai /etc/default/activemq và /home/leo/.activemqrc với

chown root:nogroup ~/activemqrc; chmod 600 ~/.activemqrc


 Thay đổi quyền của ~ / .activemqrc chắc chắn là một sai lầm lớn. Tôi đã xem xét các quyền trên mỗi tệp và thư mục trên Trang chủ của tôi và nó cho biết:

The permissions of "Everything" could not be determined

Tôi không còn có thể truy cập các thư mục và tập tin ở nhà nữa.


Theo câu trả lời từ Quyền bị từ chối vào ~ mặc dù chủ sở hữu được liệt kê là tôi Tôi chạy lệnh sau:

find ~ -type d -exec chmod 750 \;

và nhận được kết quả này:

find: pred.c:1932: launch: Assertion `starting_desc >= 0' failed.

Có cách nào để lấy lại cấu hình mặc định của tôi không?

CHỈNH SỬA

Sau đó tôi đã thử điều này:

sudo chown root:root ~/

không có đầu ra và sau đó

sudo chmod -R  777 ~/

Điều đó khá nhiều giải quyết vấn đề của tôi nhưng đối với hai tập tin được trả về

chmod: cannot access `/home/leo/.gvfs': Permission denied
chmod: cannot access `/home/leo/.config/google-chrome/.com.google.Chrome.Z07tM9': No    such file or directory.

R WASNG CHỈ CÓ MỘT Ý TƯỞNG BAD.


2
2017-08-25 18:11


gốc


@ Alex, không, không sử dụng RT * M, chúng tôi không chấp nhận ngôn ngữ xấu trong bất kỳ cách nào, ngụy trang hay không. meta.stackexchange.com/questions/23628/… - Tim


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


Trước tiên, bạn cố gắng khắc phục nó chỉ bị thiếu '{}' nhưng sau đó bạn làm mọi việc tồi tệ hơn rất nhiều ...

Có rất ít lý do cho bất kỳ tệp nào có 777 quyền truy cập và hầu như không có trường hợp sử dụng tốt cho -R gắn cờ khi sử dụng chmod, bởi vì chúng ta cần các thư mục để có thể thực thi được để nhập hoặc chỉ định chúng, nhưng chúng tôi hiếm khi muốn tất cả các tệp có thể thực thi được.

Đầu tiên, chown thư mục chính của bạn. Đăng nhập như chính bạn, chạy

sudo chown -R $USER: ~

Nếu bạn chỉ cần chạy một cái gì đó như

chmod 600 ~

Sau đó, hoàn nguyên nó:

chmod 755 ~

Tuy nhiên, nếu bạn đã chạy một cái gì đó thực sự xấu tư như (không thi hành) chmod -R 777 ~, sau đó sửa các quyền sẽ phức tạp hơn.

find rất hữu ích cho việc này. Quyền truy cập thư mục trong nhà của bạn sẽ khác nhau và có thể 700, 775, 755 hoặc là 750. Để sai về mặt thận trọng, tôi sẽ làm điều này:

find ~ -type d -exec chmod 700 '{}' +

Vì vậy, chỉ có bạn mới có thể truy cập các thư mục. Thay vào đó bạn có thể sử dụng 755 và sau đó sửa các chế độ này:

chmod 700 ~/.local ~/.cache ~/.dbus ~/.thumbnails ~/.gconf ~/.thunderbird

Sau đó, các tập tin. Bạn có thể đã có một số tập lệnh thực thi trong nhà của bạn nhưng trong các tập tin chung không nên thực thi được. Hầu hết các tệp trong nhà của bạn có thể đã có 664 hoặc là 644 cho phép, nhưng một lần nữa để được an toàn, bạn có thể muốn đi với

find ~ -type f -exec chmod 600 '{}' +

Điều này làm cho nó như vậy chỉ có bạn có thể truy cập các tập tin và thư mục trong nhà của bạn. Nếu bạn thích, sử dụng 644 thay vào đó, sau đó sửa lại chế độ của Xauthority và một số tệp khác:

chmod 600 ~/.Xauthority ~/.ICEauthority ~/.bash_history ~/.local/share/keyrings/* ~/.xsession-errors ~/.lesshst

Nếu bạn muốn thực sự toàn diện, bạn có thể cài đặt một máy ảo Ubuntu mới hoặc kiểm tra các điều khoản của ~ trên một máy khác ... một cái gì đó như

find ~ -type d -not -perm 700 -exec stat -c "%n %a" {} \; | tee dirperms

find ~ -type f -not -perm 600 -exec stat -c "%n %a" {} \; | tee fileperms

Sẽ tạo danh sách mà bạn có thể sử dụng để sửa chữa.


2
2017-11-28 12:50