Unix / Linux - Quản trị người dùng
Trong chương này, chúng ta sẽ thảo luận chi tiết về quản trị người dùng trong Unix.
Có ba loại tài khoản trên hệ thống Unix -
Tài khoản gốc
Đây cũng được gọi là superuservà sẽ có toàn quyền kiểm soát hệ thống. Một siêu người dùng có thể chạy bất kỳ lệnh nào mà không có bất kỳ hạn chế nào. Người dùng này nên được coi là quản trị viên hệ thống.
Tài khoản hệ thống
Tài khoản hệ thống là những tài khoản cần thiết cho hoạt động của các thành phần dành riêng cho hệ thống, ví dụ: tài khoản thư và sshdcác tài khoản. Những tài khoản này thường cần thiết cho một số chức năng cụ thể trên hệ thống của bạn và bất kỳ sửa đổi nào đối với chúng có thể ảnh hưởng xấu đến hệ thống.
Tài khoản người dùng
Tài khoản người dùng cung cấp quyền truy cập tương tác vào hệ thống cho người dùng và nhóm người dùng. Người dùng chung thường được chỉ định cho các tài khoản này và thường có quyền truy cập hạn chế vào các thư mục và tệp hệ thống quan trọng.
Unix hỗ trợ một khái niệm về Tài khoản Nhóm để nhóm một số tài khoản một cách hợp lý. Mọi tài khoản sẽ là một phần của tài khoản nhóm khác. Nhóm Unix đóng vai trò quan trọng trong việc xử lý các quyền đối với tệp và quản lý quy trình.
Quản lý người dùng và nhóm
Có bốn tệp quản trị người dùng chính:
/etc/passwd- Giữ thông tin tài khoản người dùng và mật khẩu. Tệp này chứa phần lớn thông tin về các tài khoản trên hệ thống Unix.
/etc/shadow- Giữ mật khẩu đã mã hóa của tài khoản tương ứng. Không phải tất cả các hệ thống đều hỗ trợ tệp này.
/etc/group - Tệp này chứa thông tin nhóm cho mỗi tài khoản.
/etc/gshadow - Tệp này chứa thông tin tài khoản nhóm an toàn.
Kiểm tra tất cả các tệp ở trên bằng cách sử dụng cat chỉ huy.
Bảng sau liệt kê các lệnh có sẵn trên hầu hết các hệ thống Unix để tạo và quản lý tài khoản và nhóm -
Sr.No. | Lệnh & Mô tả |
---|---|
1 | useradd Thêm tài khoản vào hệ thống |
2 | usermod Sửa đổi các thuộc tính tài khoản |
3 | userdel Xóa tài khoản khỏi hệ thống |
4 | groupadd Thêm nhóm vào hệ thống |
5 | groupmod Sửa đổi các thuộc tính nhóm |
6 | groupdel Xóa nhóm khỏi hệ thống |
Bạn có thể sử dụng Manpage Help để kiểm tra cú pháp hoàn chỉnh cho từng lệnh được đề cập ở đây.
Tạo một nhóm
Bây giờ chúng ta sẽ hiểu cách tạo một nhóm. Đối với điều này, chúng tôi cần tạo nhóm trước khi tạo bất kỳ tài khoản nào, nếu không, chúng tôi có thể sử dụng các nhóm hiện có trong hệ thống của mình. Chúng tôi có tất cả các nhóm được liệt kê trong/etc/groups tập tin.
Tất cả các nhóm mặc định là các nhóm cụ thể của tài khoản hệ thống và không nên sử dụng chúng cho các tài khoản thông thường. Vì vậy, sau đây là cú pháp để tạo một tài khoản nhóm mới:
groupadd [-g gid [-o]] [-r] [-f] groupname
Bảng sau liệt kê các tham số:
Sr.No. | Tùy chọn & Mô tả |
---|---|
1 | -g GID Giá trị số của ID nhóm |
2 | -o Tùy chọn này cho phép thêm nhóm có GID không phải duy nhất |
3 | -r Cờ này hướng dẫn groupadd để thêm tài khoản hệ thống |
4 | -f Tùy chọn này khiến bạn chỉ thoát với trạng thái thành công, nếu nhóm được chỉ định đã tồn tại. Với -g, nếu GID được chỉ định đã tồn tại, thì GID (duy nhất) khác sẽ được chọn |
5 | groupname Tên nhóm thực tế sẽ được tạo |
Nếu bạn không chỉ định bất kỳ tham số nào, thì hệ thống sẽ sử dụng các giá trị mặc định.
Ví dụ sau tạo một nhóm nhà phát triển với các giá trị mặc định, điều này được hầu hết các quản trị viên chấp nhận.
$ groupadd developers
Sửa đổi nhóm
Để sửa đổi một nhóm, hãy sử dụng groupmod cú pháp -
$ groupmod -n new_modified_group_name old_group_name
Để thay đổi tên nhóm nhà phát triển_2 thành nhà phát triển, hãy nhập -
$ groupmod -n developer developer_2
Đây là cách bạn sẽ thay đổi GID tài chính thành 545 -
$ groupmod -g 545 developer
Xóa nhóm
Bây giờ chúng ta sẽ hiểu cách xóa một nhóm. Để xóa một nhóm hiện có, tất cả những gì bạn cần làgroupdel command và group name. Để xóa nhóm tài chính, lệnh là:
$ groupdel developer
Thao tác này chỉ xóa nhóm, không xóa các tệp được liên kết với nhóm đó. Các tệp vẫn có thể truy cập được bởi chủ sở hữu của họ.
Tạo một tài khoản
Hãy để chúng tôi xem cách tạo tài khoản mới trên hệ thống Unix của bạn. Sau đây là cú pháp để tạo tài khoản của người dùng:
useradd -d homedir -g groupname -m -s shell -u userid accountname
Bảng sau liệt kê các tham số:
Sr.No. | Tùy chọn & Mô tả |
---|---|
1 | -d homedir Chỉ định thư mục chính cho tài khoản |
2 | -g groupname Chỉ định tài khoản nhóm cho tài khoản này |
3 | -m Tạo thư mục chính nếu nó không tồn tại |
4 | -s shell Chỉ định trình bao mặc định cho tài khoản này |
5 | -u userid Bạn có thể chỉ định một id người dùng cho tài khoản này |
6 | accountname Tên tài khoản thực tế sẽ được tạo |
Nếu bạn không chỉ định bất kỳ tham số nào, thì hệ thống sẽ sử dụng các giá trị mặc định. Cácuseradd lệnh sửa đổi /etc/passwd, /etc/shadowvà /etc/group và tạo một thư mục chính.
Sau đây là ví dụ tạo tài khoản mcmohd, đặt thư mục chính của nó thành /home/mcmohd và nhóm với tư cách là developers. Người dùng này sẽ được gán Korn Shell cho nó.
$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd
Trước khi phát hành lệnh trên, hãy đảm bảo rằng bạn đã tạo nhóm nhà phát triển bằng cách sử dụnggroupadd chỉ huy.
Khi một tài khoản được tạo, bạn có thể đặt mật khẩu của nó bằng cách sử dụng passwd lệnh như sau:
$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
Khi bạn gõ passwd accountname, nó cung cấp cho bạn một tùy chọn để thay đổi mật khẩu, miễn là bạn là siêu người dùng. Nếu không, bạn chỉ có thể thay đổi mật khẩu của mình bằng cách sử dụng lệnh tương tự nhưng không cần chỉ định tên tài khoản của bạn.
Sửa đổi tài khoản
Các usermodlệnh cho phép bạn thực hiện các thay đổi đối với tài khoản hiện có từ dòng lệnh. Nó sử dụng các đối số giống nhưuseradd , cộng với đối số -l, cho phép bạn thay đổi tên tài khoản.
Ví dụ: để thay đổi tên tài khoản mcmohd đến mcmohd20 và để thay đổi thư mục chính cho phù hợp, bạn sẽ cần đưa ra lệnh sau:
$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20
Xóa tài khoản
Các userdellệnh có thể được sử dụng để xóa một người dùng hiện có. Đây là một lệnh rất nguy hiểm nếu không sử dụng một cách thận trọng.
Chỉ có một đối số hoặc tùy chọn có sẵn cho lệnh .r, để xóa thư mục chính và tệp thư của tài khoản.
Ví dụ: để xóa tài khoản mcmohd20 , hãy sử dụng lệnh sau:
$ userdel -r mcmohd20
Nếu bạn muốn giữ thư mục chính cho mục đích sao lưu, hãy bỏ qua -rLựa chọn. Bạn có thể xóa thư mục chính nếu cần sau này.