Giới thiệu
Trong lab này, bạn sẽ học về lệnh su
của Linux, cho phép bạn chuyển đổi sang một tài khoản người dùng khác, thường là người dùng có quyền nâng cao, chẳng hạn như người dùng root. Bạn sẽ hiểu cách sử dụng cơ bản của lệnh su
, bao gồm chuyển sang người dùng root và một tài khoản người dùng cụ thể. Ngoài ra, bạn sẽ khám phá cách quản lý các đặc quyền bằng lệnh su
. Lab này cung cấp các ví dụ thực tế để giúp bạn thành thạo trong việc quản lý người dùng và quyền trên các hệ thống Linux.
Tìm hiểu về lệnh su
Trong bước này, bạn sẽ tìm hiểu về lệnh su
trong Linux, viết tắt của "switch user" (chuyển người dùng). Lệnh su
cho phép bạn chuyển đổi sang một tài khoản người dùng khác, thường là người dùng có quyền nâng cao, chẳng hạn như người dùng root.
Để hiểu cách sử dụng cơ bản của lệnh su
, hãy bắt đầu với một ví dụ đơn giản:
sudo su
Ví dụ đầu ra:
root@labex:/home/labex/project#
Trong ví dụ trên, chúng ta đã sử dụng lệnh sudo
để chuyển sang tài khoản người dùng root. Người dùng root
có mức đặc quyền cao nhất trong hệ thống Linux và có thể thực hiện bất kỳ thao tác nào.
Lệnh su
cũng có thể được sử dụng để chuyển sang một tài khoản người dùng cụ thể, thay vì người dùng root. Ví dụ: để chuyển sang người dùng labex
, bạn có thể chạy:
su - labex
Ví dụ đầu ra:
labex@labex:/home/labex/project$
Lưu ý rằng dấu nhắc đã thay đổi để cho biết rằng chúng ta hiện đã đăng nhập với tư cách là người dùng labex
.
Tùy chọn -
trong lệnh su
rất quan trọng, vì nó đảm bảo rằng môi trường của người dùng mới được tải, bao gồm shell, các biến môi trường và thư mục gốc của người dùng.
Nếu không có tùy chọn -
, lệnh su
sẽ chỉ thay đổi người dùng, nhưng môi trường sẽ vẫn giống như môi trường của người dùng trước đó.
Chuyển người dùng bằng lệnh su
Trong bước này, bạn sẽ học cách sử dụng lệnh su
để chuyển sang một tài khoản người dùng khác.
Đầu tiên, hãy chuyển sang tài khoản người dùng root
:
sudo su
Ví dụ đầu ra:
root@labex:/home/labex/project#
Bây giờ, hãy chuyển sang tài khoản người dùng labex
:
su - labex
Ví dụ đầu ra:
labex@labex:/home/labex/project$
Lưu ý rằng dấu nhắc đã thay đổi để cho biết rằng chúng ta hiện đã đăng nhập với tư cách là người dùng labex
.
Để chuyển lại sang người dùng root
, bạn chỉ cần chạy lại lệnh su
:
su -
Ví dụ đầu ra:
root@labex:/home/labex/project#
Lệnh su -
mà không có tên người dùng cụ thể sẽ chuyển sang tài khoản người dùng root.
Bạn cũng có thể sử dụng lệnh su
để chuyển sang bất kỳ tài khoản người dùng nào khác trên hệ thống, miễn là bạn có các quyền cần thiết.
Ví dụ: để chuyển sang người dùng ubuntu
, bạn có thể chạy:
su - ubuntu
Ví dụ đầu ra:
ubuntu@labex:/home/labex/project$
Hãy nhớ rằng, khi chuyển sang một tài khoản người dùng khác, bạn sẽ có các quyền và môi trường của người dùng đó, có thể khác với tài khoản người dùng hiện tại của bạn.
Quản lý đặc quyền bằng lệnh su
Trong bước này, bạn sẽ học cách sử dụng lệnh su
để quản lý các đặc quyền và thực thi các lệnh với quyền nâng cao.
Như bạn đã học trong các bước trước, lệnh su
cho phép bạn chuyển sang một tài khoản người dùng khác. Khi bạn chuyển sang tài khoản người dùng root
, bạn có mức đặc quyền cao nhất trong hệ thống, có nghĩa là bạn có thể thực hiện bất kỳ thao tác nào.
Hãy thử thực thi một lệnh yêu cầu quyền nâng cao, chẳng hạn như cài đặt một gói:
sudo su
apt-get update
apt-get install -y htop
Ví dụ đầu ra:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
...
Setting up htop (3.0.5-7ubuntu1) ...
Trong ví dụ trên, trước tiên chúng ta đã chuyển sang người dùng root
bằng sudo su
, sau đó chúng ta có thể thực thi các lệnh apt-get
để cập nhật danh sách gói và cài đặt gói htop
.
Nếu bạn không phải là người dùng root
, bạn vẫn có thể thực thi các lệnh với quyền nâng cao bằng lệnh sudo
. Ví dụ:
sudo apt-get update
sudo apt-get install -y htop
Lệnh sudo
cho phép bạn thực thi một lệnh với các đặc quyền của người dùng root
, mà không cần thực sự chuyển sang tài khoản người dùng root
.
Điều quan trọng là phải sử dụng lệnh sudo
một cách cẩn thận, vì nó cấp các đặc quyền nâng cao có thể bị lạm dụng hoặc gây ra hậu quả không mong muốn nếu không được sử dụng đúng cách.
Tóm tắt
Trong lab này, bạn đã học về lệnh su
trong Linux, viết tắt của "switch user" (chuyển người dùng). Lệnh su
cho phép bạn chuyển đổi sang một tài khoản người dùng khác, thường là người dùng có quyền nâng cao, chẳng hạn như người dùng root. Bạn đã học cách sử dụng lệnh su
để chuyển sang tài khoản người dùng root và sang một tài khoản người dùng cụ thể, chẳng hạn như người dùng labex
. Tùy chọn -
trong lệnh su
rất quan trọng, vì nó đảm bảo rằng môi trường của người dùng mới được tải, bao gồm shell, các biến môi trường và thư mục gốc của người dùng. Bạn cũng đã học cách quản lý các đặc quyền bằng lệnh su
, cho phép bạn thực hiện các thao tác với quyền nâng cao.