Nếu bạn đã từng dabbled với dòng lệnh trong Linux (những người không?), Bạn chắc chắn sẽ đi qua lệnh "sudo" và "su". Trong khi người dùng kỳ cựu biết chính xác ý của họ, người dùng Linux mới luôn bị nhầm lẫn khi sử dụng cái nào và hàm ý và biến chứng liên quan đến cả hai. Trong bài viết này, chúng tôi sẽ giải thích chi tiết những gì “sudo” và “su” là sự khác biệt giữa chúng và thời điểm sử dụng chúng.

Khái niệm cơ bản về Linux

Trong quá trình cài đặt Linux, nó sẽ nhắc bạn tạo một tài khoản người dùng và thiết lập mật khẩu của riêng bạn. Khi quá trình cài đặt hoàn tất và hệ thống khởi động lại, bạn sẽ được nhắc đăng nhập vào tài khoản người dùng mà bạn đã tạo trước đó. Khi bạn ở trong môi trường người dùng này, bạn là quản trị viên của riêng bạn và bạn có thể chạy các ứng dụng và tùy chỉnh màn hình nền theo sở thích của riêng bạn. Điều này là khá nhiều giống như trong Windows và Mac. Bạn cũng có thư mục Trang chủ cá nhân của riêng mình, nơi bạn có thể thêm / xóa bất kỳ thư mục nào vào và ra khỏi thư mục đó. Đó là khá nhiều thứ bạn có thể làm. Bên ngoài thư mục Home của bạn (ví dụ, thư mục gốc), bạn sẽ thấy rằng hầu hết (nếu không, tất cả) các hệ thống tệp không thể truy cập được với bạn.

Mặc dù bạn có thể truy cập và đọc các tệp trong các thư mục đó, bạn sẽ không thể thực hiện thay đổi đối với chúng. Lý do là vì bạn không có đủ quyền.

Quyền người dùng

Tính năng cho phép người dùng là một tính năng bảo mật bảo vệ người dùng Linux. Với tài khoản quản trị viên của bạn, bạn được cấp quyền quản lý mọi thứ trong thư mục Home (và phân vùng ngoài hoặc ổ đĩa cứng mà bạn đã gắn). Ngoài ra, bạn sẽ cần quyền root để thực hiện các thay đổi đối với tệp hệ thống, bao gồm cài đặt và gỡ cài đặt các ứng dụng. Việc tách tài khoản quản trị viên và tài khoản gốc đảm bảo rằng bạn không làm hỏng hệ thống của bạn không cần thiết và làm cho hacker / virus / phần mềm độc hại trở nên khó khăn hơn trong hệ thống gốc của bạn.

Lưu ý : Không giống như Windows, quản trị viên của tài khoản người dùng của riêng bạn không có nghĩa là bạn có quyền truy cập root vào hệ thống. Bạn không thể chỉ cài đặt / gỡ cài đặt ứng dụng chỉ bằng cách nhấp đúp vào trình cài đặt. Trong Linux, bạn sẽ phải nhập mật khẩu của mình để nâng cao tài khoản người dùng trước khi bạn có thể cài đặt / gỡ cài đặt ứng dụng. Điều này cũng có nghĩa là mọi thứ không được cài đặt trừ khi bạn cho phép rõ ràng.

Sự tồn tại của "sudo" và "su" là cho phép bạn truy cập root để bạn có thể trở thành quản trị viên thực sự của hệ thống của riêng bạn.

SU

"Su" là viết tắt của " superuser " và cho phép bạn đăng nhập như là người chủ và làm bất cứ điều gì bạn muốn với hệ thống. Nó có thể được chạy bằng lệnh:

 su 

và nó yêu cầu bạn nhập mật khẩu của tài khoản gốc. Trong một số bản phân phối, đặc biệt là Ubuntu, mật khẩu gốc không được đặt trong khi cài đặt. Điều này làm cho nó thực tế không thể đăng nhập như là người chủ (sử dụng "su") vì nó không thể được xác thực.

Nếu bạn thực sự cần sử dụng lệnh "su" để truy cập root, bạn có thể thay đổi mật khẩu root bằng cách sử dụng lệnh:

 sudo passwd root 

Theo mặc định, "su" sẽ ghi lại bạn bằng root trong môi trường người dùng của riêng bạn. Để thay đổi môi trường người dùng thành root, sử dụng lệnh:

 su - 

Cách sử dụng “su” khác bao gồm:

  • Chuyển sang người dùng khác không phải là siêu người dùng
 su 
  • Chuyển sang người dùng khác và sử dụng môi trường người dùng đó
 su - 

Có thể thấy, sử dụng lệnh “su” cho bạn khả năng quản lý và sửa đổi hệ thống của bạn, và nếu không được kiểm tra (hoặc nếu bạn không có kinh nghiệm), nó có thể phá hủy hệ thống của bạn.

Lưu ý: Càng nhiều càng tốt, không sử dụng "su" để quản trị hệ thống của bạn.

SUDO

"Sudo" là viết tắt của " superuser do " và nó cho phép bạn nâng cao tài khoản người dùng hiện tại của bạn để có đặc quyền root tạm thời. Điều này khác với "su". Với "sudo", bạn vẫn đang sử dụng tài khoản người dùng của mình, nhưng với đặc quyền gốc, trong khi "su", bạn đã đăng nhập vào tài khoản gốc. Ngoài ra, đặc quyền gốc trong “sudo” chỉ hợp lệ trong một khoảng thời gian ngắn. Sau khi hết hạn, bạn phải nhập lại mật khẩu để lấy lại đặc quyền gốc.

Với "sudo", bạn có thể làm khá nhiều thứ giống như "su". Để sử dụng nó, bạn chỉ cần thêm “sudo” trước tất cả các lệnh gốc, ví dụ:

 sudo apt-get cập nhật sudo apt-get nâng cấp 
  • Trong một số trường hợp, nếu bạn thực sự cần phải đăng nhập như là người chủ, thay vì sử dụng "su", tốt hơn là sử dụng:
 sudo -i 

để bắt đầu trình bao gốc. Điều này cho phép bạn đăng nhập như là người chủ với mật khẩu người dùng của riêng bạn.

  • Bạn cũng có thể đăng nhập với tư cách người dùng khác
 sudo -i -u 

Phần kết luận

Đây là bài viết giới thiệu cơ bản cho “sudo” và “su”. Nếu bạn là một newbie, nó được khuyến khích để giữ cho bàn tay của bạn tắt "su" và sử dụng "sudo" nếu cần thiết. Đối với người dùng cơ bản, sử dụng "sudo" cho hầu hết các lệnh gốc đủ. Trong hơn 6 năm sử dụng Linux, tôi đã không đi qua một trường hợp mà tôi cần phải sử dụng "su" hoặc "sudo -i".

Đối với quản trị máy chủ, một số sẽ cho rằng bạn cần phải được root tất cả thời gian để thực hiện bảo trì và thực hiện bất kỳ nhiệm vụ nào khác. Điều này có thể đúng, nhưng theo kinh nghiệm cá nhân của tôi, nếu bạn cài đặt "sudo", tạo một người dùng mới và thêm người dùng này vào nhóm sudo, bạn có thể làm mọi thứ với tài khoản người dùng bị giới hạn và lệnh sudo. Trong thực tế, tôi nghĩ đây là cách quản trị máy chủ của bạn an toàn hơn. Cho tôi biết nếu tôi sai.