Tôi không biết một cách đơn lẻ để làm điều này. Các chương trình GUI đang thực hiện một chút thẩm vấn của đĩa để thực hiện phương pháp "đúng" và bạn sẽ cần phải tự mình thực hiện một số công việc đó. Tuy nhiên, bạn không cần sudo và tôi nghĩ rằng chuỗi các sự kiện tương đối không gây đau đớn.
Câu trả lời ngắn
Sử dụng udisksctl
từ udisks2
gói:
udisksctl unlock -b /path/to/disk/partition
udisksctl mount -b /path/to/unlocked/device
Tài khoản người dùng của bạn sẽ cần phải được ủy quyền thích hợp để những điều trên hoạt động. Trên Debian và Ubuntu, điều đó có nghĩa là thêm tài khoản của bạn vào plugdev
nhóm.
Khi bạn thực hiện với đĩa:
udisksctl unmount -b /path/to/unlocked/device
udisksctl lock -b /path/to/disk/partition
udisksctl power-off -b /path/to/disk/or/partition
Cách thiết lập mọi thứ
Đây là cách bạn có thể thiết lập mọi thứ (thông qua dòng lệnh) để làm cho quá trình sử dụng đĩa không đau nhất có thể. Tôi sẽ giả sử bạn muốn sử dụng toàn bộ ổ USB dưới dạng một hệ thống tệp duy nhất. Các cấu hình khác sẽ yêu cầu sửa đổi các hướng dẫn. Hãy cẩn thận với các biến thể: Tôi chưa tìm thấy cách sử dụng LVM trong vùng chứa được mã hóa sẽ cho phép một tài khoản không có đặc quyền ngắt kết nối mọi thứ. (Tôi không thấy cách nào để hủy kích hoạt nhóm âm lượng qua udisksctl
.)
Đối với mục đích minh họa, chúng tôi sẽ nói rằng đĩa là /dev/sda
. Bạn sẽ cần một tên cho hệ thống tập tin để dễ dàng tham khảo sau này. Tôi sẽ sử dụng " example
".
Phân vùng đĩa
Chạy sudo parted /dev/sda
và chạy các lệnh sau:
mklabel gpt
mkpart example-part 1MiB -1s
quit
Các mkpart
lệnh có thể sẽ nhắc bạn điều chỉnh các thông số hơi. Bạn sẽ ổn khi chấp nhận số khuyến nghị của nó.
Các phân vùng sẽ có sẵn thông qua /dev/disk/by-partlabel/example-part
.
Tạo và gắn kết phân vùng LUKS
sudo cryptsetup luksFormat /dev/disk/by-partlabel/example-part
Đi qua các gợi ý.
sudo cryptsetup luksOpen /dev/disk/by-partlabel/example-part example-unlocked
Các thiết bị mã hóa hiện có sẵn tại /dev/mapper/example-unlocked
. Đây sẽ không phải là một điều vĩnh viễn; nó chỉ dành cho quá trình thiết lập.
Tạo hệ thống tập tin của bạn
Giả sử rằng hệ thống tập tin bạn đang sử dụng là XFS. Khá nhiều hệ thống tập tin truyền thống khác sẽ hoạt động theo cùng một cách. Điều quan trọng là thêm nhãn mà bạn có thể tham khảo sau:
sudo mkfs -t xfs -L example /dev/mapper/example-unlocked
Thiết bị khối của hệ thống tập tin có thể được truy cập thông qua /dev/disk/by-label/example
.
Đặt quyền hệ thống tập tin
Theo mặc định, hệ thống tập tin sẽ chỉ có thể truy cập bằng root. Trong hầu hết các trường hợp, bạn có thể muốn các tệp có thể truy cập được bằng tài khoản người dùng của mình. Giả sử tên tài khoản của bạn là " user
":
udisksctl mount -b /dev/disk/by-label/example
sudo chown user:user /media/user/example
Đóng mọi thứ xuống
udisksctl unmount -b /dev/disks/by-label/example
sudo cryptsetup luksClose example-unlocked
Sử dụng hệ thống tập tin của bạn
Đây là những gì bạn sẽ làm thường xuyên. Sau khi cắm vào ổ USB,
udisksctl unlock -b /dev/disks/by-partlabel/example-part
udisksctl mount -b /dev/disks/by-label/example
Nếu tài khoản người dùng của bạn là " user
", hệ thống tập tin sẽ được gắn vào /media/user/example
.
Để ngắt kết nối hệ thống tập tin:
udisksctl unmount -b /dev/disks/by-label/example
udisksctl lock -b /dev/disks/by-partlabel/example-part
udisksctl power-off -b /dev/disks/by-partlabel/example-part
Bây giờ bạn có thể ngắt kết nối ổ USB.
udisks
(hoặcudisks2
). Điều tra các tùy chọn từ tiện ích CLI của nó có thể cung cấp câu trả lời thêm.