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. (XKCD)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ó thể sẽ không hiệu quả bằng nhưng đó là lệnh ma thuật 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.

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

Linux được coi là một hệ điều hành an toàn do cách nó xử lý các quyền. Trong khi 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, thì hệ điều hành Mã nguồn mở(Open Source) 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.

Linux không đặt quyền cấp người dùng root 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 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

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 đều 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 hiện 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(Simply) gõ “sudo” sau đó là lệnh bạn muốn thực thi.

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 bạn . 

Chữ "Su" trong 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 cấp 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(First) 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 root. Thứ hai, có một bản ghi của tất cả các lệnh sudo, có nghĩa là người quản trị hệ thống (root) có thể tra cứu ai đã ban hành lệnh su.

Cú pháp cho su về cơ bản giống như sudo:

Su USERNAME -c COMMAND

Thay thế USERNAME(Replace USERNAME) bằng người dùng mong muốn để chạy lệnh và COMMAND bằng lệnh Linux mà 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(Replace 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à 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

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ậ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 cú pháp và thông tin 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 refresh 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 giết phiên sudo hiện tại ngay lập tức, loại bỏ 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ể thấy 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.

Ả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(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(Sudo apt-get upgrade) sẽ nâng cấp tất cả các gói đã cài đặt.
  • Sudo apt-get install <package-name> 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 <package-name (thay thế lại 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 quyền cao hơn với nó.



About the author

Tôi có kiến ​​thức nền tảng về kỹ thuật máy tính và công nghệ thông tin, điều này đã cho tôi một góc nhìn độc đáo về nền tảng Windows 10 và 11. Đặc biệt, tôi được trải nghiệm với cả "Trải nghiệm máy tính để bàn" của Windows 10 và trình duyệt Microsoft Edge. Kinh nghiệm của tôi với hai nền tảng này giúp tôi hiểu sâu sắc về cách chúng hoạt động và kiến ​​thức chuyên môn của tôi trong các lĩnh vực này cho phép tôi đưa ra lời khuyên đáng tin cậy về cách cải thiện chúng.



Related posts