“Root” trên Linux là gì?

Người dùng root là thực thể mạnh mẽ nhất trong vũ trụ Linux với quyền hạn không giới hạn, dù tốt hơn hay xấu hơn. Tạo người dùng? Hiểu. Xóa hệ thống tập tin? Rất tiếc, tôi cũng có cái đó.

Câu chuyện nguồn gốc

Người dùng gốc là siêu người dùng Linux. Họ có thể làm bất cứ điều gì theo đúng nghĩa đen. Không có gì bị hạn chế hoặc bị cấm đối với root . Cho dù họ là một siêu anh hùng hay một nhân vật phản diện phụ thuộc vào người dùng con người đảm nhận vai trò quản trị hệ thống. Những sai lầm của người dùng root có thể rất nghiêm trọng, vì vậy tài khoản root chỉ nên được sử dụng cho các mục đích quản trị.

Khái niệm về người dùng gốc được kế thừa từ Unix, có người dùng gốc là người quản trị siêu cấp của nó. Nhưng cái tên “root” bắt nguồn từ đâu thì không ai biết chắc. Một số người tin rằng nó đến từ hệ điều hành Multics, có trước Unix.

Ken Thompson và Dennis Ritchie, hai kiến ​​trúc sư và tác giả quan trọng nhất của Unix, đều đã từng làm việc về Đa phương tiện trước đây. Multics có một hệ thống tập tin bắt đầu tại một điểm được gọi là thư mục gốc hoặc “/”, và tất cả các thư mục và thư mục con khác được phân nhánh và phân nhánh từ gốc giống như một cây đảo ngược. Nó là cùng một loại cây được Unix áp dụng. Vì vậy, có lẽ Unix cũng đã thông qua người dùng gốc từ Multics?

Tìm kiếm tài liệu kỹ thuật Multics cho thấy vô số tài liệu tham khảo đến các ổ đĩa logic gốc, ổ đĩa vật lý gốc, thẻ gốc và thư mục gốc. Nhưng không có đề cập đến tài khoản người dùng root hoặc người dùng được gọi là “root”.

Một giả thuyết khác là trong Unix sơ khai, thư mục chủ superuser là thư mục gốc “/” của hệ thống tập tin. Siêu người dùng cần một cái tên. Thuật ngữ “người dùng root” đã được sử dụng thay cho tên chính thức, nhưng thuật ngữ này vẫn bị mắc kẹt và trở thành tên chính thức.

Có vẻ như có nhiều khả năng hơn, nhưng dường như không ai có thể nói chắc chắn rằng người dùng root đã lấy tên của họ như thế nào.

Lệnh sudo

Trên bất kỳ hệ điều hành nào, bạn chỉ nên dự trữ superuser cho mục đích quản trị và sử dụng tài khoản người dùng bình thường trong thời gian còn lại. Trên thực tế, hầu hết các bản phân phối Linux hiện đại không cho phép bạn đăng nhập với tư cách người dùng root.

Tất nhiên, đây là Linux nên bạn có thể cấu hình nó để cho phép người dùng root đăng nhập. Nhưng bạn càng dành ít thời gian để đăng nhập root, tốt nhất. Ngoài việc bảo vệ bạn khỏi những thảm họa do lỗi chính tả, nếu bạn không thể đăng nhập bằng root, không ai khác có thể. Bất kỳ ai có quyền truy cập trái phép vào hệ thống của bạn sẽ không thể đăng nhập với tư cách root, hạn chế những thiệt hại mà chúng có thể gây ra.

Nhưng nếu bạn đăng nhập với tư cách root bị vô hiệu hóa, làm cách nào để bạn quản trị máy tính linux của mình? Đó là những gì sudo thứ tự dành cho. Nó không yêu cầu người dùng root đăng nhập. Anh ấy tạm thời cấp rootquyền hạn đối với bạn. Nó giống như nhặt chiếc búa của Thor Mjolnir và tạm thời được ban cho sức mạnh của Thor. Nhưng bạn chỉ có thể nhặt được cái búa nếu bạn xứng đáng với nó. Tương tự như vậy, không phải ai cũng có thể sử dụng sudo đặt hàng. NS sudo lệnh chỉ đưa ra rootĐó là về bạn nếu bạn được coi là xứng đáng và được thêm vào danh sách những người làm công việc chủ chốt.

Có một lệnh khác tương tự như sudo gọi là su. Với sudo, bạn xác thực bằng mật khẩu của riêng bạn. Với su, bạn xác thực bằng mật khẩu người dùng gốc. Điều này có ý nghĩa ở hai khía cạnh. Đầu tiên, nó có nghĩa là bạn cần gán mật khẩu cho người dùng root để sử dụng su. Theo mặc định, người dùng root không có mật khẩu, điều này giúp bảo mật. đúng root không có mật khẩu, bạn không thể đăng nhập bằng root.

Thứ hai, nếu bạn đặt mật khẩu gốc, bất kỳ ai sẽ sử dụng su lệnh phải biết mật khẩu. Và chia sẻ mật khẩu là một bảo mật không có, và thậm chí còn hơn thế nữa đối với mật khẩu gốc. Bất kỳ ai biết mật khẩu gốc có thể cho người khác biết. Nếu bạn cần thay đổi mật khẩu gốc, bạn nên thông báo mật khẩu mới cho những người cần biết.

Sẽ an toàn hơn nhiều nếu sử dụng danh sách sudoers để hạn chế những người có thể sử dụng sudovà cho phép mỗi người có đặc quyền sử dụng mật khẩu cá nhân của họ để xác thực.

Sử dụng sudo

Tệp “/ etc / shadow” chứa tên người dùng của từng tài khoản trên máy tính Linux của bạn, cũng như các thông tin khác, bao gồm cả mật khẩu được mã hóa của từng tài khoản, khi mật khẩu được thay đổi lần cuối và khi mật khẩu hết hạn. Bởi vì nó chứa thông tin nhạy cảm, nó chỉ có thể được đọc bởi root.

Nếu chúng ta cố gắng sử dụng wc lệnh để đọc các dòng, từ và ký tự của tệp bóng, quyền sẽ bị từ chối.

wc / etc / shadow

Nếu chúng ta đang ở trong danh sách sudoers và chúng ta sử dụng cùng một lệnh với sudo ở đầu dòng, chúng ta sẽ được hỏi mật khẩu và lệnh sẽ được thực thi cho chúng ta. Nếu bạn là người dùng duy nhất trên máy tính Linux của mình, bạn sẽ tự động được thêm vào danh sách sudoers trong quá trình cài đặt hệ thống.

sudo wc / etc / shadow

Bởi vì chúng tôi đang chạy lệnh với tư cách là người chủ, wc lệnh được thực hiện. Không ai phủ nhận gốc.

le sudo Lệnh có nghĩa là “do superuser”. Nó đã được cải tiến để cho phép bạn chạy một lệnh như bất kỳ người dùng nào khác, vì vậy nó đã được đổi tên thành “Người dùng dự phòng phải làm”. Lệnh thực sự được thực thi như thể người dùng khác đã thực thi nó. Nếu bạn không chỉ định tên người dùng, sudo sử dụng theo mặc định root. Nếu bạn muốn sử dụng người dùng khác, hãy sử dụng -u tùy chọn (người dùng).

Chúng ta có thể thấy rằng các lệnh được thực thi với tư cách là một người dùng khác bằng cách sử dụng whoami đặt hàng.

whoami
sudo whoami
sudo -u mary whoami

Chạy dưới quyền root mà không cần sử dụng su

Cái móc với sudo là bạn nên sử dụng “sudo” ở đầu mỗi lệnh. Nếu bạn chỉ gõ một hoặc hai lệnh, không sao cả. Nếu bạn có một chuỗi lệnh dài hơn để chạy, nó có thể trở nên tẻ nhạt. Điều này có thể tẻ nhạt, nhưng nó là một biện pháp an toàn hữu ích cho rootvà bạn nên xóa bảo mật một cách có ý thức mọi lúc.

Có một cách để “kết nối” hiệu quả là root ai không sử dụng su và không yêu cầu người dùng root phải có mật khẩu.

cảnh báo: Hãy cẩn thận khi sử dụng phương pháp này. Mọi mệnh lệnh bạn đưa ra sẽ được thực hiện một cách vui vẻ, không có câu hỏi nào được đặt ra, cho dù nó có phá hoại như thế nào đi chăng nữa.

Sử dụng sudo để chạy một shell Bash mở một shell mới với root với tư cách là người dùng.

sudo bash

Lưu ý rằng dấu nhắc lệnh thay đổi. Ký tự cuối cùng của lời nhắc bây giờ là một dấu thăng “#” thay vì một ký tự đô la “$”.

Việc hiển thị nội dung Command Prompt thay đổi tùy theo phân phối. Trong Ubuntu, chúng tôi được thông báo rằng người dùng rootvà hiển thị tên máy tính và thư mục làm việc hiện tại. Màu của lời nhắc cũng được thay đổi.

Bởi vì chúng tôi root, chúng tôi có thể thực hiện các lệnh thường yêu cầu sử dụng sudo .

wc / etc / shadow

Để thoát khỏi shell của người dùng root, hãy nhấn “Ctrl + D” hoặc gõ “exit” và nhấn “Enter”.

ra

Ít siêu nhân hơn, nhiều Clark Kent hơn

Nếu bạn nằm trong danh sách sudoers, bạn có một số siêu năng lực trên hệ thống Linux của mình. Hãy nhớ rằng, Superman dành nhiều thời gian hơn với tư cách là một người thay thế hiền lành hơn là trong chiếc áo choàng màu đỏ của anh ta.

Sử dụng tài khoản người dùng thông thường của bạn càng nhiều càng tốt. Chỉ thay đổi thành root khi bạn thực sự cần.

Rate this post

Viết một bình luận