sudo
là một trong những lệnh được sử dụng phổ biến nhất trong hệ thống Linux. Nó cho phép một người dùng chạy một chương trình cụ thể với tư cách là một người dùng khác, theo mặc định, là siêu người dùng.
Nó chủ yếu được sử dụng cho các mục đích hành chính; cung cấp quyền truy cập quản trị hạn chế cho người dùng không phải là quản trị viên trên PC Linux.
Ví dụ: theo mặc định, người dùng không được phép cài đặt các gói trên hệ thống Ubuntu. Tuy nhiên, người dùng có thể làm như vậy bằng sudo
lệnh.
Người dùng không phải root không có sudo không thể cài đặt một chương trình . Xem một ví dụ không thành công dưới đây:
apt-get install aptitude
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
Người dùng không phải root với sudo có thể cài đặt các chương trình trên hệ thống mà không gặp bất kỳ sự cố nào.
sudo apt-get install aptitude
Reading package lists... Done
Building dependency tree
....
Thêm người dùng hiện tại làm người dùng Sudo
Nếu người dùng không phải là một phần của sudo
nhóm người dùng, người đó sẽ không thể sử dụng sudo
lệnh. Nó sẽ xuất hiện bên dưới đầu ra:
testuser is not in the sudoers file. This incident will be reported.
Để thêm người dùng vào danh sách sudoers, hãy sử dụng usermod
lệnh để thêm người dùng hiện có vào sudo
nhóm trên hệ thống. Dưới đây là một lệnh ví dụ.
sudo usermod -aG sudo testuser
Ở đây -a
tùy chọn có nghĩa là 'nối thêm'. Nó đảm bảo tư cách thành viên nhóm hiện có của người dùng không bị ảnh hưởng. -G
là để chỉ định nhóm nào để thêm người dùng vào.
Khi người dùng được thêm vào nhóm sudo, thông báo sau sẽ hiển thị trong terminal vào lần tiếp theo người dùng này đăng nhập vào hệ thống.
To run a command as administrator (user "root"), use "sudo".
See "man sudo_root" for details.
Tạo người dùng mới với các đặc quyền của Sudo
adduser
là lệnh Linux được sử dụng để tạo người dùng mới. Nó có thể được sử dụng với
cờ --ingroup
để thêm người dùng vào nhóm sudo trong quá trình tạo.
sudo adduser testuser --ingroup=sudo
Hạn chế lệnh nào nên được phép với sudo
Tệp /etc/sudoers
chứa các tùy chọn cấu hình cho sudo
lệnh. Tệp này được bảo vệ ghi trực tiếp, ngay cả đối với root. Cách duy nhất để chỉnh sửa tệp này là sử dụng visudo
lệnh.
sudo visudo
Lệnh trên sẽ mở tệp bằng trình chỉnh sửa dòng lệnh nano. Cuộn và tìm các dòng bên dưới trong tệp.
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Cuối cùng ALL
trong dòng có thể được thay thế bằng lệnh duy nhất hoặc tập hợp các lệnh nên được phép sử dụng sudo.
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) /bin/mv, /usr/sbin/visudo
Lưu ý quan trọng: Các thay đổi được đề xuất trong tệp sudoers ở trên sẽ hạn chế người dùng sudo chỉ có thể thực hiện các lệnh mv
và visudo
. Điều này chỉ dành cho mục đích giải thích, bạn không cần phải buộc những hạn chế này đối với người dùng trên hệ thống của mình.
Nếu bạn đã thực hiện bất kỳ thay đổi nào đối với tệp sudoers bằng cách sử dụng các hướng dẫn được chia sẻ ở trên, thì hãy nhớ lưu tệp bằng cách sử dụng Ctrl + O
các thay đổi được áp dụng. Sau đó, bạn có thể thoát nano bằng cách sử dụng Ctrl + X
.
Để các thay đổi diễn ra, bạn có thể phải đăng nhập / đăng xuất hoặc khởi động lại hệ thống hoặc khởi chạy một cửa sổ đầu cuối mới.
🍻 Chúc mừng!