April 21, 2015 hotro@hostingviet.vn 02466.567.555       Giới thiệuTuyển dụng    Liên hệ   Đăng nhập   Đăng ký

Sudo là gì? Hướng dẫn cấp quyền Sudo cho User trong Ubuntu

Sudo là gì? Lệnh Sudo trong Linux như thế nào. HostingViet sẽ giải đáp cho bạn tất tần tật kiến thức về Sudo.

Những chia sẻ sau về sudo là gì và cách tạo user mới có quyền truy cập sudo trong linux sẽ giúp bạn hiểu thêm về “câu thần chú ngầm” này.

Sudo là gì?

Sudo là từ viết tắt của “substitute user do“, hay “super user do”. Đây là một chương trình của Linux. Nó cho phép user chạy chương trình với những đặc quyền bảo mật của user khác trong Linux (thường là root user).

Những hoạt động mà sudo làm cực kỳ quan trọng đối với các bản phân phối của Linux. Vì thế, dù bạn đang sử dụng bản phân phối nào của Linux thì cũng đến lúc nên tận dụng các lợi thế mà sudo mang lại.

sudo la gi

Sự khác biệt giữa sudo linux và su

Nếu bạn đã quen thiết lập Linux truyền thống, thì chắc chắn bạn cũng quá thông thạo với việc dùng lệnh su để được quyền root. Và thậm chí, bạn còn có thể sử dụng lệnh su để đăng nhập như một user root. 

Với các bảng phân phối Linux này, chắc chắn bạn cũng dễ dàng đăng nhập với tư cách là người dùng root. Bằng cách đơn giản là gõ lệnh su, nhập tài khoản và password của tài khoản root. Lúc này trên cửa sổ terminal, bạn đã có thể truy cập tài khoản của người dùng khác. Và tất nhiên, đây không phải là ý tưởng tốt cho người quản trị vì tính bảo mật kém.

Tóm lại, su mang đến tính năng là khởi động một cửa sổ mới của quyền root.

Còn với sudo linux lại có cách tiếp cận khác. Sudo chỉ chạy dòng lệnh sau khi được sự cho phép của root. Do đó, khi bạn chạy sudo thì phải nhập thông tin về tài khoản, password của mình để có thể chạy câu lệnh như người dùng root.

Bên cạnh đó, sudo còn sử dụng file config (/ etc / sudoers) để xác định quyền của các user khác nhau. 

Có thể thấy, điểm khác biệt lớn nhất giữa sudo linux và su đó là:

- Sudo: người dùng sử dụng tài khoản của chính mình để chạy câu lệnh của hệ thống. Sudo không khởi động bất kỳ cửa sổ shell mới. 

  • Su: bắt buộc người dùng chia sẻ root password với user khác. Và su ngược lại với sudo, su khởi động cửa sổ shell mới.
  • sudo la gi

Sử dụng sudo trong các distro linux

Ubuntu là bản phân phối linux đầu tiên sử dụng mặc định sudo (sudo Ubuntu). Khi người dùng cài đặt Ubuntu thì tài khoản root cũng tự động tạo và không có password. Vì thế, bạn cần phải tạo password cho tài khoản thì mới có thể login vào root. Với Ubuntu và các bản distro trên nền Debian, người dùng phải ghi nhớ password. Theo cách này, Ubuntu cũng khuyến khích người dùng tránh đăng nhập vào root. Còn trên nền tảng Fedora, người dùng phải tạo password khác nhau cho tài khoản của mình và tài khoản root. 

Thực tế cũng cho thấy có cách kết hợp khá thú vị giữa sudo và su khiến người dùng Linux vô cùng thích thú. Đó là, sudo yêu cầu password, sau khi nhập xong thì nó sẽ chạy câu lệnh như người dùng root. Tiếp đến, để chạy câu lệnh đơn với quyền root thì bạn sử dụng cú pháp “su -c "command"”.

Cách cấu hình cho phép user dùng lệnh sudo trong linux

Để có thể cấu hình và cấp quyền sudo cho user trong Ubuntu, bạn đăng nhập với tư cách user root.

- Bước 1: Dùng lệnh “adduser <new_user>” để tạo user vào hệ thống.

- Bước 2: Dùng lệnh “passwd <new_user>” để cập nhật password cho user vừa tạo.

Lưu ý: mật khẩu phải đủ mạnh theo yêu cầu và bạn cũng được đề nghị thực hiện xác nhận lại mật khẩu.

- Bước 3: Dùng lệnh “usermod -aG wheel username” để thêm user vừa khởi tạo vào nhóm wheel.

- Bước 4: Kiểm tra user sử dụng lệnh sudo được chưa, bằng cách nhập lệnh sau:

su - <new_user>

sudo ls –la

Tiếp đến là cách cấp quyền sudo cho user trong Ubuntu

- Bước 1: Dùng lệnh “adduser <new_user>” để tạo user.

Trên Ubuntu hay Debian thì không cần thiết lập password mà lệnh adduser sẽ kiêm nhiệm luôn việc hỏi mật khẩu người dùng.

- Bước 2: Dùng lệnh “adduser <new_user> sudo” để thêm tài khoản mới vào nhóm sudo.

- Bước 3: Kiểm tra user sử dụng lệnh sudo được chưa, bằng câu lệnh sau:

su - <new_user>

sudo ls –la

sudo la gi

Khi user đã được thêm vào nhóm thì lệnh của user được thực thi dưới quyền root. Và trong một vài trường hợp, quản trị viên giới hạn quyền root của user, chỉ cho họ dùng lệnh sudo thực hiện một số lệnh thì có thể cấu hình file visudo để phân quyền cho user.

Cách thực hiện cụ thể cho một số quyền thông dụng như sau:

- Thêm quyền poweroff: đây là quyền dùng sudo để tắt máy. Để phân quyền này, bạn dùng câu lệnh sau.

## Allow root to run any commands anywhere

root All=(All) All

user localhost= NOPASSWD: /sbin/poweroff

- Cấu hình cho user dùng lệnh sudo: cấu hình cho phép user dùng lệnh sudo để thực hiện toàn bộ lệnh hay chỉ vài lệnh của user root.

  • Cho phép thực hiện nhiều lệnh với quyền roof:  

user ALL=(root) /sbin/shutdown, /bin/kill, /etc/init.d/httpd.

  • Cho phép user tắt máy không cần xác nhận mật khẩu: 

user localhost= NOPASSWD: /sbin/shutdown.

  • Cho phép user thực hiện bất kỳ một lệnh nào đó trong /usr/bin:

 user linux01 = /usr/bin/*

Trên đây là chia sẻ về sudo là gì cũng như cách tạo và thiết lập quyền sudo linux cho user mới. Mặc dù chỉ là những thông tin cơ bản về sudo nhưng nếu nắm vững và áp dụng chúng, bạn sẽ thấy được tính ứng dụng hiệu quả của lệnh này.

Có thể bạn quan tâm :

Phân biệt sự khác nhau giữa Hosting Linux và Hosting Windows

Cách xóa Memcached trên Server Linux (CentOS , Ubuntu )