Cách thêm và xóa người dùng trên Ubuntu

Tác giả sysadmin, T.Năm 20, 2023, 02:05:18 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách thêm và xóa người dùng trên Ubuntu


Để tạo người dùng mới có tên "maxn" trong Ubuntu, hãy sử dụng lệnh "sudo adduser maxn". Để xóa người dùng và thư mục chính của họ, bạn cần lệnh "deluser --remove-home maxn". Bạn cũng có thể thêm họ vào nhóm (usermod), đặt lại mật khẩu của họ (passwd) hoặc cấp cho họ đặc quyền sudo (visudo).


Vai trò quản trị viên hệ thống bao gồm tạo người dùng, xóa người dùng và xem xét người dùng hiện có. Họ cũng kiểm soát ai có thể và không thể sử dụng rootsức mạnh nâng cao của '. Đây là cách để làm điều đó trên Ubuntu Linux.

1. Những điều cần biết về quản lý người dùng trong Ubuntu

Hệ thống nhiều người dùng yêu cầu tài khoản người dùng riêng biệt cho mỗi người sử dụng máy tính. Mỗi người dùng có mật khẩu riêng và khu vực dữ liệu riêng của họ. Người dùng bình thường không thể truy cập dữ liệu của người dùng khác.  Tất nhiên, người dùng có thể truy cập bất cứ thứ gì root.

Người dùng root quản lý tài khoản người dùng. Họ phải tạo tài khoản khi người dùng mới cần sử dụng máy tính và họ xóa tài khoản cũ khi không còn cần thiết.

Ngoài việc tạo và xóa, các thay đổi khác có thể được yêu cầu trong suốt thời gian tồn tại của tài khoản. Người dùng có thể quên mật khẩu của họ và cần mật khẩu để đặt lại. Họ có thể tham gia một bộ phận hoặc nhóm khác và cần được thêm vào nhóm người dùng thích hợp. Họ thậm chí có thể được thăng chức và được trao đặc quyền gốc.

Những nhiệm vụ chung này thuộc về nhóm quản trị hệ thống. Nếu bạn là quản trị viên đang thi hành công vụ—hoặc là người duy nhất trong nhóm—bạn phải hoàn thành các nhiệm vụ này một cách nhanh chóng và dễ dàng.

Dưới đây là tổng hợp về cách thực hiện các tác vụ phổ biến này trên Ubuntu. Vì chúng sử dụng các công cụ tiêu chuẩn nên bạn cũng có thể sử dụng chúng trên các bản phân phối khác, nhưng chúng tôi sẽ giới thiệu Ubuntu trong ảnh chụp màn hình.

2. Cách tạo người dùng trong Ubuntu

Có hai phương pháp dòng lệnh tích hợp để tạo người dùng mới. Chúng có những cái tên rất giống nhau, một tên là useradd, tên kia là adduser.

Lệnh useraddcần tất cả thông tin cần thiết để tạo tài khoản mới được cung cấp trên dòng lệnh. Lệnh addusercó một cách tiếp cận khác. Nó nhắc bạn cung cấp thông tin cần thiết để tạo tài khoản mới.

2.1. Sử dụng useradd

Để thêm người dùng mới với useradd, hãy sử dụng lệnh ở định dạng này.

Mã nguồn [Chọn]
sudo useradd -s /bin/bash -m -c "Mary Quinn" -Gdevelopment maryq

Các tùy chọn và tham số chúng tôi đã sử dụng là:

  • -s /bin/bash : Điều này đặt trình bao mặc định cho người dùng mới này.
  • -m : Thao tác này tạo một thư mục chính trong thư mục "/home/" cho người dùng mới.
  • -c "Mary Quinn" : Tên đầy đủ của người dùng mới. Đây là tùy chọn, nhưng hữu ích.
  • -GDevelopment : Người dùng mới được thêm vào một nhóm có cùng tên với tên tài khoản của họ. Tùy chọn này -Gcũng cho phép chúng tôi thêm chúng vào một nhóm khác đã có từ trước. Các nhóm phải tồn tại. Người dùng mới này sẽ là thành viên của nhóm "phát triển".
  • maryq : Tên đăng nhập của người dùng mới. Điều này phải là duy nhất.

Điều đó tạo ra người dùng, nhưng chúng tôi vẫn cần đặt mật khẩu của họ. Chúng tôi làm điều này bằng cách chuyển tên đăng nhập tài khoản cho lệnh passwd.

Mã nguồn [Chọn]
sudo passwd maryq

Bạn được nhắc nhập mật khẩu mới mà bạn phải nhập hai lần.

2.2. Sử dụng adduser

Để thêm người dùng mới bằng lệnh adduser, chúng tôi cung cấp tên đăng nhập của tài khoản mà chúng tôi sẽ tạo.

Mã nguồn [Chọn]
sudo adduser maxn

Bạn được nhắc nhập mật khẩu và tên đầy đủ của người dùng mới.

Nếu muốn, bạn có thể nhấn "Enter" khi được nhắc nhập các trường tùy chọn "Họ tên", "Số phòng", "Điện thoại cơ quan", "Điện thoại nhà riêng" và "Khác". Chúng sẽ được để trống.

3. Cách thêm nhóm người dùng trong Ubuntu

Thông thường, khi bạn thêm người dùng vào một nhóm trong Linux, thực tế là bạn đang thêm họ vào một  nhóm bổ sung . Nhóm phải đã tồn tại.

Chúng tôi làm điều này bằng cách sử dụng usermodlệnh. Điều quan trọng là đảm bảo bạn sử dụng -atùy chọn (nối thêm) cùng với -Gtùy chọn (nhóm bổ sung). Nếu không, người dùng sẽ trở thành thành viên của nhóm mới, nhưng tư cách thành viên nhóm khác của họ sẽ bị xóa.

Điều này sẽ gây ra nhiều vấn đề vì họ sẽ không phải là thành viên của nhóm chính của họ và họ sẽ không thể truy cập vào các tệp của chính họ—nếu họ thậm chí có thể đăng nhập.

Để thêm  maxnvào nhóm phát triển, chúng tôi sử dụng các tùy chọn -a(chắp thêm) và -G(nhóm bổ sung) với tên của nhóm mà chúng tôi sẽ thêm chúng vào. Chúng ta sẽ sử dụng groupslệnh trước và sau để có thể xem những thay đổi nào đã được thực hiện.

Mã nguồn [Chọn]
groups maxn
Mã nguồn [Chọn]
sudo usermod -a -G development maxn
Mã nguồn [Chọn]
groups maxn

Như chúng ta có thể thấy, người dùng maxnđã được thêm vào nhóm "phát triển" và anh ấy cũng vẫn là thành viên của các nhóm khác của mình.

4. Cách liệt kê người dùng trong Ubuntu

Theo dõi tài khoản người dùng cũng là một phần vai trò của quản trị viên. Rất may, việc xem lại danh sách tài khoản người dùng hiện có không phải là vấn đề và có một số cách để thực hiện.

Chúng ta có thể sử dụng ít hơn để xem bên trong tệp "/etc/passwd", nhưng điều đó hiển thị tất cả các tài khoản "người dùng" của hệ thống và xử lý cũng như những tài khoản được sử dụng bởi những người thực tế, không phải trả tiền.

Mã nguồn [Chọn]
less /etc/passwd

Tất cả các tài khoản người dùng đều có một ID số, duy nhất. Các giá trị thấp nhất và cao nhất có thể được sử dụng làm ID được lưu trữ trong tệp "/etc/login.defs". Nếu chúng tôi phát hiện ra những giá trị đó, chúng tôi có thể liệt kê các tài khoản có giá trị nằm giữa hai giới hạn này. Điều đó sẽ liệt kê các tài khoản người dùng chính hãng cho chúng tôi.

Để tìm ra giới hạn trên và dưới, chúng tôi sẽ sử dụnggrep  để tìm kiếm thông qua tệp "/etc/login.defs". Chúng tôi đang tìm kiếm các dòng bắt đầu bằng "UID_MIN" hoặc "UID_MAX".

Mã nguồn [Chọn]
grep -E  '^UID_MIN|^UID_MAX' /etc/login.defs

Trên máy tính này, phạm vi ID tài khoản người dùng là từ 1000 đến 60000.

Được trang bị kiến thức này, chúng ta có thể sử dụng getentlệnh để tìm kiếm cơ sở dữ liệu mật khẩu cho các mục có giá trị trong phạm vi từ 1000 đến 60000.

Mã nguồn [Chọn]
getent passwd {1000..60000}

Điều đó hữu ích hơn nhiều nhưng vì nó đang kiểm tra 59.000 ID người dùng nên sẽ mất một lúc để chạy. Chúng tôi có thể giảm thời gian đó bằng cách tìm ra ID người dùng được sử dụng nhiều nhất và tìm kiếm đến giá trị đó.

Chúng tôi sẽ sử dụng lệnhcut  và sử dụng dấu hai chấm " ": làm dấu phân cách trường. Chúng tôi sẽ trích xuất trường thứ ba từ tệp "/etc/passwd", đây là trường ID người dùng. Chúng tôi sẽ chuyển đầu ra qua sortvà sử dụng -gtùy chọn (sắp xếp theo số chung) để hiển thị kết quả theo thứ tự số tăng dần.

Mã nguồn [Chọn]
cut -d: -f3 /etc/passwd | sort -g

Bất cứ điều gì từ 1000 đến 60000 là một tài khoản con người hợp lệ. Giá trị cao nhất trên máy tính này đáp ứng các tiêu chí đó là 1003. Việc đưa giá trị đó vào getentlệnh của chúng tôi sẽ tăng tốc đáng kể mọi thứ.

Mã nguồn [Chọn]
getent passwd {1000..1003}

5. Cách thêm người dùng vào sudo trên Ubuntu

Một vài người dùng có thể sử dụng sudolệnh đều là thành viên của một nhóm cụ thể. Để trao sudođặc quyền cho ai đó, bạn phải thêm họ vào nhóm đó. Trên Ubuntu—và nhiều bản phân phối khác—tên của nhóm đó là "sudo" nhưng nó có thể là một thứ gì đó khác, chẳng hạn như "bánh xe", vì vậy tốt nhất bạn nên kiểm tra.

Lệnh sudo visudomở một trình chỉnh sửa và tải tệp "/etc/sudoers". Cuộn xuống cho đến khi bạn thấy một mục tương tự như "Cho phép các thành viên của nhóm sudo thực hiện bất kỳ lệnh nào" và ghi lại tên nhóm.

Mã nguồn [Chọn]
sudo visudo

Trong trường hợp của chúng tôi, nó là "sudo".

Chúng tôi sẽ thêm người dùng maryqvào nhóm đó, sử dụng usermodlệnh mà chúng tôi đã sử dụng trước đó.

Mã nguồn [Chọn]
groups maryq
Mã nguồn [Chọn]
sudo usermod -a -G sudo maryq
Mã nguồn [Chọn]
groups maryq

Lần tới khi Mary đăng nhập, cô ấy sẽ có thể sử dụng sudolệnh.

Nếu người dùng có nhu cầu cụ thể sudovà không còn nữa, thì việc cấp cho họ quyền truy cập không giới hạn sudolà quá mức cần thiết. Giả sử Max cần có khả năng cài đặt phần mềm bằng lệnh nhưngapt không cần sudoquyền truy cập đầy đủ.

Chúng ta cần thêm anh ta vào tệp "/etc/sudoers" và chỉ định lệnh mà anh ta có thể chạy với  sudo.

Mã nguồn [Chọn]
sudo visudo

Cuộn qua tệp và chèn những dòng này ngay phía trên mục nhập cuối cùng trong tệp.

Mã nguồn [Chọn]
# User Max can install software using apt
maxn   ALL=(root) /usr/bin/apt

Dòng đầu tiên là một bình luận. Dòng thứ hai bắt đầu với tên nhóm người dùng mặc định của Max. Điều này thường khớp với tên đăng nhập của người dùng. "ALL=" có nghĩa là điều này áp dụng cho tất cả các máy chủ trên mạng này. "(root)" có nghĩa là các thành viên của nhóm "maxn" có thể đảm nhận quyền root đối với các lệnh được đặt tên và lệnh được đặt tên duy nhất là " apt."

Lưu ý rằng có một Tab ngay sau "maxn", không phải là một chuỗi khoảng trắng.

Lưu các thay đổi của bạn. Lần đăng nhập tiếp theo của Max, anh ấy sẽ có thể chạy aptlệnh với sudo. Anh ta sẽ không thể sử dụng sudovới bất kỳ lệnh nào khác.

6. Cách thay đổi mật khẩu người dùng trên Ubuntu

Thay đổi mật khẩu của người dùng thật dễ dàng. Bạn sẽ cần sử dụng sudolệnh passwd.

Mã nguồn [Chọn]
sudo passwd maxn

Bạn được yêu cầu nhập mật khẩu hai lần để đảm bảo mật khẩu được nhập chính xác. Lần tới khi người dùng đăng nhập, họ sẽ cần sử dụng mật khẩu mới của mình.

Nếu bạn không muốn chọn mật khẩu của người dùng, hãy sử dụng tùy chọn -e (hết hạn). Điều này buộc người dùng phải chọn mật khẩu mới của riêng họ vào lần đăng nhập tiếp theo.

Mã nguồn [Chọn]
sudo passwd -e maxn
7. Cách xóa người dùng trên Ubuntu

Ubuntu và các bản phân phối bắt nguồn từ Debian khác có lệnh deluserxóa người dùng khỏi hệ thống của bạn. Thay vào đó, các bản phân phối không dựa trên Debian sẽ sử dụng userdellệnh này.

Trước khi sử dụng tùy chọn hạt nhân, bạn có thực sự muốn xóa chúng không? Bạn chỉ có thể khóa chúng ra. Điều đó cho phép bạn tự do xem lại các tệp của họ, v.v.

Nếu bạn quyết tâm xóa chúng nhưng có thể muốn tham khảo các tệp và dữ liệu của chúng, hãy lưu trữ thư mục chính của chúng bằng một công cụ như tar.

Hãy sử dụng tài khoản người dùng của Max maxnlàm ví dụ.

Để khóa anh ta, chúng ta có thể sử dụng passwd lệnh với -l tùy chọn (khóa).

Mã nguồn [Chọn]
sudo passwd -l maxn

Để lưu trữ thư mục chính của anh ấy, chúng tôi sẽ sử dụng tar.

Mã nguồn [Chọn]
sudo tar cfjv max-normal-home-folder.tar.bz /home/maxn

Lưu ý rằng không có dấu gạch nối "-" trước các tùy chọn dòng lệnh thành tar. Chúng tôi đã sử dụng:

  • c : Tạo một tệp lưu trữ.
  • f : Tên tệp cho tệp lưu trữ mới.
  • j : Sử dụng nén bzip2.
  • v : Cung cấp đầu ra chi tiết khi kho lưu trữ được tạo.

Tệp lưu trữ được tạo cho chúng tôi, với tên mà chúng tôi yêu cầu.

Mã nguồn [Chọn]
ls

Để thực hiện việc xóa người dùng, chúng tôi sẽ sử dụng tùy chọn --remove-home xóa dữ liệu của họ cùng một lúc.

Mã nguồn [Chọn]
sudo deluser --remove-home maxn

Max bây giờ đã là lịch sử.

Trên bản phân phối không phải Debian, lệnh là:

Mã nguồn [Chọn]
sudo userdel --remove maxn
8. Từ cái nôi đến nấm mồ

Là quản trị viên hệ thống, bạn có toàn quyền đối với người dùng thông thường. Từ việc tạo chúng, quản lý chúng và cuối cùng là xóa chúng, dòng lệnh cho phép bạn thực hiện tất cả.