Theo mặc định, Ubuntu không thiết lập mật khẩu gốc và do đó bạn không có khả năng đăng nhập với quyền root. Thay vào đó, bạn được cung cấp khả năng thực hiện các tác vụ với các đặc quyền siêu người dùng bằng cách sử dụng sudo.
Tôi đã trả lời một câu hỏi tương tự trước đây.
Mặc dù bạn có thể tạo mật khẩu cho tài khoản root cho phép bạn đăng nhập bằng root su
, nhưng đây không phải là cách làm "Ubuntu" điển hình. Thay vào đó, Ubuntu hy vọng rằng bạn sẽ sử dụng sudo
.
Sử dụng sudo
Sudo là một giải pháp thay thế cho việc cung cấp cho mọi người mật khẩu gốc để thực hiện các nhiệm vụ siêu người dùng. Trong cài đặt Ubuntu mặc định, người đã cài đặt HĐH được cấp quyền "sudo" theo mặc định.
Bất kỳ ai có quyền "sudo" đều có thể thực hiện một cái gì đó "như một siêu người dùng" bằng cách chờ xử lý trước sudo
lệnh của họ. Chẳng hạn, để chạy apt-get dist-upgrade
như một siêu người dùng, bạn có thể sử dụng:
sudo apt-get dist-upgrade
Theo mặc định, sudo sẽ hỏi bạn mật khẩu tài khoản của riêng bạn khi thực hiện việc này. Điều này giúp bảo mật. Điều này được ghi nhớ trong vài phút, vì vậy nếu bạn có một vài nhiệm vụ phải làm với sudo, nó sẽ chỉ yêu cầu bạn nhập mật khẩu vào lần đầu tiên.
Bạn sẽ thấy cách sử dụng sudo ở trên khá nhiều ở bất cứ đâu bạn đọc hướng dẫn về Ubuntu trên web. Đó là một thay thế để làm điều này.
su
apt-get dist-upgrade
exit
Những lợi ích
Với sudo, bạn chọn trước những người dùng có quyền truy cập sudo. Không cần cho họ nhớ mật khẩu gốc, vì họ sử dụng mật khẩu của riêng họ. Nếu bạn có nhiều người dùng, bạn có thể thu hồi quyền truy cập siêu người dùng chỉ bằng cách xóa quyền sudo của họ mà không cần thay đổi mật khẩu gốc và thông báo cho mọi người về mật khẩu mới. Bạn thậm chí có thể chọn lệnh nào mà người dùng được phép thực hiện bằng sudo và lệnh nào bị cấm đối với người dùng đó. Và cuối cùng, nếu có vi phạm bảo mật, trong một số trường hợp, có thể để lại dấu vết kiểm toán tốt hơn cho thấy tài khoản người dùng nào bị xâm phạm.
Không có mật khẩu gốc khiến các cuộc tấn công vũ phu vào tài khoản root không thể thực hiện được: điều này có liên quan nếu bạn cho phép đăng nhập qua SSH. Thay vào đó, kẻ tấn công sẽ cần biết tên tài khoản địa phương.
Sudo giúp thực hiện một lệnh đơn giản hơn với các đặc quyền siêu người dùng. Với su
, bạn vĩnh viễn thả vào trình bao siêu người dùng phải thoát bằng exit
hoặc logout
. Điều này có thể dẫn đến việc mọi người ở trong vỏ siêu người dùng lâu hơn cần thiết chỉ vì nó thuận tiện hơn đăng xuất và đăng nhập lại sau đó.
Lấy một cái vỏ gốc
Với sudo, bạn vẫn có tùy chọn mở trình bao siêu người dùng (tương tác) vĩnh viễn bằng lệnh:
sudo su
... Và điều này vẫn có thể được thực hiện mà không cần bất kỳ mật khẩu gốc nào, vì sudo
cung cấp đặc quyền siêu người dùng cho su
lệnh.
Và tương tự, thay vì su -
cho một vỏ đăng nhập, bạn có thể sử dụng sudo su -
hoặc thậm chí sudo -i
.
Tuy nhiên, khi làm như vậy, bạn chỉ cần lưu ý rằng bạn đang hoạt động như một siêu người dùng cho mỗi lệnh. Đó là một nguyên tắc bảo mật tốt để không tồn tại như một siêu người dùng lâu hơn mức cần thiết, chỉ để giảm khả năng vô tình gây ra một số thiệt hại cho hệ thống (không có nó, bạn chỉ có thể làm hỏng các tệp mà người dùng của bạn sở hữu).
Chỉ cần làm rõ, bạn có thể , nếu bạn chọn, cung cấp cho người dùng root mật khẩu cho phép đăng nhập với quyền root, nếu bạn đặc biệt muốn thực hiện mọi thứ theo cách này thay thế. Tôi chỉ muốn cho bạn biết về quy ước ưa thích của Ubuntu sudo
thay vào đó và cho bạn biết rằng có một sự thay thế.