Sau khi hiểu vấn đề với việc sử dụng mật khẩu trong dòng lệnh , tôi cần tìm cách cung cấp chương trình bằng mật khẩu mà không gặp sự cố (không có mật khẩu được ghi ở đâu đó).
Tôi có một tập lệnh bash tự động cài đặt toàn bộ máy chủ LAMP từ nguồn: Apache, FastCGI, PHP & MySQL. Những cài đặt này yêu cầu mật khẩu, đặc biệt là MySQL.
Làm cách nào để tạo tập lệnh hoàn toàn tự động mà không tiết lộ mật khẩu?
Chỉnh sửa (9 tháng 6, 3:55 UTC):
Tôi đang gọi mysql bằng mật khẩu trên dòng lệnh, thông qua root:
root@dor-desktop:/home/dor# PASS=`cat /home/dor/tmpf/pass`
root@dor-desktop:/home/dor# mysql -u root -p"$PASS"
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
(PASS = "p4ssw0rd" trong trường hợp của chúng tôi)
Và tôi thực thi ps aux | grep mysql
thông qua người dùng thông thường của mình (dor), không hiển thị cho tôi mật khẩu !
(Một số) ps
đầu ra là:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 3562 0.0 0.0 34156 2864 pts/0 S+ 05:53 0:00 mysql -u root -px xxxxxx
Làm thế nào mà có thể?