Tôi đang thấy mục này trong đầu ra logwatch hàng ngày của tôi, phần sudo:
/bin/grep -E ^pi: /etc/shadow
Tôi có nên quan tâm không? Tôi chắc chắn đã không chạy lệnh này cho mình.
Tôi đang thấy mục này trong đầu ra logwatch hàng ngày của tôi, phần sudo:
/bin/grep -E ^pi: /etc/shadow
Tôi có nên quan tâm không? Tôi chắc chắn đã không chạy lệnh này cho mình.
Câu trả lời:
Đây là dấu vết của một tập lệnh mặc định (được giới thiệu trong bản phát hành Raspbian tháng 11 năm 2016) để kiểm tra xem bạn có thay đổi mật khẩu cho người dùng hay không pi
.
Tập lệnh được lưu trữ /etc/profile.d/sshpasswd.sh
và hiển thị cảnh báo nếu SSH deamon được bật, nhưng mật khẩu cho pi
người dùng không bị thay đổi so với mặc định ( raspberry
). Nó được gọi trên mỗi lần đăng nhập.
Kịch bản ở dạng ban đầu:
check_hash ()
{
local SHADOW="$(sudo -n grep -E '^pi:' /etc/shadow 2>/dev/null)"
test -n "${SHADOW}" || return 0
local SALT=$(echo "${SHADOW}" | sed -n 's/pi:\$6\$//;s/\$.*//p')
local HASH=$(mkpasswd -msha-512 raspberry "$SALT")
if systemctl is-active ssh -q && echo "${SHADOW}" | grep -q "${HASH}"; then
echo
echo "SSH is enabled and the default password for the 'pi' user has not been changed."
echo "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password."
echo
fi
}
check_hash
unset check_hash
Trong Raspbian Stretch, tập lệnh đã được thay đổi thành một lần kiểm tra sự tồn tại của /run/sshwarn
tệp (mặt khác, được tạo / xóa khi khởi động). Nó không kiểm tra /etc/shadow
mỗi lần đăng nhập, nhưng mặt khác, nếu ai đó sử dụng một công cụ tự động để thay đổi mật khẩu, họ cũng cần xóa tệp một cách rõ ràng hoặc khởi động lại máy:
export TEXTDOMAIN=Linux-PAM
. gettext.sh
if [ -e /run/sshwarn ] ; then
echo
echo $(/usr/bin/gettext "SSH is enabled and the default password for the 'pi' user has not been changed.")
echo $(/usr/bin/gettext "This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.")
echo
fi
Tôi có nên quan tâm không?
Điều đó phụ thuộc vào những gì bạn có nghĩa là "quan tâm". Nếu bạn có ý nghĩa, có động lực để thực hiện một số loại kiểm toán kỹ lưỡng hơn để xác định quá trình nào chịu trách nhiệm cho việc này, thì chắc chắn, tại sao không. Tuy nhiên, nếu bạn không có phương tiện sẵn sàng để làm điều đó, thì tôi đoán nó phụ thuộc vào việc bạn có động lực tìm và sử dụng nó như thế nào (có thể thêm vào "Đây là những gì tôi đã làm vào thứ bảy / cuối tuần / đầu tiên tuần của tháng 12 ... "); Tôi sẽ không bận tâm trừ khi đó là điều bạn quan tâm vì những lý do rộng lớn hơn.
Một vài điểm cần xem xét:
man 5 shadow
và lưu ý rằng quyền truy cập vào "mật khẩu được mã hóa" không phải là quyền truy cập vào mật khẩu; mật khẩu không thực sự được lưu trữ ở bất cứ đâu, chỉ là hàm băm một chiều , không hữu ích ngoại trừ để xác minh).Tôi đoán là từ một số kịch bản cụ thể vô tội nhưng pi. Raspbian là không bình thường trong siêu cường không giới hạn nó cung cấp một người sử dụng thường xuyên, 1 nên phương pháp này (grepping /etc/shadow
qua sudo
) sẽ là vô nghĩa trên hầu hết các hệ thống GNU / Linux. Nếu quy trình chịu trách nhiệm cần phải làm điều này, thì thông thường nó sẽ được chạy như một quy trình với UID không cần sử dụng sudo
, do đó rất có thể nó được viết bởi một người biết Raspbian được kết hợp như thế nào (chẳng hạn như ai đó chịu trách nhiệm cho một phần nào đó của phần mềm cụ thể Raspbian).
Không khó để tưởng tượng "không vô tội" ở đây nữa, nhưng bạn cũng có thể suy đoán về điều đó mà không có điều này, tức là không có bằng chứng nào cả. Nếu ai đó ra ngoài để gây ra nghịch ngợm, không có gì về việc đọc /etc/shadow
chỉ ra điều đó theo định nghĩa. Có thể lập luận rằng không có nhiều mục đích trong việc hạn chế quyền truy cập đọc vào tệp đó.
1. Kinh khủng, sai lầm, vô lý. Một trong những điều đầu tiên tôi làm với bản cài đặt Raspbian (đôi khi, trước cả khi tôi khởi động nó lần đầu tiên) là loại bỏ pi
hoàn toàn người dùng và loại bỏ hầu hết cơn ác mộng /etc/sudoers
.
pi
người dùng và sau đó cung cấp cho họ nhiều năng lượng như root
- nó an toàn hơn nhiều (và đối với người dùng PC * nix đơn giản hơn nhiều) để tạo một tài khoản người dùng có cùng tên người dùng mà họ sử dụng (Các) hệ thống PC ... và ghi chú của bạn nhắc tôi kiểm tra xem Foundation đã làm gì với sudo
cấu hình!