Người dùng mới chuyển sang Linux (đặc biệt là Ubuntu) sớm hay muộn sẽ biết đến lệnh Sudo. Nhiều người chỉ dùng nó để vượt qua thông báo "permission denied" — nhưng Sudo làm được nhiều hơn thế rất nhiều.
Về Sudo
Một hiểu lầm phổ biến về Sudo là nó chỉ dùng để cung cấp quyền root cho người dùng thường. Thực tế, lệnh Sudo cho phép bạn chạy lệnh với tư cách bất kỳ người dùng nào, với mặc định thường là root.
Cách cấp quyền Sudo cho người dùng
Người dùng Ubuntu thường coi việc chạy lệnh Sudo là hiển nhiên. Đó là vì, trong quá trình cài đặt, một người dùng mặc định được tạo ra, và người dùng mặc định trong Ubuntu luôn được thiết lập với quyền Sudo. Nếu bạn dùng bản phân phối khác hoặc có người dùng khác trong Ubuntu, người dùng đó có thể cần được cấp quyền chạy lệnh Sudo.
Chỉ một vài người nên có quyền truy cập lệnh Sudo, và họ nên là quản trị viên hệ thống. Người dùng chỉ nên được cấp quyền cần thiết để thực hiện công việc.
Để cấp quyền Sudo cho người dùng, bạn chỉ cần thêm họ vào nhóm Sudo. Khi tạo người dùng, dùng lệnh:
sudo useradd -m -G sudo
Lệnh trên sẽ tạo người dùng với thư mục home và thêm vào nhóm Sudo. Nếu người dùng đã tồn tại, bạn có thể thêm vào nhóm Sudo bằng lệnh:
sudo usermod -a -G sudo
Mẹo Sudo hay khi bạn quên chạy nó
Đây là một trong những thủ thuật dòng lệnh bạn học được từ chuyên gia — trong trường hợp này, để vượt qua thông báo "permission denied". Nếu là lệnh dài, bạn có thể lùi lại qua lịch sử và thêm Sudo ở đầu, gõ lại toàn bộ, hoặc dùng lệnh đơn giản sau để chạy lệnh trước đó với Sudo:
sudo !!
Cách chuyển sang user Root bằng Sudo
Lệnh Su dùng để chuyển từ tài khoản người dùng này sang tài khoản khác. Chạy lệnh Su đơn lẻ sẽ chuyển sang tài khoản superuser. Do đó, để chuyển sang superuser bằng Sudo, chỉ cần chạy:
sudo su
Cách chạy lệnh Sudo trong nền
Nếu bạn muốn chạy lệnh đòi hỏi đặc quyền superuser trong nền, chạy lệnh Sudo với công tắc -b:
sudo -b
Lưu ý: nếu lệnh chạy yêu cầu tương tác người dùng, cách này sẽ không hoạt động.
Một cách thay thế để chạy lệnh trong nền là thêm dấu & vào cuối:
sudo &
Cách chỉnh sửa file với đặc quyền Sudo
Cách rõ ràng để chỉnh sửa file với đặc quyền superuser là chạy trình soạn thảo như GNU nano bằng Sudo:
sudo nano
Thay vào đó, bạn có thể dùng cú pháp:
sudo -e
Cách chạy lệnh với tư cách người dùng khác bằng Sudo
Lệnh Sudo có thể dùng để chạy lệnh với tư cách bất kỳ người dùng nào khác. Ví dụ, nếu bạn đăng nhập là user "john" và muốn chạy lệnh với tư cách "terry", bạn chạy Sudo như sau:
sudo -u terry
Nếu muốn thử, tạo người dùng mới tên "test" và chạy lệnh Whoami:
sudo -u test whoami
Cách xác thực thông tin đăng nhập Sudo
Khi bạn chạy lệnh bằng Sudo, bạn sẽ được nhắc nhập mật khẩu. Trong một thời gian sau đó, bạn có thể chạy lệnh Sudo khác mà không cần nhập lại mật khẩu. Nếu muốn kéo dài thời gian đó, chạy lệnh:
sudo -v
Thêm về Sudo
Sudo còn nhiều hơn chỉ chạy lệnh với tư cách superuser. Xem hướng dẫn Sudo Manual để biết các công tắc khác bạn có thể dùng.