Bộ tải khởi động Grub của Ubuntu cho phép bất kỳ ai chỉnh sửa các mục khởi động hoặc sử dụng chế độ dòng lệnh của nó theo mặc định. Bảo mật Grub bằng mật khẩu và không ai có thể chỉnh sửa chúng - bạn thậm chí có thể yêu cầu mật khẩu trước khi khởi động hệ điều hành.
Các tùy chọn cấu hình của Grub 2 được chia thành nhiều tệp thay vì tệp menu.lst duy nhất mà Grub 1 đã sử dụng, vì vậy việc đặt mật khẩu trở nên phức tạp hơn. Các bước này áp dụng cho Grub 1.99, được sử dụng trong Ubuntu 11.10. Quá trình này có thể khác trong các phiên bản sau.
Tạo mật khẩu băm
Đầu tiên, chúng tôi sẽ kích hoạt một thiết bị đầu cuối từ menu ứng dụng Ubuntu.
Bây giờ chúng tôi sẽ tạo mật khẩu xáo trộn cho các tệp cấu hình của Grub. Chỉ loại grub-mkpasswd-pbkdf2 và nhấn Enter. Nó sẽ nhắc bạn nhập mật khẩu và cung cấp cho bạn một chuỗi dài. Chọn chuỗi bằng chuột của bạn, nhấp chuột phải vào nó và chọn Sao chép để sao chép nó vào khay nhớ tạm của bạn để sử dụng sau.
Về mặt kỹ thuật, bước này là tùy chọn - chúng tôi có thể nhập mật khẩu của mình ở dạng văn bản thuần túy trong các tệp cấu hình của Grub, nhưng lệnh này sẽ làm xáo trộn nó và cung cấp bảo mật bổ sung.
Đặt mật khẩu
Kiểu sudo nano /etc/grub.d/40_custom để mở tệp 40_custom trong trình soạn thảo văn bản Nano. Đây là nơi bạn nên đặt các cài đặt tùy chỉnh của riêng mình. Chúng có thể bị ghi đè bởi các phiên bản Grub mới hơn nếu bạn thêm chúng ở nơi khác.
Cuộn xuống cuối tệp và thêm mục nhập mật khẩu ở định dạng sau:
đặt superusers = ”name”
password_pbkdf2 name [long string from earlier]
Ở đây, chúng tôi đã thêm một siêu người dùng có tên “bob” với mật khẩu của chúng tôi từ trước đó. Chúng tôi cũng đã thêm một người dùng tên jim có mật khẩu không an toàn ở dạng văn bản thuần túy.
Lưu ý rằng Bob là một siêu người dùng trong khi Jim thì không. Có gì khác biệt? Người quản lý cấp cao có thể chỉnh sửa các mục khởi động và truy cập dòng lệnh Grub, trong khi người dùng bình thường không thể. Bạn có thể gán các mục khởi động cụ thể cho người dùng bình thường để cấp cho họ quyền truy cập.
Lưu tệp bằng cách nhấn Ctrl-O và Enter, sau đó nhấn Ctrl-X để thoát. Các thay đổi của bạn sẽ không có hiệu lực cho đến khi bạn chạy sudo update-grub chỉ huy; xem phần Kích hoạt Thay đổi của bạn để biết thêm chi tiết.
Bảo vệ mật khẩu các mục khởi động
Tạo một siêu người dùng giúp chúng ta thực hiện được hầu hết các bước. Với một siêu người dùng được định cấu hình, Grub tự động ngăn mọi người chỉnh sửa các mục khởi động hoặc truy cập vào dòng lệnh Grub mà không có mật khẩu.
Bạn muốn đặt mật khẩu bảo vệ một mục khởi động cụ thể để không ai có thể khởi động nó mà không cần cung cấp mật khẩu? Chúng tôi cũng có thể làm điều đó, mặc dù nó phức tạp hơn một chút vào lúc này.
Trước tiên, chúng tôi cần xác định tệp có chứa mục khởi động mà bạn muốn sửa đổi. Kiểu sudo nano /etc/grub.d/ và nhấn Tab để xem danh sách các tệp có sẵn.
Giả sử chúng tôi muốn bảo vệ hệ thống Linux của mình bằng mật khẩu. Các mục khởi động Linux được tạo bởi tệp 10_linux, vì vậy chúng tôi sẽ sử dụng sudo nano /etc/grub.d/10_linux lệnh để mở nó. Hãy cẩn thận khi chỉnh sửa tệp này! Nếu bạn quên mật khẩu của mình hoặc nhập mật khẩu không chính xác, bạn sẽ không thể khởi động vào Linux trừ khi bạn khởi động từ đĩa CD trực tiếp và sửa đổi thiết lập Grub của mình trước.
Đây là một tệp dài với nhiều nội dung đang diễn ra, vì vậy chúng tôi sẽ nhấn Ctrl-W để tìm kiếm dòng chúng tôi muốn. Kiểu thực đơn tại dấu nhắc tìm kiếm và nhấn Enter. Bạn sẽ thấy một dòng bắt đầu bằng printf.
Chỉ cần thay đổi
printf "menuentry" $ {title} "
bit ở đầu dòng để:
printf “menuentry –tên người dùng‘ $ {title} ”
Tại đây, chúng tôi đã cấp cho Jim quyền truy cập vào các mục khởi động Linux của chúng tôi. Bob cũng có quyền truy cập, vì anh ấy là một siêu người dùng. Nếu chúng tôi chỉ định “bob” thay vì “jim”, Jim sẽ không có bất kỳ quyền truy cập nào.
Nhấn Ctrl-O và Enter, sau đó nhấn Ctrl-X để lưu và đóng tệp sau khi sửa đổi.
Việc này sẽ trở nên dễ dàng hơn theo thời gian vì các nhà phát triển của Grub thêm nhiều tùy chọn hơn vào lệnh grub-mkconfig.
Kích hoạt các thay đổi của bạn
Các thay đổi của bạn sẽ không có hiệu lực cho đến khi bạn chạy sudo update-grub chỉ huy. Lệnh này tạo một tệp cấu hình Grub mới.
Nếu bạn đã bảo vệ mục nhập khởi động mặc định bằng mật khẩu, bạn sẽ thấy lời nhắc đăng nhập khi khởi động máy tính của mình.
Nếu Grub được đặt để hiển thị menu khởi động, bạn sẽ không thể chỉnh sửa mục khởi động hoặc sử dụng chế độ dòng lệnh mà không nhập mật khẩu của siêu người dùng.