Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Những điều cần biết về lệnh Sudo trong Linux

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.