Root thường không cần phải sở hữu các tập tin trong thư mục nhà của bạn. Đó là một khái quát của khóa học. Như đã được đề cập trong các câu trả lời và nhận xét khác, các tệp có thể được sở hữu bởi root nếu chúng được tạo hoặc sửa đổi bởi các chương trình chạy dưới sudo.
Để liệt kê các tệp được sở hữu bởi root hoặc thuộc nhóm gốc, hãy thử chạy liệt kê tất cả các tệp có thông tin chủ sở hữu của chúng trong một thiết bị đầu cuối và lấy các dòng có chứa "root" : ls -al | grep root
.
Trên máy của tôi, trong tài khoản người dùng thông thường của tôi, tôi đã có một vài tệp và thậm chí một thư mục (.compiz-1 /) hiển thị là sở hữu của root, vì vậy nó khá phổ biến. Nhìn vào và bên trong các tệp đó - bạn có thể cần phải làm điều này với quyền root - tôi có thể đoán đúng về cách họ đến đó. Một số trong số chúng là các tệp nhật ký từ các chương trình tôi đã thực hiện bằng cách sử dụng sudo program
. Hãy nhớ rằng, sử dụng sudo chạy chương trình với quyền root nhưng tiếp tục $HOME
trỏ đến thư mục chính của bạn. Việc sử dụng gksu
hoặc kdesu
cho các chương trình GUI cũng làm như vậy, nhưng cũng đảm bảo môi trường đồ họa sử dụng các cài đặt của bạn (đó là một phần lý do tại sao bạn không sử dụng sudo cho chúng).
Thư mục .compiz-l / dường như là bản sao lưu của .compiz /, thuộc sở hữu của người dùng của tôi. Tôi đoán là tại một số thời điểm tôi đã chạy một bản nâng cấp hoặc đã làm một cái gì đó khác để kích hoạt bản sao lưu các cài đặt Compiz là root và bây giờ tôi có thể xóa các tệp đó. Nếu nghi ngờ, chỉ cần di chuyển hoặc đổi tên tệp / thư mục và xem điều gì xảy ra sẽ giúp đăng xuất / đăng nhập hoặc chạy (các) chương trình mà bạn nghĩ sử dụng chúng.
Hãy xem các tệp bạn đã liệt kê và so sánh chúng với các tệp tương tự trên máy của tôi.
-rw-r--r-- 1 henrik henrik 211 apr 9 2011 .gitconfig
Tệp này rất có thể thuộc quyền sở hữu của người dùng, không có quyền truy cập ghi vào bất kỳ ai khác, vì rõ ràng đây là tệp cấu hình cho mỗi người dùng. Nếu root sở hữu tệp này và bạn không có quyền truy cập ghi, bạn sẽ phải chạy git với quyền root để có thể cập nhật cấu hình git toàn cầu của mình, điều này không thuận tiện. Tôi không bận tâm những người khác đã đọc quyền truy cập vào tệp này vì nó không chứa bất cứ điều gì bí mật, chỉ có tên, email của tôi và một vài tùy chọn.
-rw-r--r-- 1 root root 143 dec 17 2011 .pearrc
Tệp này cũng là một tệp cấu hình, nhưng không phải là thứ tôi thường sử dụng trực tiếp từ tài khoản người dùng của mình vì nó thuộc về dự án PEAR của PHP. Vì dù sao tôi cũng phải cài đặt các phần mở rộng PHP sudo
, tệp này cũng có thể được sở hữu bởi root nên tôi không vô tình làm hỏng nó.
-rw-rw-r-- 1 henrik henrik 30709 nov 7 00:29 .viminfo
Đây là tệp lịch sử của Vim, chứa nhật ký của hầu hết mọi thứ bạn đã thực hiện trong Vim để có thể khôi phục trạng thái dễ dàng. Nếu nó không thuộc sở hữu hoặc ít nhất là có thể ghi được bởi bạn, tôi nghi ngờ Vim sẽ có thể cập nhật nó.
Nói chung, có, các tập tin sở hữu root trong thư mục chính của bạn là một sai lầm, nếu chúng được sử dụng bởi các chương trình bạn thường chạy mà không phải là root. Thậm chí có thể trở nên khó thực hiện sao lưu toàn bộ các tệp cấu hình trong thư mục chính của bạn nếu các tệp không thuộc sở hữu hoặc bạn có thể đọc được.
root
người dùng, do đó được sở hữu bởi root. Điều này cũng trả lời câu hỏi cuối cùng, vì thường các chương trình chỉ có thể được cài đặt bằng root (tức là sử dụngsudo
), và do đó, tạo tập tin cấu hình và không có gì được tạo trong khi vẫn ở "sudo"