Cách tạo mật khẩu được mã hóa trong Unix

Các bạn đọc like ủng hộ MUO nhé. Khi bạn mua hàng bằng các liên kết trên trang web của chúng tôi, chúng tôi có thể kiếm được hoa hồng liên kết. Đọc thêm

Bash script là một phần quan trọng trong công việc của quản trị viên hệ thống. Chúng cho phép bạn tự động hóa cả các nhiệm vụ thông thường và quan trọng

Một trong những điều tốt nhất với tập lệnh là chúng có thể chạy độc lập mà không cần sự can thiệp của con người, nhưng đôi khi có thể khó tự động hóa các tác vụ yêu cầu mật khẩu người dùng. Hãy xem cách bạn có thể tự động hóa một cách an toàn các tập lệnh yêu cầu mật khẩu mà không ảnh hưởng đến bảo mật

Tạo một tập lệnh đơn giản

Giả sử rằng bạn muốn tạo một tập lệnh đơn giản để sao lưu thư mục nhà Linux của bạn đến một vị trí ở xa để bạn có thể dễ dàng khôi phục dữ liệu của mình trong trường hợp mất dữ liệu

Bắt đầu bằng cách tạo tệp tập lệnh Bash trong thư mục chính của bạn, sử dụng lệnh touch hoặc bất kỳ phương pháp nào khác và đặt tên là backup_home. sh. Vui lòng sử dụng bất kỳ tên và thư mục nào theo ý thích của bạn

Tập lệnh sử dụng lệnh rsync, một công cụ sao chép tệp mạnh mẽ, để sao lưu tất cả các tệp trong thư mục chính cục bộ của bạn vào một máy chủ từ xa

Sao chép nội dung của tập lệnh sau và dán vào tệp Bash của bạn. Hãy nhớ thay thế người dùng john bằng tên chính xác của người dùng gia đình tại địa phương của bạn. Đồng thời cung cấp tên người dùng và địa chỉ IP chính xác cho máy chủ từ xa

 #!/bin/bash
#Copy data to a remote server
rsync -avl --mkpath /home/john user_name@remote_server/home/Backup

Nếu bạn không có máy chủ từ xa để kiểm tra, bạn chỉ cần cài đặt VirtualBox và thiết lập máy ảo trên máy cục bộ của mình. Sử dụng máy khách VM làm máy chủ từ xa của bạn

Lưu các tập tin. Để thực thi tập lệnh, bạn cần cấp cho nó quyền thực thi bằng lệnh sudo chmod 755. Tất cả người dùng có thể thực thi tập lệnh nhưng chỉ người dùng sudo mới có thể sửa đổi tệp

Cuối cùng, thực thi tập lệnh Bash từ thiết bị đầu cuối bằng lệnh

 ./backup_home.sh 

Bất cứ khi nào bạn chạy tập lệnh này, bạn sẽ được nhắc nhập mật khẩu máy chủ từ xa. Điều này không lý tưởng nếu bạn muốn chạy tập lệnh mà không cần sự can thiệp của con người, chẳng hạn như khi sử dụng Cron

Tự động đăng nhập mật khẩu

Cài đặt sshpass, nhà cung cấp mật khẩu không tương tác, trên PC cục bộ của bạn hoặc PC mà bạn sẽ chạy tập lệnh từ đó

Trên các bản phân phối dựa trên Debian

Nếu bạn đang sử dụng bản phân phối dựa trên Debian, chẳng hạn như Ubuntu, Pop. _OS và Lubfox

 sudo apt update && sudo apt install sshpass 

Trên RHEL và Fedora

 dnf install sshpass 

Sau khi cài đặt sshpass, hãy sửa đổi tập lệnh để nó trông như sau

 #!/bin/bash
#Copy data to a remote server
sshpass -p "yourpassword" rsync -avl --mkpath /home/john user_name@remote_server/home/Backup

Tại đây bạn cung cấp mật khẩu ở dạng văn bản thuần túy. Rõ ràng, đây không phải là cách lý tưởng, vì nó không an toàn và không được thực hành tốt. Nếu kịch bản rơi vào tay kẻ xấu, bạn sẽ gặp rắc rối lớn

Để đảm bảo điều này an toàn hơn, chúng tôi sẽ sử dụng GnuPG, một công cụ mã hóa nguồn mở và an toàn

Mã hóa mật khẩu của bạn

GnuPG được cài đặt theo mặc định trên hầu hết các hệ thống Linux, nhưng trong trường hợp nó không được cài đặt trên hệ thống của bạn, đây là cách cài đặt GnuPG

Tạo một tệp ẩn có tên là bí mật bằng lệnh touch. bí mật. Vì chúng tôi đã ẩn tệp theo mặc định như một biện pháp bảo mật bổ sung, đây là cách bạn có thể xem các tệp ẩn trên Linux

Trong tệp bí mật, nhập mật khẩu của PC từ xa của bạn và lưu nó

Tiếp theo, mã hóa tệp bằng lệnh gpg

 sudo gpg -c .secrets 

Bạn sẽ được nhắc nhập cụm mật khẩu mạnh và an toàn để mở tệp được mã hóa

GnuPG sẽ tạo một tệp mới với phần mở rộng. gpg được thêm vào tên tệp cũ. Tên tệp mới của bạn bây giờ sẽ là bí mật. gpg, giả sử bạn đã sử dụng tên tệp bí mật

Nếu bạn xem nội dung của bí mật. gpg bằng lệnh cat, bạn sẽ thấy một số văn bản vô nghĩa để cho biết rằng mật khẩu của bạn đã được mã hóa

Để xem nội dung của tệp ở dạng văn bản thuần túy, bạn cần giải mã tệp đó bằng lệnh sau (bạn sẽ được nhắc nhập mật khẩu bạn đã đặt trong quá trình mã hóa)

 gpg -dq secrets.gpg 

Sử dụng mật khẩu được mã hóa trong tập lệnh của bạn

Để sử dụng mật khẩu được mã hóa trong tập lệnh, hãy cập nhật tập lệnh như sau

 #!/bin/bash
#Copy data to a remote server
gpg -dq secrets.gpg | sshpass rsync -avl --mkpath /home/john user_name@remote_server/home/Backup

Chạy lại tập lệnh sao lưu và lần này bạn sẽ không được nhắc nhập mật khẩu

Tự động hóa các tác vụ với Bash Script

GnuPG thường được sử dụng để bảo mật các tệp và dữ liệu nhạy cảm trên PC của bạn và cũng là một công cụ tuyệt vời để bảo mật mật khẩu trong các tập lệnh Bash tự động trên Linux

Có rất nhiều thứ bạn có thể làm với Bash script. Bash là một công cụ mạnh mẽ có thể giúp bạn tự động hóa rất nhiều thứ trên Linux và học cách viết các tập lệnh Bash là một khoản đầu tư đáng giá

Làm cách nào để mã hóa mật khẩu trong lệnh Unix?

Quy trình .
Sử dụng lệnh sau để mã hóa mật khẩu. mật khẩu $NCHOME/omnibus/bin/nco_sql_crypt. Tiện ích xuất ra một phiên bản mật khẩu được mã hóa
Sao chép mật khẩu được mã hóa vào tập lệnh của bạn

Làm thế nào mật khẩu được mã hóa trong hệ điều hành Unix?

Mã hóa mật khẩu UNIX sử dụng thuật toán DES 25 lần liên tiếp . Vòng DES đầu tiên sử dụng 64 bit 0 làm đầu vào và mã hóa chúng bằng mật khẩu mà người dùng nhập vào, với một hoán vị diễn ra trong quá trình mã hóa. Có 4096 hoán vị có thể. Hoán vị được sử dụng được chọn ngẫu nhiên cho mỗi người dùng.

Làm cách nào để lưu trữ mật khẩu được mã hóa trong tệp Unix?

Trong tệp bí mật, hãy nhập mật khẩu của PC từ xa của bạn và lưu mật khẩu đó . Tiếp theo, mã hóa tệp bằng lệnh gpg. Bạn sẽ được nhắc nhập cụm mật khẩu mạnh và an toàn để mở tệp được mã hóa. GnuPG sẽ tạo một tệp mới với phần mở rộng.

Làm cách nào để giải mã mật khẩu được mã hóa trong Unix?

Nhập lệnh. /decrypt_string. sh . Đối với