Làm thế nào để Thêm, Sửa đổi và Xóa Người dùng trong Linux?

Spread the love

Quản lý người dùng trong bất kỳ hệ điều hành nào là một trong những nhiệm vụ thường xuyên cơ bản của người quản trị hệ thống.

Đối với hệ điều hành dựa trên Linux, nó thường liên quan đến việc tạo tài khoản người dùng, sửa đổi tài khoản hiện có như thay đổi thư mục chính, trình bao mặc định, khóa / mở khóa một hoặc nhiều tài khoản và xóa tài khoản người dùng.

Trước khi tìm hiểu các lệnh và quy trình để thực hiện các tác vụ này, chúng ta hãy đi sâu tìm hiểu cách phân loại tài khoản người dùng trong Linux. Ngoài ra, lưu ý rằng trừ khi được chỉ định rõ ràng, các lệnh nhất định sẽ hoạt động trong hầu hết các bản phân phối Linux phổ biến.

Loại người dùng

Người dùng gốc

Người dùng root là quản trị viên của hệ điều hành với tất cả các quyền để thực hiện các hoạt động. Thông thường, chỉ root mới có thể cài đặt / gỡ cài đặt hoặc cập nhật các chương trình và thư viện hệ thống cơ bản. Đây là tài khoản người dùng duy nhất có đặc quyền trên toàn hệ thống.

Vì vậy, người dùng root là người dùng mạnh mẽ nhất của hệ thống.

Người dùng đặc biệt

Đây là những người dùng không có thông tin đăng nhập. Họ không có tất cả các đặc quyền của người dùng root. Tùy thuộc vào tài khoản, chúng đảm nhận các vai trò chuyên biệt khác nhau.

Chúng được tạo tự động tại thời điểm cài đặt bất kỳ ứng dụng nào. bin, sync, lp, mail, operator, ink là một số ví dụ về người dùng đặc biệt.

Người dùng phổ biến

Người dùng thông thường chỉ có toàn quyền trong thư mục làm việc của họ, thường là thư mục chính của họ. Họ không có đặc quyền để quản lý hệ thống hoặc cài đặt phần mềm. Họ không thể thực hiện các tác vụ này nếu không có các đặc quyền thông qua sudo.

Thêm người dùng

Debian / Ubuntu

Trên hệ thống dựa trên Debian hoặc Ubuntu, có một số tùy chọn để thêm người dùng từ CLI. Lệnh đầu tiên là adduser, là một tập lệnh Perl và sử dụng lệnh useradd trong phần phụ trợ mà chúng ta sẽ xem cách sử dụng sau.

Vì thêm người dùng là một nhiệm vụ đặc quyền, bạn sẽ cần sử dụng sudo làm tiền tố và tên người dùng làm đối số. Các chi tiết khác có thể được chỉ định như được nhắc. Ngoại trừ tên người dùng và mật khẩu, phần còn lại của các chi tiết là tùy chọn. Chúng tôi có thể xác minh rằng người dùng đã được tạo bằng cách sử dụng lệnh id.

$ sudo adduser johndoe
Adding user `johndoe' ...
Adding new group `johndoe' (1003) ...
Adding new user `johndoe' (1003) with group `johndoe' ...
Creating home directory `/home/johndoe' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for johndoe
Enter the new value, or press ENTER for the default
        Full Name []: John Doe
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y
$
$ id johndoe
uid=1003(johndoe) gid=1003(johndoe) groups=1003(johndoe)
$

CentOS / RHEL / Fedora (Bao gồm Debian / Ubuntu)

Lệnh tiếp theo, useradd sẽ hoạt động trên các bản phân phối hệ điều hành dựa trên RHEL cũng như hoạt động tốt như nhau trên các máy chủ Ubuntu / Debian. Cú pháp đơn giản nhất (không có bất kỳ tùy chọn bổ sung nào) để tạo người dùng mới là:

$ sudo useradd <username>

Thí dụ:

$ sudo useradd janedoe

Lệnh useradd hỗ trợ nhiều tùy chọn có thể được chỉ định trong khi tạo người dùng, phổ biến nhất là ID người dùng (UID), ID nhóm (GID), trình bao mặc định và thư mục chính, v.v. Một ví dụ như vậy được đưa ra dưới đây:

$ sudo useradd -s /bin/sh -d /data/newhome -c "Jane Doe" -u 1005 janedoe

Bạn có thể xác minh người dùng mới được tạo bằng lệnh id:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

Sửa đổi người dùng

Người ta thường cần sửa đổi một số thuộc tính của người dùng hiện tại dựa trên yêu cầu của tổ chức, yêu cầu của người dùng hoặc di chuyển hệ thống. Hầu hết các thuộc tính này đều dễ dàng sửa đổi mặc dù chúng tôi cần đảm bảo rằng nó sẽ ảnh hưởng như thế nào đến môi trường người dùng và quyền truy cập vào các tệp do người dùng sở hữu hoặc truy cập.

  Cách cài đặt trình điều khiển AMDGPU-PRO mới nhất trên Linux

Shell mặc định

Trình bao mặc định là trình bao CLI được tạo khi người dùng khởi chạy một phiên CLI mới cục bộ hoặc qua SSH. Hầu hết các hệ thống hiện đại đều có Bash người dùng mặc định mặc dù nó có thể khác nhau dựa trên bản phân phối Linux hoặc môi trường của người dùng. Để sửa đổi trình bao mặc định của người dùng, hãy sử dụng:

$ sudo usermod -s <shell> <username>

Thí dụ:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/sh
$ sudo usermod -s /bin/bash janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$

Như bạn có thể thấy trong đầu ra ở trên, shell đã được thay đổi từ / bin / sh thành / bin / bash cho người dùng janedoe.

Thư mục Trang chủ

Giống như trình bao mặc định, thư mục chính của người dùng có thể được sửa đổi thành một vị trí khác bằng cách sử dụng:

$ sudo usermod -d <new_directory_path> <username>

Trong ví dụ dưới đây, thư mục chính của người dùng janedoe đã được đổi thành / data / janedoe:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$ sudo usermod -d /data/janedoe janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$

Trước khi thực hiện chuyển đổi, hãy đảm bảo rằng thư mục mới có quyền sở hữu và quyền phù hợp. Nếu không, người dùng có thể gặp sự cố khi đăng nhập hoặc làm việc trong thư mục chính mới.

  7 ứng dụng thời tiết tốt nhất cho Linux

Tên người dùng

Bạn có thể thay đổi ID người dùng của người dùng hiện tại bằng cách sử dụng:

$ sudo usermod -u <new_uid> <username>

Thí dụ:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -u 1010 janedoe
$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$

Một lần nữa, việc thay đổi UID sẽ thay đổi cách hệ thống tệp Linux ánh xạ quyền sở hữu và quyền đối với tệp hoặc thư mục. Đảm bảo rằng thư mục chính của người dùng và nội dung của nó cũng như tất cả các tệp khác ở bất kỳ đâu trong hệ thống, do người dùng sở hữu ban đầu (với UID cũ), được thay đổi thành UID được ánh xạ. Không làm như vậy có thể gây ra sự cố trong phiên CLI và quyền truy cập tệp của người dùng.

Nhóm mặc định

Nhóm mặc định thường là ID nhóm mặc định của người dùng, được tạo trong quá trình người dùng tạo trừ khi GID khác được chỉ định. Linux cũng cho phép bạn sửa đổi nhóm người dùng mặc định bằng cách sử dụng lệnh usermod. Đây là cú pháp để sử dụng:

$ sudo usermod -g <new_gid or group_name> <username>

Đây là một ví dụ:

$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$ sudo usermod -g 1001 janedoe
$ getent passwd janedoe
janedoe:x:1010:1001::/data/janedoe:/bin/bash
$

Một lần nữa, hãy đảm bảo rằng ID nhóm mới được đặt trên thư mục chính, nội dung của người dùng và tất cả các tệp hoặc thư mục khác có thể áp dụng để di chuyển đúng quyền sở hữu của họ.

Thêm / Xóa nhóm

Bên cạnh nhóm mặc định, người dùng trong Linux có thể là một phần của các nhóm thứ cấp. Chúng tôi luôn có thể thêm hoặc xóa các nhóm bổ sung mà người dùng thuộc về bằng cách sử dụng lệnh usermod.

$ sudo usermod -a -G <group_id or group_name> <username>

Thí dụ:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -a -G docker janedoe
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$

Tương tự, để xóa người dùng khỏi một trong các nhóm phụ, hãy sử dụng lệnh gpasswd như hình dưới đây:

$ sudo gpasswd -d <username> <groupname>

Thí dụ:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$ sudo gpasswd -d janedoe docker
Removing user janedoe from group docker
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$

Nhận xét về GECOS

Trường GECOS trong / etc / passwd chứa thông tin người dùng hoặc nhận xét. Chúng tôi có thể sửa đổi thông tin này cho người dùng hiện tại là:

$ sudo usermod -c <comment> <username>

Thí dụ:

$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -c "Jane Doe - System Admin" janedoe
$ getent passwd janedoe
janedoe:x:1005:1005:Jane Doe - System Admin:/data/janedoe:/bin/bash
$

Xin lưu ý rằng nếu bình luận của bạn hoặc chi tiết người dùng chứa khoảng trắng, hãy đặt trường đó trong dấu ngoặc kép như được thực hiện trong ví dụ trên.

  Cách sử dụng lệnh tham gia trên Linux

Tên đăng nhập

Tên đăng nhập của người dùng cũng có thể được thay đổi bằng lệnh usermod bằng cách sử dụng cờ -l:

$ sudo usermod -l <new_username> <old_username>

Thí dụ:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -l jane_doe janedoe
$ id jane_doe
uid=1005(jane_doe) gid=1005(janedoe) groups=1005(janedoe)
$

Hãy nhớ cập nhật các tham chiếu của người dùng theo tên mới ở bất kỳ nơi nào được sử dụng. Ngay cả trong các lệnh như id, tên người dùng mới phải được chỉ định.

Xóa người dùng

Người dùng có thể bị xóa khỏi Linux bằng lệnh userdel.

$ sudo userdel <username>

Thí dụ:

$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo userdel janedoe
$ id janedoe
id: ‘janedoe’: no such user
$

Để xóa một người dùng cùng với thư mục chính và bộ đệm thư của người đó, hãy thêm cả cờ -r.

$ sudo userdel -r <username>

Đặc biệt đối với các hệ thống dựa trên Ubuntu, bạn cũng có thể sử dụng lệnh xóa người dùng để xóa người dùng:

$ sudo deluser <username>

Tương tự, để loại bỏ thư mục chính và thư mục thư, hãy sử dụng:

$ sudo deluser --remove-home <username>

Để biết thông tin chi tiết và các tùy chọn được hỗ trợ khác, hãy tham khảo trang chính của các lệnh khác nhau bằng cách sử dụng:

$ man adduser
$ man useradd
$ man usermod
$ man deluser
$ man userdel

Sự kết luận

Bài viết này đã chỉ ra các khía cạnh khác nhau của quản lý người dùng trong hệ thống Linux. Điều này bao gồm giải thích về các danh mục người dùng khác nhau và cách thêm và xóa họ. Nó cũng bao gồm các tùy chọn khác nhau giúp sửa đổi các thông số của người dùng hiện tại. Mặc dù nó không bao gồm tất cả các khả năng được hỗ trợ bởi các lệnh khác nhau, nó bao gồm rất nhiều tác vụ quản trị phổ biến mà người quản trị hệ thống sẽ gặp phải trong công việc hàng ngày.

Bạn cũng có thể quan tâm đến việc đọc: Làm thế nào để xóa tệp và thư mục trong Linux?

x