#Linux #Sudo #BảoMậtHệThống
Trong thế giới Linux, tài khoản root có quyền vô hạn đối với hệ thống, làm cho nó trở nên rất phức tạp và khó kiểm soát. Để giải quyết vấn đề này, Sudo đã được phát triển và trở thành một bộ công cụ quản lý quyền truy cập rất quan trọng.
Sudo cung cấp cho người dùng thông thường cùng quyền truy cập và quyền hạn giống như quản trị viên. Điều này giải quyết hai vấn đề quan trọng: người dùng root có thể bị vô hiệu hóa và chỉ những người dùng trong nhóm quản trị viên mới có thể chạy các tác vụ quản trị.
Với Sudo, người dùng không cần phải thay đổi hay đăng nhập với tài khoản root để chạy các lệnh quản trị. Thay vào đó, người dùng có thể chạy các lệnh đó thông qua Sudo với tác dụng tương tự như khi chúng được chạy từ tài khoản người dùng gốc.
Đối với những người dùng không thuộc nhóm quản trị viên, họ có thể được thêm vào nhóm này để có thể sử dụng Sudo. Việc này giúp cho Linux trở nên an toàn hơn và thân thiện với người dùng hơn.
Hãy sử dụng Sudo một cách hiệu quả để bảo vệ hệ thống của bạn!
Quay trở lại những ngày đầu của Linux, mọi thứ phức tạp hơn theo cấp số nhân. Các bản phân phối kém hoàn thiện hơn nhiều, nhưng chúng cũng yêu cầu sử dụng một tài khoản hệ thống cụ thể để hoàn thành một số việc nhất định. Tài khoản đó là root và với tài khoản đó, bạn có quyền vô hạn đối với hệ điều hành của mình.
Cũng: Ubuntu Spin chính thức này có thể chỉ là phần giới thiệu hoàn hảo cho Linux
Để chứng minh sức mạnh của tài khoản root, một mẹo mà bạn luôn có thể áp dụng với những người dùng cả tin là yêu cầu họ chuyển sang người dùng root bằng lệnh lệnh su và sau đó yêu cầu họ phát hành như sau:
Lệnh rm được sử dụng để xóa các tập tin và thư mục. Cùng với r (đệ quy) và f (bắt buộc), bạn sẽ xóa mọi thứ khỏi thư mục gốc (/), do đó khiến hệ thống của bạn không sử dụng được.
Cũng: Không thể nhớ lệnh Linux bạn đã chạy trước đó? Hãy để lịch sử lặp lại chính nó
Trước đó, bất kỳ lệnh nào yêu cầu quyền quản trị đều được chạy thông qua người dùng root. Để làm điều đó, bạn phải thay đổi thành người dùng root (bằng lệnh su) hoặc đăng nhập với tư cách người dùng root. Cả hai tùy chọn này đã được cuối cùng được coi là một vấn đề bảo mật. Tại sao? Nếu bạn đã đăng nhập với tư cách người dùng root và rời khỏi hệ thống của mình, bất kỳ ai cũng có thể làm bất cứ điều gì họ muốn với nó. Điều tương tự cũng đúng với việc thay đổi thành người dùng root và để mở cửa sổ đầu cuối.
Tất nhiên, nó phức tạp hơn thế nhiều. Có quyền truy cập vào người dùng root có nghĩa là nếu tin tặc có quyền truy cập vào hệ thống của bạn, thì họ có thể thay đổi thành người dùng root và phá hỏng máy.
Cuối cùng, nó đã được quyết định một cái gì đó đã phải cho. Xuất phát từ nhu cầu đó, Sudo được sinh ra. Sudo là viết tắt của “superuser do” và cấp cho người dùng thông thường (một người thuộc nhóm quản trị viên) quyền truy cập hiệu quả vào quyền hạn giống như quản trị viên. Điều này đã giải quyết được hai vấn đề:
- Người dùng root có thể bị vô hiệu hóa (vì vậy nó không thể dễ dàng tận dụng được).
- Chỉ những người dùng trong nhóm quản trị viên mới có thể chạy các tác vụ quản trị.
Đây là một bước tiến quan trọng đối với Linux, một bước tiến không chỉ củng cố tính bảo mật của hệ thống mà còn giúp người dùng sử dụng dễ dàng hơn.
Cũng: Các bản phân phối Linux tốt nhất cho người mới bắt đầu
Với sudo tại chỗ, người dùng không còn phải thay đổi thành người dùng root hoặc đăng nhập vào tài khoản đó để chạy các lệnh quản trị (chẳng hạn như cài đặt phần mềm). Người dùng có thể chạy các hoạt động quản trị đó thông qua sudo với tác dụng tương tự như khi chúng được chạy từ tài khoản người dùng gốc. Trên hết, nó cung cấp khả năng kiểm soát tốt hơn ai có thể làm gì trên bất kỳ hệ thống nhất định nào. Khi cố gắng chạy một lệnh yêu cầu đặc quyền của quản trị viên, người dùng chỉ cần nhập mật khẩu người dùng của họ (còn được gọi là mật khẩu sudo) và lệnh sẽ tắt mà không gặp trở ngại nào (miễn là nó được chạy đúng cách).
Ví dụ: thay vì trước tiên phải thay đổi thành người dùng root bằng su và sau đó đưa ra các lệnh cập nhật/nâng cấp trên bản phân phối dựa trên Ubuntu, bạn có thể chỉ cần đưa ra các lệnh:
sudo apt-get update sudo apt-get upgrade -y
Bằng cách chạy apt-get thông qua sudo, người dùng được cấp đặc quyền quản trị viên tạm thời và có thể thực hiện thành công các lệnh đó.
Còn những người dùng không thuộc nhóm quản trị thì sao?
Liên quan đến những điều cơ bản của việc sử dụng sudo, bất kỳ người dùng nào bạn muốn cấp quyền truy cập vào quyền hạn cụ thể đó đều phải là thành viên của nhóm quản trị viên cho bản phân phối đó. Ví dụ, trên Bản phân phối dựa trên Ubuntunhóm đó là sudo, trong khi đó, trên Phân phối dựa trên Red Hatnhóm đó được gọi là bánh xe.
Cũng: Cách gắn vĩnh viễn một ổ đĩa trong Linux (và tại sao bạn nên làm vậy)
Nếu bạn có một người dùng không phải là thành viên của nhóm quản trị viên khi họ cố gắng chạy một lệnh bằng sudo, họ sẽ thấy nội dung như sau:
olivia is not in the sudoers file. This incident will be reported.
Làm thế nào để bạn khắc phục điều đó? Bạn thêm họ vào nhóm quản trị. Vì vậy, đối với bản phân phối dựa trên Ubuntu, lệnh thêm người dùng vào nhóm quản trị viên sẽ là:
sudo usermod -aG sudo USER
Ở đâu USER là tên người dùng được đề cập.
Trên bản phân phối dựa trên Red Hat (chẳng hạn như Fedora), lệnh đó sẽ là:
sudo usermod -aG wheel USER
Ở đâu USER là tên người dùng được đề cập.
Sau khi chạy lệnh, người dùng sẽ phải đăng xuất và đăng nhập lại hoặc làm cho hệ thống nhận biết các thay đổi bằng lệnh:
Khi người dùng đã được thêm vào nhóm quản trị viên, họ có thể sử dụng sudo để chạy các lệnh yêu cầu đặc quyền của quản trị viên.
Cũng: Máy tính xách tay Linux tốt nhất cho người tiêu dùng và nhà phát triển
Sudo đã làm cho Linux không chỉ an toàn hơn mà còn thân thiện với người dùng hơn. Việc không còn phải thay đổi (hoặc đăng nhập) tài khoản người dùng root sẽ tránh được một số cạm bẫy bảo mật nghiêm trọng và cho phép bạn quản lý quyền truy cập của người dùng vào các tác vụ quản trị.