Khắc phục nhanh để ngăn chặn các thay đổi mật khẩu trái phép dscl trong OS X Lion
Gần đây chúng tôi đã viết về tiện ích dscl và cách tiện ích này cho phép người dùng Mac OS X Lion thay đổi mật khẩu mà không cần biết mật khẩu hiện có. Kể từ đó, việc thiếu xác thực quản trị viên bắt buộc đã được báo cáo rộng rãi là một lỗi và một Bản cập nhật bảo mật nhỏ có thể sẽ được Apple phát hành trong tương lai gần. Tuy nhiên, nếu bạn lo lắng về việc ai đó chiếm được máy Mac của mình và thay đổi mật khẩu người dùng mà không được phép, thì bạn có thể thay đổi quyền của tiện ích dscl tự mình, buộc nó phải có đặc quyền quản trị để được chạy.
- Launch Terminal (đặt tại /Applications/Utilities/)
- Gõ lệnh sau và nhấn return:
- Bạn sẽ được hỏi mật khẩu quản trị hiện tại để xác nhận thay đổi quyền, hãy nhập mật khẩu đó và nhấn return
sudo chmod 100 /usr/bin/dscl
Đây là một bản sửa lỗi đơn giản về quyền có khả năng bắt chước những gì một bản cập nhật bảo mật chính thức sẽ thực hiện. Sử dụng sudo chmod 100 nói rằng chỉ chủ sở hữu (root) mới có thể thực thi lệnh dscl, điều này ngăn chặn hiệu quả những người dùng không phải quản trị viên khác truy cập vào tiện ích dịch vụ thư mục mà không sử dụng lệnh sudo và do đó, mật khẩu quản trị viên.
Có thể có một số hậu quả ngoài ý muốn khi thay đổi các quyền đó, nhưng điều đó không có khả năng ảnh hưởng đến hầu hết người dùng. Nếu gặp phải một số sự cố, bạn luôn có thể thay đổi lại các quyền, có vẻ như được đặt thành 755 theo mặc định.
Xin chân thành cảm ơn “Tjb” đã để lại mẹo này trong phần nhận xét!
Cập nhật: Jim T để lại đề xuất sau trong các nhận xét, đề xuất một lệnh chmod khác để thay đổi quyền:
Lý do của anh ấy là chmod 100 quá hạn chế ở chỗ nó thay đổi lệnh thành chỉ thực thi, trong đó như trước đây người dùng root có thể đọc, viết và thực thi.