Tạo user và grant root permission trên linux
ShellScript này tạo một người dùng mới và thêm vào nhóm 'wheel'. Với khả năng nhập thông tin từ bàn phím như tên người dùng, mật khẩu và publickey, đơn giản hóa quá trình quản lý người dùng trên hệ thống Linux.
Full code
adduser.sh | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
|
Explanation
Variable
-
USER
: Biến chứa tên người dùng, mặc định là 'sonnh11'. -
PASSWD
: Biến chứa mật khẩu, cho phép nhập từ bàn phím hoặc nhúng vào code. Nếu không, tự tạo một chuỗi mật khẩu ngẫy nhiên -
PUBLIC_KEY
: Biến chứa public key, được đọc từ tệppublic_key
. Có thể nhập từ bàn phím để ghi đè nội dung trong file. Nếu cả nội dung trong file và nhập từ bàn phím đều trống, tự generate một public key
Màu Sắc:
- RED, GREEN, YELLOW, PLAIN: Biến chứa mã màu để làm cho in ra màn hình dễ đọc.
Các Bước Kiểm Tra:
-
Kiểm tra xem script được chạy với quyền root không.
-
Kiểm tra hệ điều hành để xác định gia đình hệ điều hành (Ubuntu hoặc CentOS/RHEL) và thiết lập các biến liên quan.
-
Kiểm Tra và Cài Đặt Gói:
- Kiểm tra xem openssl đã được cài đặt hay chưa. Nếu không, cài đặt nó.
- Kiểm tra xem ssh đã được cài đặt hay chưa. Nếu không, cài đặt và khởi động dịch vụ SSH.
Các hàm sử dụng
Hàm generate_secret:
-
Hướng dẫn sử dụng script và các tham số cần truyền.
-
Nếu các tham số không được cung cấp, sử dụng giá trị mặc định và tạo ra mật khẩu và public key nếu chúng không được cung cấp.
Hàm addnewUser:
-
Tạo người dùng mới nếu thư mục người dùng không tồn tại.
-
Thêm người dùng vào nhóm
wheel
và cấp quyền sudo. -
Tạo thư mục .ssh và đặt quyền truy cập public key.
Hàm main:
- Gọi các hàm theo thứ tự để thực hiện các bước chính của chương trình.
Lưu ý:
-
Script kiểm tra quyền root để đảm bảo an toàn khi thực hiện các thay đổi hệ thống quan trọng.
-
Tương tác với người dùng để nhập thông tin cần thiết, như mật khẩu và khóa công khai.
-
Sử dụng biến màu sắc để cải thiện trải nghiệm người dùng khi hiển thị thông điệp.