Để bảo vệ nhân Linux khỏi bị truy cập trái phép, hệ điều hành cung cấp tùy chọn tạo những người dùng khác nhau với các đặc quyền khác nhau. Bạn có thể dễ dàng chuyển đổi người dùng trong Linux bằng các lệnh. Trong bài viết này, chúng ta sẽ khám phá một số phương pháp khác nhau về cách chuyển đổi người dùng ngay từ thiết bị đầu cuối Linux của bạn, bất kể bạn muốn thực hiện các tác vụ quản trị hay chỉ cần thực thi các lệnh với tư cách là siêu người dùng.
Ba loại người dùng trong Linux
Trước khi chúng ta có thể bắt đầu chuyển đổi người dùng, hãy xem các loại người dùng khác nhau trong Linux. Có ba loại người dùng Linux khác nhau:
- Người dùng hệ thống hoặc người dùng không đăng nhập: Những loại người dùng này không có quyền truy cập đăng nhập cũng như không có quyền truy cập shell. Chúng thường được sử dụng để chạy một số dịch vụ hoặc ứng dụng nhất định. Để tìm hiểu thêm về người dùng không đăng nhập, hãy xem bài viết của chúng tôi về cách tạo người dùng không đăng nhập trong Linux.
- Người sử dụng thường xuyên: Những loại tài khoản người dùng này có quyền truy cập hạn chế vào hệ thống tệp theo quyền truy cập tệp của họ. Tuy nhiên, họ có thể sử dụng lệnh su hoặc sudo để giành quyền quản trị.
- Người dùng root (Siêu người dùng/ Quản trị viên): Những loại tài khoản người dùng này có quyền truy cập hoàn toàn không hạn chế vào toàn bộ hệ thống tệp với mức độ bảo mật cao nhất.
Làm cách nào để Switch Người dùng Linux sử dụng lệnh su
Lệnh su, viết tắt của switch user, là một công cụ mạnh mẽ để chuyển từ tài khoản người dùng này sang tài khoản người dùng khác. Cú pháp chuyển đổi người dùng bằng lệnh su trong Linux Terminal là:
su <options> <username>
Trong cú pháp trên, thay thế
-c | Để truyền lệnh tới shell mới của người dùng đã chuyển đổi. |
-S | Để chỉ định một shell khác thay vì /bin/sh mặc định. |
-P | Khi được sử dụng, sẽ tạo một thiết bị đầu cuối giả mới cho phiên không được chia sẻ với phiên ban đầu để bảo mật tốt hơn |
-l | Khởi động shell dưới dạng shell đăng nhập với môi trường tương tự như đăng nhập thực |
-g | Được sử dụng để chỉ định nhóm chính. |
1. Switch cho người dùng thông thường
Để chuyển sang người dùng thông thường bằng lệnh su trong Linux, hãy sử dụng cú pháp sau:
su <options> <username>
Ví dụ: để chuyển sang người dùng ‘thử nghiệm’, hãy sử dụng lệnh sau:
su -l test1
Bây giờ, nhập mật khẩu của người dùng bạn muốn chuyển sang và nhấn enter. Bạn có thể nhận thấy rằng không có tên người dùng trong dấu nhắc shell hoặc thậm chí bạn không thể sử dụng các phím mũi tên để điều hướng hoặc sử dụng tính năng tự động hoàn thành cú pháp bằng phím tab. Điều này có nghĩa là lớp vỏ không ổn định. Để tạo ra một lớp vỏ ổn định, hãy sử dụng lệnh này:
/bin/bash/ -i
Lời nhắc shell của bạn bây giờ sẽ hiển thị tên người dùng mới, bạn cũng có thể điều hướng bằng các phím mũi tên và sử dụng tính năng tự động hoàn thành bằng phím tab.
2. Switch tới người dùng root
Đôi khi, bạn có thể cần sử dụng tài khoản người dùng root cho một số tác vụ quản trị. Để chuyển sang người dùng root hoặc Super User trong Linux, hãy sử dụng lệnh su như:
su -
Bây giờ bạn sẽ được nhắc nhập mật khẩu cho người dùng root. Nhập mật khẩu gốc và nhấn enter. Dấu nhắc shell của bạn bây giờ sẽ hiển thị tên người dùng gốc. Bây giờ bạn có thể thực thi tất cả các lệnh với tư cách là người dùng root.
Làm cách nào để Switch Người dùng Linux sử dụng lệnh sudo
Lệnh sudo là viết tắt của “Super User Do”. Lệnh này thường được sử dụng để thực thi các lệnh khác nhau với tư cách là người dùng root hoặc super. Tuy nhiên, với một thủ thuật nhỏ, bạn có thể sử dụng lệnh sudo để chuyển đổi người dùng trong Linux. Trước đó, hãy xem cú pháp của lệnh sudo:
sudo <options> <parameters> <command>
Trong cú pháp trên,
-b | để chạy lệnh đã cho trong nền |
-u | để chạy lệnh đã cho với tên người dùng cụ thể được truyền dưới dạng tham số |
-N | khi được sử dụng, sẽ trả về một shell không tương tác và tránh nhắc người dùng nhập bất kỳ loại nào |
-T | để đặt thời gian chờ cho lệnh. Nếu hết thời gian chờ trước khi lệnh thoát, lệnh sẽ bị chấm dứt |
-Tôi | chạy shell được chỉ định bởi mục nhập cơ sở dữ liệu mật khẩu của người dùng mục tiêu dưới dạng shell đăng nhập |
1. Thay đổi thành người dùng thông thường
Để chuyển sang người dùng Linux thông thường bằng lệnh sudo trong Linux, hãy sử dụng cú pháp sau:
sudo -u <username_to_switch_to> /bin/bash
Trong cú pháp trên,
- cờ -u được sử dụng để chỉ định tên người dùng bạn muốn chuyển sang
- /bin/bash chỉ định sinh ra bash shell cho người dùng này
Ví dụ: nếu bạn muốn chuyển sang người dùng test1, hãy sử dụng lệnh sudo sau:
sudo -u test1 /bin/bash
Khi bạn thực hiện lệnh trên, bạn sẽ được nhắc nhập mật khẩu của người dùng root. Nhập mật khẩu gốc và nhấn enter. Lời nhắc bây giờ sẽ hiển thị tên người dùng đã chuyển.
2. Switch tới người dùng root
Để chuyển sang người dùng root bằng lệnh sudo:
sudo -u root /bin/bash
Tiếp theo, nhập mật khẩu gốc và nhấn enter. Dấu nhắc shell của bạn bây giờ sẽ thay đổi thành tên người dùng gốc.
Các câu hỏi thường gặp
Làm cách nào để xem người dùng trong Linux?
Tất cả thông tin người dùng được lưu trữ trong tệp /etc/passwd. Sử dụng lệnh cat để xem nội dung tệp dưới dạng: cat /etc/passwd
Tôi có thể chuyển sang người dùng khác mà không biết mật khẩu của họ không?
Không, bạn cần biết mật khẩu của người dùng mà bạn muốn chuyển sang. Nếu bạn đăng nhập với tư cách người dùng root thì bạn có thể chuyển đổi mà không cần biết mật khẩu của họ.