1. Giới thiệu
Trên Ubuntu, khi cần thực hiện nhiều tác vụ quản trị hệ thống, bạn sẽ cần quyền root mà người dùng thông thường không thể truy cập được. Root tương đương với “tài khoản quản trị viên” của hệ thống, cho phép bạn thực hiện các tác vụ quan trọng như thao tác với hệ thống tập tin, cài đặt gói phần mềm, thay đổi cài đặt, v.v. Bài viết này sẽ hướng dẫn cách chuyển sang root trên Ubuntu và những điểm cần lưu ý khi thực hiện.
2. Quyền root trên Ubuntu và các đặc điểm của nó
Theo chính sách bảo mật của Ubuntu, tài khoản root mặc định bị vô hiệu hóa để giảm thiểu rủi ro hệ thống do sử dụng root không cần thiết. Trên Ubuntu, phương án được áp dụng là cho phép người dùng thông thường sử dụng lệnh “sudo” để tạm thời nhận quyền root khi cần.
2.1 Sự khác biệt giữa người dùng thông thường và người dùng root
Người dùng thông thường chỉ có thể thao tác trong thư mục cá nhân và một số cài đặt hệ thống nhất định, trong khi root có thể thực hiện mọi thao tác không giới hạn. Do sự khác biệt này, khi thực hiện các tác vụ liên quan đến tệp hệ thống hoặc quyền truy cập, quyền root là cần thiết. Tuy nhiên, nếu sử dụng quyền root không cẩn thận, hệ thống có thể trở nên không ổn định, do đó bạn cần có kiến thức phù hợp.
2.2 Quyền root tạm thời thông qua sudo
Khi cần quyền root để quản trị hệ thống trên Ubuntu, nên sử dụng lệnh sudo để tạm thời nhận quyền, thay vì chuyển trực tiếp sang tài khoản root. Các cách sử dụng cụ thể và lưu ý sẽ được giải thích chi tiết bên dưới.

3. Cách chuyển tạm thời sang root
Khi cần quyền root trên Ubuntu, thay vì chuyển hoàn toàn sang người dùng root, bạn nên chỉ cấp quyền root cho từng lệnh cụ thể. Cách này giúp bạn quay lại quyền người dùng bình thường sau khi hoàn thành tác vụ, giảm nguy cơ do thao tác nhầm. Dưới đây là hướng dẫn sử dụng lệnh sudo.
3.1 Cách sử dụng cơ bản của lệnh sudo
“sudo” là viết tắt của “substitute user do”, là lệnh giúp thay đổi quyền của người dùng tạm thời. Dù là người dùng thông thường, bạn cũng có thể cấp quyền root cho lệnh chỉ định thông qua sudo. Sử dụng như sau:
$ sudo [lệnh]
Ví dụ, để cập nhật gói phần mềm, bạn nhập:
$ sudo apt update
Lệnh này chỉ có thể thực hiện bởi người dùng có quyền root, vì vậy dùng sudo giúp bạn thực hiện lệnh với quyền root tạm thời.
3.2 Nhập mật khẩu khi sử dụng lệnh sudo
Khi sử dụng sudo lần đầu, bạn sẽ được yêu cầu nhập mật khẩu hiện tại của mình. Điều này giúp đảm bảo sudo không thể được sử dụng tùy tiện, nâng cao bảo mật. Xác thực sudo sẽ có hiệu lực trong một khoảng thời gian, nên nếu bạn thực hiện nhiều lệnh liên tục thì không cần nhập lại mật khẩu mỗi lần.
3.3 Thời gian hiệu lực tạm thời của sudo
Thời gian quyền sudo được giữ tạm thời theo mặc định trên Ubuntu là khoảng 15 phút. Nếu bạn không cần quyền root lâu dài, hãy thoát phiên làm việc hoặc tự tay vô hiệu hóa quyền này. Ví dụ, sử dụng lệnh “sudo -k” để vô hiệu hóa xác thực ngay lập tức và lần sau sẽ được hỏi lại mật khẩu.
4. Cách chuyển sang shell root
Khi chuyển sang shell root, bạn có thể tiếp tục thao tác với quyền root. Điều này đặc biệt hữu ích khi cần thực hiện nhiều tác vụ quản trị liên tiếp. Trên Ubuntu, bạn có thể chuyển sang shell root bằng lệnh sudo -i
hoặc sudo su
. Sau đây là cách sử dụng và đặc điểm của từng lệnh.
4.1 Chuyển sang shell root bằng lệnh sudo -i
Lệnh sudo -i
sẽ chuyển bạn sang một shell với toàn bộ môi trường của người dùng root. Khi sử dụng, profile của root sẽ được tải và biến môi trường cũng áp dụng cho root. Sử dụng lệnh như sau:
$ sudo -i
Sau khi thực hiện lệnh này, bạn có thể sử dụng các biến môi trường và đường dẫn được cấu hình cho root. Sau khi hoàn thành công việc, hãy dùng lệnh exit
để quay lại người dùng bình thường.
4.2 Chuyển sang shell root bằng lệnh sudo su
Lệnh sudo su
khá giống với sudo -i
nhưng có một số điểm khác biệt. Khi sử dụng lệnh này, bạn sẽ chuyển sang shell root, nhưng các biến môi trường khi đăng nhập có thể không được tải lại. Điều này giúp giữ lại các biến môi trường của người dùng hiện tại, nhưng thao tác với quyền root.
$ sudo su
Dùng sudo su
sẽ giữ lại phiên làm việc hiện tại nhưng cấp quyền root. Nếu không cần chuyển biến môi trường, hoặc muốn thao tác trên shell với thiết lập tuỳ chỉnh, đây là lựa chọn tiện lợi.
4.3 Chuyển đổi mà không giữ biến môi trường (su -
)
Nếu bạn muốn loại bỏ hoàn toàn biến môi trường của người dùng hiện tại khi làm việc trên shell root, nên sử dụng lệnh su -
. Lệnh này giúp đăng nhập lại dưới quyền root và áp dụng thiết lập mặc định của root.
$ su -
5. Chuyển sang root bằng lệnh su
Bạn cũng có thể chuyển từ người dùng hiện tại sang root bằng lệnh su
. Phương pháp này phổ biến trên các bản phân phối Linux khác, hữu ích khi đã thiết lập mật khẩu cho root. Trên Ubuntu, mặc định tài khoản root bị vô hiệu hóa, bạn cần cài đặt mật khẩu root nếu muốn sử dụng.
5.1 Cách sử dụng cơ bản của lệnh su
Lệnh su
giúp chuyển đổi giữa các người dùng; bạn có thể chỉ định tên người dùng muốn chuyển sang. Để chuyển sang root, hãy nhập:
$ su
Lệnh này sẽ yêu cầu nhập mật khẩu root, nếu nhập đúng sẽ chuyển sang shell của root. Khi hoàn thành tác vụ, hãy dùng lệnh exit
để quay lại người dùng trước đó.
5.2 Sự khác biệt giữa su và su –
Khi dùng su -
, shell sẽ khởi động với toàn bộ biến môi trường của người dùng chuyển đến (root). Nói cách khác, bạn sẽ làm việc trong một môi trường sạch của root. Sử dụng như sau:
$ su -
Điểm khác biệt là su
giữ lại môi trường hiện tại, còn su -
sẽ tái khởi động shell đăng nhập mới. Nếu muốn làm việc trong môi trường chuẩn của root hoặc tránh ảnh hưởng bởi biến môi trường, hãy dùng su -
.
6. Lưu ý bảo mật khi sử dụng quyền root
Quyền root cho phép truy cập toàn bộ hệ thống, nhưng nếu thao tác sai hoặc thay đổi không chủ ý, bạn có thể gây ra rủi ro nghiêm trọng cho hệ thống. Vì vậy, khi quản trị Ubuntu với quyền root, bạn cần đặc biệt lưu ý bảo mật. Sau đây là các điểm chính cần quan tâm.
6.1 Tránh lạm dụng quyền root
Các thao tác với quyền root rất mạnh, nên lý tưởng nhất là hạn chế tối đa thời gian làm việc dưới quyền root. Sử dụng sudo tạm thời sẽ giảm rủi ro xóa nhầm tập tin quan trọng hoặc làm hỏng cấu hình hệ thống. Nếu cần quyền root cho các thao tác hằng ngày, hãy chỉ cấp quyền cho từng lệnh khi cần thiết.
6.2 Luôn đăng xuất sau khi hoàn thành với quyền root
Sau khi hoàn thành các thao tác với shell root, hãy luôn sử dụng lệnh exit
để quay lại shell người dùng bình thường. Nếu để trạng thái root, bạn có thể thực hiện các thao tác không mong muốn với quyền root. Hãy tập thói quen đăng xuất ngay cả khi chỉ thực hiện tác vụ ngắn, nhằm giảm thiểu rủi ro bảo mật.
6.3 Thiết lập tệp sudoers hợp lý
Tệp sudoers là tệp cấu hình cho biết người dùng nào được phép sử dụng lệnh sudo. Hãy chỉnh sửa tệp sudoers bằng lệnh visudo
để chỉ định quyền sudo cho những người dùng nhất định. Cách này giúp ngăn chặn lạm dụng quyền root nếu bên thứ ba truy cập vào hệ thống.
6.4 Sử dụng nhật ký kiểm tra (audit log)
Ubuntu cung cấp nhật ký kiểm tra (audit log) ghi lại lịch sử sử dụng quyền root. Việc kiểm tra nhật ký giúp bạn xác minh ai đã thao tác quyền root, thao tác gì và khi nào. Đặc biệt, khi có nhiều người dùng có quyền sudo, nên kiểm tra nhật ký định kỳ để đảm bảo quản lý bảo mật tốt hơn.

7. Các lỗi thường gặp và cách khắc phục
Khi chuyển sang quyền root hoặc làm việc với quyền root trên Ubuntu, có thể xuất hiện một số lỗi phổ biến. Hiểu rõ các lỗi này và biết cách xử lý sẽ giúp bạn giải quyết sự cố hiệu quả hơn.
7.1 Lỗi “Permission denied”
Nếu bạn thực thi lệnh yêu cầu quyền root bằng người dùng thông thường, sẽ gặp lỗi Permission denied
. Lỗi này có nghĩa bạn không đủ quyền để thực hiện lệnh. Để khắc phục, hãy sử dụng sudo như sau:
$ sudo [lệnh]
Nếu muốn thực hiện liên tiếp nhiều lệnh với quyền root, bạn cũng có thể chuyển sang shell root như đã hướng dẫn ở trên.
7.2 Lỗi “user is not in the sudoers file”
Nếu người dùng chưa được đăng ký trong tệp sudoers, bạn sẽ gặp lỗi user is not in the sudoers file
và không thể dùng sudo. Khi đó, hãy đăng nhập bằng tài khoản quản trị và dùng lệnh visudo
để thêm người dùng vào tệp sudoers. Ví dụ:
username ALL=(ALL) NOPASSWD: ALL
7.3 Vấn đề timeout của sudo
Nếu không được hỏi mật khẩu khi chạy sudo, có thể phiên làm việc của sudo đã hết thời gian hiệu lực. Khi xác thực sudo hết hiệu lực, bạn sẽ cần nhập lại mật khẩu khi thực thi lệnh tiếp theo.
7.4 Root bị vô hiệu hóa mật khẩu
Trên Ubuntu, tài khoản root mặc định bị vô hiệu hóa. Khi dùng lệnh su để chuyển sang root, có thể gặp lỗi “Authentication failure”. Để khắc phục, hãy cài đặt mật khẩu cho root bằng lệnh sau:
$ sudo passwd root
Sau thao tác này, tài khoản root sẽ được kích hoạt và mật khẩu được đặt.
8. Tổng kết
Bài viết đã giải thích nhiều phương pháp chuyển đổi quyền root trên Ubuntu. Quyền root rất mạnh, cho phép truy cập toàn bộ hệ thống, vì vậy sử dụng đúng cách sẽ ảnh hưởng trực tiếp đến an toàn và ổn định của hệ thống. Dưới đây là các điểm chính của bài viết.
8.1 Tóm tắt bài viết
- Tầm quan trọng của quyền root: Quyền root là cần thiết để truy cập sâu và quản trị hệ thống.
- Cấp quyền root tạm thời bằng sudo: Sử dụng
sudo [lệnh]
chỉ khi cần giúp giảm rủi ro bảo mật. - Cách chuyển sang shell root: Sử dụng
sudo -i
hoặcsudo su
để chuyển sang shell root và thực hiện nhiều lệnh với quyền root. - Phân biệt lệnh su: Hiểu sự khác biệt giữa
su
vàsu -
để sử dụng phù hợp với mục đích. - Lưu ý về bảo mật: Hạn chế thao tác với quyền root, và thoát ngay sau khi hoàn thành để giảm rủi ro.
- Lỗi phổ biến và cách xử lý: Có thể xử lý lỗi liên quan đến quyền bằng cách kiểm tra tệp sudoers hoặc kích hoạt tài khoản root.
8.2 Sử dụng và quản lý quyền root một cách an toàn
Sử dụng đúng quyền root sẽ giúp việc quản trị hệ thống Ubuntu hiệu quả hơn. Tuy nhiên, quyền này cũng mang lại nhiều rủi ro nếu thao tác sai. Chỉ làm việc với quyền root khi thực sự cần thiết và luôn chú ý đến bảo mật khi thao tác trên hệ thống.