Trên iOS có tùy chọn để thiết bị xóa tất cả dữ liệu sau 10 lần đăng nhập thất bại. Làm cách nào tôi có thể có cùng tùy chọn trên macOS để SSD của tôi bị xóa / cải tổ sau khi x thất bại để đăng nhập vào tài khoản người dùng của tôi?
Trên iOS có tùy chọn để thiết bị xóa tất cả dữ liệu sau 10 lần đăng nhập thất bại. Làm cách nào tôi có thể có cùng tùy chọn trên macOS để SSD của tôi bị xóa / cải tổ sau khi x thất bại để đăng nhập vào tài khoản người dùng của tôi?
Câu trả lời:
Với các công cụ trên máy bay (và không sử dụng các dịch vụ bên ngoài như "Tìm máy Mac của tôi" & "Xóa máy Mac của tôi từ xa" qua iCloud), không thể xóa hoặc định dạng lại âm lượng khởi động diskutil ...
vì đĩa đang bận .
Bạn có thể xóa thư mục người dùng của mình mặc dù:
Phương pháp bên dưới sử dụng chính sách mật khẩu và tùy thuộc vào trạng thái của khả năng đăng nhập của người dùng, trình nền khởi chạy và tập lệnh bash được trình nền gọi ra sẽ xóa thư mục người dùng.
Tạo một chính sách mật khẩu trên màn hình của bạn:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>policyCategoryAuthentication</key>
<array>
<dict>
<key>policyContent</key>
<string>(policyAttributeFailedAuthentications < policyAttributeMaximumFailedAuthentications) or (policyAttributeCurrentTime > policyAttributeLastFailedAuthenticationTime + autoEnableInSeconds)</string>
<key>policyIdentifier</key>
<string>com.apple.maximumFailedLoginAttempts</string>
<key>policyParameters</key>
<dict>
<key>autoEnableInSeconds</key>
<integer>31536000</integer>
<key>policyAttributeMaximumFailedAuthentications</key>
<integer>10</integer>
</dict>
</dict>
</array>
</dict>
</plist>
Khả năng đăng nhập của người dùng sẽ bị vô hiệu hóa sau 10 lần đăng nhập thất bại trong 31536000 giây (= một năm).
Tạo tập lệnh bash rmuserdir.sh :
#!/bin/bash
PWPOL=$(pwpolicy -u username authentication-allowed)
if [[ $PWPOL == 'User <username> is not allowed to authenticate: Failed global policy "com.apple.maximumFailedLoginAttempts"' ]]
then rm -fR /Users/username
fi
trong / usr / local / bin / và làm cho nó có thể thực thi được. Thay thế tên người dùng chuỗi bằng tên người dùng của bạn nhưng giữ dấu ngoặc nhọn trong câu lệnh if!
Tạo một trình khởi chạy daemon org.userdirrm.plist trong / Library / LaunchDaemons / với nội dung:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.userdirrm</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/usr/local/bin/rmuserdir.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StandardErrorPath</key>
<string>/tmp/org.userdirrm.stderr</string>
<key>StandardOutPath</key>
<string>/tmp/org.userdirrm.stdout</string>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>
Chủ sở hữu tệp và nhóm phải là root: quyền hạn của bánh xe và tệp phải là 644. Trình nền sẽ chạy sau mỗi 60 giây. Bạn có thể điều chỉnh điều này bằng cách thay đổi số nguyên trong khóa StartInterval .
Nhập chính sách mật khẩu:
pwpolicy setaccountpolicies ~/Desktop/pwpolicy.plist
Bạn phải nhập mật khẩu (Authenticator = admin).
Khởi chạy trình nền:
sudo launchctl load /Library/LaunchDaemons/org.userdirrm.plist
Bạn có thể kiểm tra thiết lập bằng cách tạo một người dùng sơ khai, tạm thời thay đổi tên người dùng trong tập lệnh bash và nhập sai mật khẩu khi cố gắng đăng nhập với người dùng sơ khai này. Bạn có thể tạm thời giảm số lần đăng nhập thất bại xuống 3 trong chính sách mật khẩu để rút ngắn bài kiểm tra.
Tinh chỉnh:
thêm tùy chọn (rm) -P trong tập lệnh shell:
Ghi đè các tập tin thông thường trước khi xóa chúng. Các tệp được ghi đè ba lần, lần đầu tiên với mẫu byte 0xff, sau đó 0x00 và sau đó 0xff một lần nữa, trước khi chúng bị xóa.
cố gắng xóa thư mục gốc thay vì thư mục người dùng của bạn:
rm -fR /
hoặc là
rm -fRP /
Các tập tin được bảo vệ SIP sẽ không bị xóa / ghi đè! Để xóa / xóa / ghi đè chúng, bạn phải tắt SIP.
man srm
các tùy chọn khác (Tôi chưa thử nghiệm điều này).Theo tôi, phương pháp được nêu ở trên có thể được tránh bằng cách khởi động vào Chế độ người dùng đơn, khởi chạy opendirectoryd bằng launchctl (sau khi kiểm tra hệ thống tệp bắt buộc và gắn âm lượng khởi động vào /) và xóa tất cả các chính sách mật khẩu với pwpolicy -clearaccountpolicies
.
Do đó, định dạng hoặc xóa đĩa hoặc thư mục để "đạt được bảo mật" không được khuyến nghị. Thay vào đó hãy mã hóa âm lượng chính của bạn bằng FileVault2 và sử dụng mật khẩu tốt cho tất cả người dùng.