Computer >> Máy Tính >  >> Hệ thống >> Linux

Sudo trong Linux là gì và cách sử dụng nó

Hãy xem xét truyện tranh trên từ webcomic XKCD xuất sắc. Người lười biếng trên ghế muốn bạn của họ làm cho họ một cái bánh mì sandwich, nhưng họ không có thẩm quyền để bắt họ làm điều đó. Đó là, cho đến khi anh ta gọi ra lệnh sudo hùng mạnh. Sau đó, một chiếc bánh sandwich sẽ được làm theo cách này hay cách khác.

Mặc dù việc thử sudo với một người trong đời thực có lẽ không hiệu quả bằng nhưng đó là mệnh lệnh kỳ diệu vượt qua mọi rào cản trong thế giới Linux. Sudo là gì? Tại sao nó thậm chí còn tồn tại? Câu trả lời nằm ở cách Linux xử lý các quyền.

Sudo trong Linux là gì và cách sử dụng nó

Hiểu quyền của người dùng Linux

Linux được coi là một hệ điều hành an toàn do cách nó xử lý các quyền. Mặc dù các hệ điều hành như macOS (có chung tổ tiên với Linux) và Windows hiện nay giống Linux hơn về mặt này, nhưng hệ điều hành Nguồn mở vẫn có phần độc đáo.

Việc hiểu cách Linux xử lý các quyền sẽ giúp bạn dễ dàng hơn rất nhiều với lệnh sudo. Tất cả các hệ điều hành hiện đại đều có cấp quyền người dùng "quản trị viên" hoặc "người chủ". Nếu bạn có tài khoản quản trị hoặc root, bạn có thể thay đổi bất kỳ cài đặt nào, xóa bất kỳ dữ liệu nào và nói chung là làm bất cứ điều gì bạn thích với máy tính.

Điều đó bao gồm những việc mà bạn có thể không nên làm có thể dẫn đến mất dữ liệu hoặc yêu cầu xóa hoàn toàn và cài đặt lại.

Sudo trong Linux là gì và cách sử dụng nó

Linux không đặt quyền cấp người dùng gốc làm mặc định. Thay vào đó, tài khoản của bạn không thể truy cập vào các phần thực sự nhạy cảm của hệ thống nếu không nâng cấp quyền của bạn. Điều đó có nghĩa là hệ thống sẽ yêu cầu bạn nhập mật khẩu quản trị viên khi bạn muốn làm điều gì đó khác thường bằng giao diện đồ họa.

Tuy nhiên, khi bạn muốn sử dụng dòng lệnh Terminal để hoàn thành công việc, sudo là cách an toàn và hiệu quả nhất để thực hiện.

Sudo và nhà ga

Sudo trong Linux là gì và cách sử dụng nó

Có hai cách để cấp cho mình quyền cao hơn trong Linux. Một là đăng nhập với tư cách người dùng root vĩnh viễn. Vấn đề với điều này là bất kỳ ai khác có thể truy cập vào máy tính có thể tàn phá và thậm chí bạn có thể làm điều đó một cách tình cờ. Sudo chỉ nâng cao quyền của bạn trong một thời gian ngắn để thực thi các lệnh cụ thể theo sau nó.

Cú pháp Sudo

Cú pháp của Sudo (định dạng của lệnh) rất đơn giản. Chỉ cần nhập “sudo” sau đó là lệnh bạn muốn thực thi.

Sudo trong Linux là gì và cách sử dụng nó

Ví dụ:“sudo apt-get update” sẽ cập nhật tất cả các kho ứng dụng được liệt kê trong tệp liên quan. Nếu bạn đã cố gắng chạy nó mà không có sudo, bạn sẽ nhận được thông báo lỗi cho bạn biết rằng bạn không có quyền. Ngẫu nhiên, đây thường là lệnh sudo đầu tiên bạn muốn chạy sau khi cài đặt mới bản phân phối Linux yêu thích của mình.

"Su" ở Sudo

“Su” trong sudo là viết tắt của “superuser” và nó là một lệnh độc lập. Lệnh "su" cho phép bạn thay đổi các đặc quyền của người dùng mà sudo nâng cao bạn lên.

Mặc dù sudo nâng bạn lên root tạm thời, su thay đổi bạn thành người dùng khác với các đặc quyền phù hợp. Điều đó có vẻ như là một sự khác biệt không quan trọng, nhưng có những lý do chính đáng để thay đổi tài khoản mà sudo nâng cao người dùng lên.

Trước hết, việc thay đổi tài khoản có nghĩa là người dùng thông thường không biết mật khẩu gốc. Thứ hai, có một bản ghi của tất cả các lệnh sudo, có nghĩa là quản trị viên hệ thống (người chủ) có thể tra cứu ai đã ban hành lệnh su.

Cú pháp của su về cơ bản giống với sudo:

Su USERNAME -c COMMAND

Thay thế USERNAME bằng người dùng mong muốn để chạy lệnh và COMMAND bằng lệnh Linux bạn muốn thực thi.

Nếu bạn muốn chạy nhiều lệnh với tư cách người dùng khác, chỉ cần sử dụng:

Su USER

Thay thế USER bằng danh tính tài khoản người dùng mong muốn.

Nếu bạn tự sử dụng su, Linux sẽ chuyển sang tài khoản người dùng khác cho đến khi bạn sử dụng lệnh “exit”. Điều quan trọng cần nhớ là điều này nếu không người dùng tiếp theo truy cập vào thiết bị đầu cuối trong phiên đó sẽ vẫn có quyền cao hơn. Đây là lý do tại sao nói chung tốt hơn là sử dụng sudo hơn là su.

Giới hạn thời gian Sudo

Sudo trong Linux là gì và cách sử dụng nó

Lần đầu tiên sử dụng lệnh sudo, bạn sẽ phải nhập mật khẩu. Sau đó, mật khẩu đó sẽ vẫn có hiệu lực trong 15 phút. Bạn có thể thay đổi mặc định này bằng cách chạy lệnh sudo visudo và thay đổi “timestamp_timeout =” thành giá trị dài hơn hoặc ngắn hơn. Tuy nhiên, chúng tôi khuyên bạn không nên làm điều này trừ khi bạn có lý do chính đáng để gia hạn hoặc rút ngắn thời gian mà mật khẩu sudo vẫn còn hiệu lực.

Công tắc tùy chọn Sudo

Mặc dù cú pháp sudo đơn giản, nhưng một số công tắc đáng để biết. Các lệnh này mở ra thông tin bổ sung hoặc giúp bạn kiểm soát phiên sudo:

  • -h hiển thị cho bạn thông tin cú pháp và lệnh cho sudo.
  • -V hiển thị phiên bản hiện tại cho sudo trên máy của bạn.
  • -v làm mới giới hạn thời gian sudo, khởi động lại đồng hồ.
  • -l liệt kê các đặc quyền của người dùng.
  • -k kết thúc phiên sudo hiện tại ngay lập tức, xóa các đặc quyền nâng cao.

Có nhiều tùy chọn khác được tích hợp trong sudo và bạn có thể xem tất cả chúng bằng cách sử dụng nút chuyển -h đầu tiên được liệt kê ở trên.

Sudo trong Linux là gì và cách sử dụng nó

Ảnh chụp màn hình ở trên là kết quả khi bạn sử dụng tùy chọn trợ giúp.

Các lệnh Sudo hữu ích

Vậy mọi người dùng Linux nên biết những lệnh nào được trao quyền bởi sudo? Chúng tôi đã đề cập đến bản cập nhật sudo apt-get, nhưng cũng cần lưu ý những điều này:

  • Nâng cấp apt-get Sudo sẽ nâng cấp tất cả các gói đã cài đặt.
  • Sudo apt-get install cài đặt phần mềm bạn chọn; chỉ cần thay đổi tên gói thành tên bạn muốn cài đặt.
  • Nếu bạn không biết tên gói, hãy sử dụng dpkg –list .
  • Nếu bạn muốn xóa một gói đã cài đặt khỏi thiết bị đầu cuối, hãy sử dụng sudo apt-get remove (lại thay thế tên gói cụ thể được đề cập).

Đây có thể là những lệnh sudo đầu tiên bạn sẽ phải sử dụng, nhưng như bạn đã học ở trên, bất kỳ lệnh nào cũng có thể tuân theo sudo, nhưng bạn chỉ nên sử dụng những lệnh cần có đặc quyền cao hơn với nó.