Gắn khối lượng mã hóa từ dòng lệnh?


86

Nếu tôi có một đĩa bên ngoài được mã hóa (hoặc một đĩa bên trong không có trong fstab), tôi sẽ thấy một mục nhập cho nó trong Nautilus - với một mục như "Khối lượng mã hóa X GB". Tôi có thể nhấp vào tập này và được nhắc nhập mật khẩu để giải mã và gắn thiết bị.

Nhưng làm thế nào để tôi làm điều này từ dòng lệnh?

Trang wiki này và các tài liệu khác mà tôi có thể tìm thấy, chỉ đề cập đến các phương pháp giải mã GUI của thiết bị; nhưng điều này sẽ không xảy ra trong bối cảnh máy chủ không đầu hoặc đăng nhập SSH. Có cách nào đơn giản để khiến các thiết bị gắn kết vào các vị trí tự động /mediagiống như với GUI không?

(Tôi không hỏi về các thư mục nhà được mã hóa - Tôi biết ecryptfs-mount-private. Câu hỏi này là về khối lượng mã hóa bổ sung.)


+1 để vẽ sự khác biệt giữa mã hóa toàn bộ hệ thống tệp và toàn bộ thư mục nhà được mã hóa
XavierStuvw

Tiếp tục. Sự khác biệt đã trở thành chủ đề ngay bây giờ khi Ubuntu 18.04 đã hạ cấp sự hỗ trợ cho mã hóa thư mục duy nhất có lợi cho mã hóa toàn bộ đĩa, theo Askubfox.com/q/1030572/446253 Đối với một số người, bao gồm cả tôi, đây là một nguồn khó khăn trong việc di chuyển sang 18.04 liền mạch
XavierStuvw

Câu trả lời:


61

Các bước trong câu trả lời của @Georg Schölly không hoạt động với tôi vào thời điểm đó, mặc dù chúng có thể hoạt động ngay bây giờ, một vài bản Ubuntu được phát hành sau đó. Sau đó, sau sudo mount /dev/mapper/my_encrypted_volume /media/my_devicebước tôi gặp lỗi:

mount: loại hệ thống tập tin không xác định 'LVM2_member'

Mở khóa và gắn đĩa với udiskctl

Thay vào đó, tôi đã sử dụng udisksctl, giao diện dòng lệnh tương tác với udisksddịch vụ.

Đây là những gì đã làm việc ( /dev/sdb5là phân vùng trên đĩa cứng của tôi được đánh dấu là crypt-luks):

udisksctl unlock -b /dev/sdb5
udisksctl mount -b /dev/mapper/ubuntu--vg-root

Sau khi nhập lệnh đầu tiên, bạn sẽ được nhắc nhập cụm mật khẩu mã hóa. Khi phân vùng được mã hóa được mở khóa, lệnh thứ hai sẽ gắn kết nó. Nếu thành công, bạn sẽ kết thúc với một thông báo tương tự như sau:

Mounted /dev/dm-1 at /media/dpm/e8cf82c0-f0a3-41b3-ab28-1f9d23fcfa72

Từ đó tôi có thể truy cập dữ liệu :)

Khóa đĩa bằng udiskctl

Ngắt kết nối thiết bị:

udisksctl unmount -b /dev/mapper/ubuntu--vg-root

Trước tiên, bạn cần hủy kích hoạt tất cả các khối hợp lý trong ubuntu-vgnhóm âm lượng. Nếu không, bạn sẽ gặp lỗi dọc theo dòng 'Thiết bị bận' nếu bạn cố khóa nó ( thông tin thêm ):

sudo lvchange -an ubuntu-vg

Sau đó, bạn sẽ có thể khóa lại phân vùng được mã hóa

udisksctl lock -b /dev/sdb5

Ghi chú

  • Các udisksctllệnh được thực hiện mà không có sudo .
  • Tên trình ánh xạ thiết bị : việc ubuntu--vg-rootđặt tên có thể thay đổi trên các bản phát hành Ubuntu (ví dụ: tôi cũng đã thấy nó được gọi system-rootubuntu-rootcũng vậy). Một cách dễ dàng để tìm ra tên là chạy lệnh sau sau khi mở khóa phân vùng LUKS :

    ls -la /dev/mapper

    Sau đó, nhìn vào đầu ra của lslệnh, tên bạn sẽ cần thường là tên được liên kết đến/dev/dm-1

  • Tên trình ánh xạ thiết bị, thay thế : một thay thế cho lệnh trước đó là chạy:

    lsblk -e7

    Ở đó bạn sẽ có thể xem ánh xạ tên thiết bị dưới dạng xem cây. Các -e 7tùy chọn được sử dụng để loại trừ các thiết bị lặp (ID 7) tạo ra bởi snaps cài đặt từ đầu ra. Đơn giản là để bớt bừa bộn.

  • Tên khối lượng hợp lý : bạn có thể chạy sudo lvslệnh để tìm ra tên của các nhóm âm lượng và khối lượng logic
  • Ứng dụng Disks : ứng dụng Đĩa Gnome không tự động hủy kích hoạt khối lượng logic trước khi khóa phân vùng. Ngay cả khi bạn đã mở khóa thành công phân vùng qua GUI, bạn sẽ cần phải đi đến dòng lệnh và thực thi sudo lvchange -an ubuntu-vglệnh trước khi bạn có thể khóa nó khỏi GUI.

1
Tôi nghĩ rằng đây là câu trả lời tốt nhất, bởi vì tôi nghi ngờ đây ít nhiều là những gì nautilus sử dụng libudisks2. Ngoài ra, tôi đã thử nghiệm điều này để hoạt động tốt như một người dùng không có quyền.
Jaap Versteegh

9
Tôi không may nhận được Object /org/freedesktop/UDisks2/block_devices/dm_2d3 is not a mountable filesystem.lời khuyên nào?
wawa

1
@wawa Tôi đã có cùng một vấn đề và đã giải quyết nó trong câu trả lời này, hãy hỏi Ubuntu.com / a / 895508/334823
raphael

2
Tiến nhanh 5 năm, tôi thấy mình phải giải cứu một phân vùng được mã hóa một lần nữa. Tôi đã sử dụng một thanh USB sống Ubuntu 18.04 và làm theo các bước tương tự mà tôi đã mô tả trước đó. Như trước đây, chúng hoạt động tốt và tôi không cần sudophải thực thi chúng.
David Planella

1
@Selah, tôi đã mở rộng câu trả lời để giải thích rõ hơn về cách sử dụng đường dẫn thiết bị nào để gắn kết. Đối với mwfearnley: có thể đáng để xem xét các quyền của người dùng mà bạn đã đăng nhập.
David Planella

87

Âm lượng của bạn có thể được mã hóa bằng LUKS, đây là cách gắn kết nó:

Bạn cần:

sudo apt-get install cryptsetup

Để giải mã âm lượng:

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

Bây giờ bạn có thể gắn kết nó như bình thường:

sudo mkdir /media/my_device
sudo mount /dev/mapper/my_encrypted_volume /media/my_device

Để khóa container một lần nữa, nó cần được ngắt kết nối trước:

sudo umount /media/my_device
sudo cryptsetup luksClose my_encrypted_volume

Để tự động đặt nó vào /mediavị trí, sử dụng công cụ udisks

sudo udisks --mount /dev/mapper/my_encrypted_volume

Vì vậy, tôi cũng không thể làm điều đó với tư cách là người dùng không có đặc quyền, mặc dù tôi có thể thông qua GUI?
cha

Điều đó thực sự phụ thuộc vào thiết lập hệ thống của bạn. Tôi tin rằng hầu hết các lệnh sẽ hoạt động miễn là hệ thống của bạn cung cấp cho người dùng của bạn quyền truy cập vào thiết bị.
Georg Schölly

1
Ubuntu 15.04 vận chuyển udisks2gói thay thế udisksvà trước đây đổi tên công cụ udisksctl.
trượt tuyết

Thật không may, nó không hoạt động với tôi với Ubuntu 16.04. mount: loại hệ thống tập tin không xác định 'LVM2_member'
Selah

@Selah: Âm thanh giống như bạn đang cố giải mã thứ gì đó không phải là âm lượng LUKS. Có lẽ bạn cần phải sử dụng một cái gì đó khác hơn /dev/sda1.
Georg Schölly

22

Nếu bạn gặp lỗi này:

mount: unknown filesystem type 'LVM2_member'

chạy:

sudo apt-get install lvm2
sudo lvscan

sau đó kích hoạt tất cả LVM bạn thấy

sudo vgchange -ay

sau đó chạy lại mount:

sudo mount /dev/mapper/my_encrypted_volume /media/my_device

7
Dòng cuối cùng không nhất thiết đúng, vì bạn vẫn có thể gặp cùng một lỗi. Thay vào đó, hãy gắn một trong các ổ đĩa được liệt kê bằng lvscan thay vì/dev/mapper/my_encrypted_volume
Weasemunk

Điều này đã không làm việc cho tôi. Gắn kết lỗi tương tự: loại hệ thống tệp không xác định 'LVM2_member'. Có lẽ bởi vì tôi đang khởi động từ ổ đĩa flash?
Selah

@SeanScott cảm ơn bạn rất nhiều ... Tôi sử dụng trình cài đặt để mã hóa ổ đĩa của tôi bây giờ tôi đang cố gắng để phục hồi dữ liệu và phải vừa tìm hiểu những điều ... d'oh
CameronNemo

13

Một vấn đề tôi gặp phải là các nhóm âm lượng trùng lặp : Cả hệ thống khôi phục của tôi và ổ đĩa cần khôi phục đều là các hệ thống Ubuntu với LVM. Đây là lý do tại sao tôi có hai ubuntu-vgnhóm âm lượng ( vgdisplaysẽ hiển thị cả hai nhóm, mỗi nhóm có UUID riêng, nhưng tôi không thể lấy được khối lượng logic của chúng).

Giải pháp của tôi dựa trên câu trả lời của Georg:

  • Khởi động một linux trực tiếp (để bạn không chạy vào tên nhóm âm lượng trùng lặp)
  • sudo cryptsetup luksOpen /dev/sdaX my_encrypted_volume
  • nhập cụm mật khẩu của bạn khi được nhắc
  • sudo vgscan bây giờ nên lấy khối lượng / nhóm chứa.

  • DRAGONS AHEAD: CHÚNG TÔI ĐANG THAY ĐỔI TÊN NHÓM TẬP THỂ. BẠN S NOT KHÔNG CÓ KHẢ NĂNG THÚ VỊ SAU KHI LÁI XE SAU!

    sử dụng sudo vgrename ubuntu-vg ubuntu-vg2để đổi tên nhóm âm lượng.

    Nếu bạn cần khởi động ổ đĩa đó, bạn có thể thực hiện lại các bước này, nhưng đổi tên nhóm âm lượng của bạn trở lại ubfox-vg. Một khả năng khác là thay đổi cấu hình khởi động của bạn thành tên vg mới.

Bây giờ trùng lặp VG-tên được giải quyết, tôi có thể khởi động lại vào hệ thống thường xuyên của tôi, làm lại cryptsetup..., vgscanvà sau đó gắn kết /dev/mapper/ubuntu--vg2-rootbất cứ nơi nào bạn muốn.


2
Có vẻ như bạn cũng có thể làm sudo vgdispayđể tìm UUID và sử dụng tên đó thay vì tên trùng lặp để thực hiện việc đổi tên chỉ một tập. Đó là, lấy UUID và sau đó làm sudo vgrename <uuid> oldviệc cho tôi.
mpontillo

Tôi không thể kiểm tra đề xuất của Mike ngay bây giờ, nhưng nếu nó hoạt động, tốt hơn là đổi tên nhóm âm lượng!
amenthes

5

sdb1 ở đây là một ví dụ bạn nên nhập tên thiết bị của mình, không có lệnh nào trong số này sẽ yêu cầu quyền root

mở khóa đĩa mã hóa

udisksctl unlock -b /dev/sdb1

sau khi chèn cụm mật khẩu chính xác, nó sẽ xuất ra một cái gì đó như thế này: Unlocked / dev / sdb1 as / dev / dm-3

sau đó gắn kết nó vào / media /

udisksctl mount -b /dev/dm-3

nó sẽ xuất ra một cái gì đó như thế này: Mounted / dev / dm-3 at / media / yourUserName / sdb

để ngắt kết nối nó

udisksctl unmount -b /dev/dm-3

để khóa nó một lần nữa

udisksctl lock -b /dev/sdb1

2
mountctl mount -b / dev / dm-4 Object / org / freedesktop / UDisks2 / block_devices / dm_2d4 không phải là một hệ thống tập tin có thể gắn kết.
DevilCode

Xin lỗi bạn đã giải quyết vấn đề này? (với FS không thể gắn kết ... như tôi đang nhận được giống nhau)
Oleg Tarasenko

1
Cùng một vấn đề, hãy xem câu trả lời này cho một cái gì đó phù hợp với tôi, hỏi trên Ubuntu.com / a / 895508/334823
raphael

3

Tất cả các câu trả lời ở trên đều đưa ra giả định rằng người dùng đã biết phân vùng nào được mã hóa. Đến từ một người không thích dòng lệnh quá nhiều, tôi đã mong đợi một câu trả lời thân thiện với người dùng ... Vì vậy, 2 người của tôi ở đây.

  1. Mở ứng dụng "đĩa" của ubfox.
  2. Xác định vị trí đĩa cứng gắn trong bảng điều khiển bên trái.
  3. Nhấp vào phân vùng có "LUKS" trong tên của nó: bằng cách này bạn có thể thấy điểm gắn kết của nó trong văn bản "Thiết bị" bên dưới (trong trường hợp của tôi /dev/sdb4:).

Sau đó, tôi đã cố gắn nó như được khuyên ở trên:

$ sudo cryptsetup luksOpen /dev/sdb4 someNameForMyVolume
Enter passphrase for /dev/sdb4: 

Nhưng đã nhận được lỗi này:

Cannot use device /dev/sdb4 which is in use (already mapped or mounted).

Ok, vì vậy tôi đoán nautilus đã cố gắn nó (vì nó thực sự đã nhắc tôi nhập mật khẩu khi tôi kết nối USB, ngay cả khi nó không hiển thị cây được giải mã). Tuy nhiên, thông báo lỗi không thực sự hữu ích vì nó không cho tôi biết nơi nó đã được ánh xạ / gắn kết. Nhưng lệnh này giúp trong trường hợp này:

$ udisksctl unlock -b /dev/sdb4
Passphrase: 
Error unlocking /dev/sdb4: GDBus.Error:org.freedesktop.UDisks2.Error.Failed: Device /dev/sdb4 is already unlocked as /dev/dm-3

Aha! Vậy đó /dev/dm-3.

Tuy nhiên, khi cố gắn nó, nó không hoạt động:

$ udisksctl mount -b /dev/dm-3
Object /org/freedesktop/UDisks2/block_devices/dm_2d3 is not a mountable filesystem.

Sau nhiều lần mày mò, tôi phát hiện ra rằng tôi đang gặp phải duplicate volume groupsvấn đề (được mô tả ở trên bởi @amenthes) vì các lệnh sudo vgscan -vsudo vgdisplayđang hiển thị hai mục có cùng tên nhóm âm lượng. Tuy nhiên, tôi đã tìm thấy một cách tốt hơn để đối phó với nó so với phương pháp của anh ấy (không cần phải khởi động vào LiveCD để đổi tên tập đoàn!), Trong liên kết này , tôi sẽ trích dẫn ở trên (chỉ trong trường hợp liên kết đó bị hỏng ...) :

Nếu bạn chạy, ls -la /dev/mapper/bạn sẽ thấy một luks-xxxxxx-xxxxx-xxxxhoặc một số tập tin như vậy. Đó là ánh xạ được tạo khi Ubuntu nhắc mật khẩu mã hóa bằng một hộp thoại nhưng không mở được (tất cả các hộp thoại đã làm là gọi luksOpenvà ánh xạ nó tới tệp / dev / mapper / luks-xxx). Hiện nay:

  1. Hãy chắc chắn rằng khối lượng vật lý của bạn có sẵn bằng cách chạy sudo pvdisplaylệnh. Nó phải là / dev / mapper / luks-xxx-sao cũng được.
  2. Lấy uuid của âm lượng bằng cách chạy sudo pvs -o +vg_uuid. Uuid sẽ là giá trị được hiển thị ở bên phải, chứa 7 giá trị được phân cách bằng dấu gạch ngang. Sao chép chúng ở đâu đó vì chúng tôi sẽ sử dụng chúng trong bước tiếp theo. KHÔNG CONFUSE UUIDS VÀ SAO CHÉP XUỐNG MỘT SAU. Chỉ sao chép một cái cho thiết bị hiện tại / dev / mapper / luks-xxx-của bạn.
  3. Thay đổi nhóm âm lượng cho đĩa cũ của bạn bằng cách chạy lệnh sau sudo vgrename UUIDOFYOURDISKHERE oldhdBạn có thể thay đổi "oldhd" thành bất cứ thứ gì bạn muốn miễn là nó khác với tên nhóm âm lượng của đĩa hiện tại của bạn. Thực hiện bước này sẽ loại bỏ xung đột với tên nhóm âm lượng, điều này sẽ cho phép bạn tạo khối lượng khả dụng ngay bây giờ.
  4. Chạy lệnh vgchange -a yđể làm cho âm lượng hoạt động.
  5. Tạo một thư mục cho một điểm gắn kết ở đâu đó, ví dụ: sudo mkdir /media/<yourUserName>/someDir
  6. Gắn kết nó : sudo mount /dev/oldhd/root /mnt/oldhd.
  7. Sau khi làm việc với các tệp của bạn, bạn nên đổi tên nhóm của bạn trở lại ubuntu-vgnếu bạn muốn âm lượng vẫn có thể khởi động được.

2

Đối với những người trong chúng ta không muốn sử dụng công cụ GUI thậm chí để xác định phân vùng nào được mã hóa.

  • tìm bất kỳ phân vùng được mã hóa

    lsblk -lf | grep LUKS
    

    -lyêu cầu định dạng "danh sách" - chúng tôi không cần cây
    -fcho chúng tôi biết tên của hệ thống tệp,
    chúng tôi cũng nhận được một cái gì đó như

    sdc2 crypto_LUKS b09d6209-......

  • mở khóa phân vùng mà chúng tôi muốn (trong trường hợp của tôi /dev/sdc2)

    udisksctl unlock -b /dev/sdc2
    

    -bcó nghĩa là chúng tôi đang đưa đường dẫn đến một thiết bị khối
    sau khi nhập cụm mật khẩu, chúng tôi nhận được phản hồi khẳng định với thông tin cần thiết cho bước tiếp theo:

    Unlocked /dev/sdc2 as /dev/dm-6

  • gắn thiết bị mới được tạo (viết dmtắt của trình quản lý thiết bị )

    udisksctl mount -b /dev/dm-6
    

    Một lần nữa chúng tôi nhận được một phản hồi khẳng định với thông tin hữu ích:

    Mounted /dev/dm-6 at /media/g/Data.

    ( glà tên người dùng của tôi trên hệ thống này, Datalà nhãn tôi đã sử dụng cho phân vùng đó)

    Đây có thể là trường hợp trình quản lý tệp / hệ thống máy tính để bàn của bạn đã tự động gắn thiết bị hoặc bạn đã tự làm điều đó trước đây. Sau đó, bạn nhận được một cái gì đó như

    Error mounting /dev/dm-6: GDBus.Error:org.freedesktop.UDisks2.Error.AlreadyMounted: Device /dev/dm-6 is already mounted at '/media/g/Data'.

    Điều này không có vấn đề gì, bạn vẫn có thể truy cập dữ liệu từ phân vùng được mã hóa.

  • truy cập dữ liệu: ls /media/g/Data
  • ngắt kết nối thiết bị một lần nữa (sử dụng cùng tên bạn đã sử dụng để gắn, lệnh này unmount, không phải umount :-))

    udisksctl unmount -b /dev/dm-6
    

    Nếu thiết bị không bận, bạn sẽ nhận được

    Unmounted /dev/dm-6.

  • Bây giờ hãy khóa phân vùng lại (bạn phải nhớ tên của phân vùng)

    udisksctl lock -b /dev/sdc2
    

    Bạn sẽ nhận được

    Locked /dev/sdc2.

  • tùy chọn tắt nguồn đĩa bên ngoài hoàn chỉnh

    udisksctl power-off -b /dev/sdc
    

    Với một máy tính để bàn đồ họa, bạn có thể gặp lỗi ở đây:

    Error powering off drive: The drive in use: Device /dev/sdc3 is mounted (udisks-error-quark, 14)

    Trong trường hợp đó, bạn có thể sử dụng udisksctlđể ngắt kết nối từng phân vùng cho đến khi bạn thành công. Các udisksctl power-offkhông trả lại bất kỳ tin nhắn.


2

Tôi đã đi vào một số con đường từ các câu trả lời trước và chỉ kết hợp các câu trả lời trước đó làm việc cho tôi. Anh ấy những gì tôi đã làm và những gì đã ổn, và những gì đã sai và cách giải quyết của tôi.

Tôi có một đĩa cứng được mã hóa LUKS mà tôi cần gắn từ USB khởi động trực tiếp cho Ubuntu 15.10 . Để làm như vậy tôi bắt đầu với lệnh sau,

udisksctl unlock -b /dev/sda3

trong đó sda3 là phân vùng được mã hóa. Lệnh này không hoạt động với tôi và tôi không chắc tại sao, vì vậy tôi đã sử dụng lệnh sau:

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume

nó đã làm việc với tôi và tôi không cần phải cài đặt nó vì nó đã có trong khởi động trực tiếp.

Bây giờ, tôi cần phải gắn HD, và đây không phải là điều đơn giản: Tôi đã thử:

sudo mkdir /media/my_device
sudo mount /dev/mapper/my_encrypted_volume /media/my_device

Nhưng lệnh thứ hai không hoạt động với tôi, và do đó tôi phải tìm một công việc xung quanh như sau:

sudo udisksctl mount -b /dev/mapper/ubuntu--vg-root

Đó là đường dẫn của tôi .. nhưng bạn có thể sử dụng đường dẫn dev/mapper/ubuntuvà sau đó gấp đôi tab để xem phần còn lại của các tùy chọn. Điều này gắn ổ cứng như:

Mounted /dev/dm-1 at /media/root/03cf6b80-fa7c-411f-90b9-42a3398529ce

Sau đó, tôi đã sử dụng lệnh sau để gắn kết nó /media/my_devicenhư sau:

sudo mount /dev/dm-1 /media/my_device/

mà làm việc tốt

Tóm tắt

sudo cryptsetup luksOpen /dev/sda1 my_encrypted_volume
sudo mkdir /media/my_device
sudo udisksctl mount -b /dev/mapper/ubuntu--vg-root
sudo mount /dev/dm-1 /media/my_device/

1

Bạn có thể gắn kết nó theo hai bước và tôi có một ví dụ về kịch bản.

Lưu ý: dịch vụ udiskctl sẽ gắn kết mọi thứ bên dưới / phương tiện, nó được thiết kế nhiều hơn cho người dùng máy tính để bàn gắn thanh usb. Nếu bạn muốn gắn thiết bị ở một nơi khác, đó không phải là giải pháp bạn đang tìm kiếm.

Đây là những gì tôi đã làm việc ra. Trong ví dụ này, thiết bị được mã hóa của tôi là một phân vùng được tạo bằng lvm, nhưng điều này không thực sự quan trọng. Nó là một phân vùng định dạng ext4. Ở dạng mã hóa, nó sống ở

/dev/myvg/opt1 

một phần được mã hóa được "mở" (giải mã) như thế này

  STEP 1:  sudo cryptsetup luksOpen /dev/myvg/opt1 opt1_opened

(đây là nơi bạn nhập cụm mật khẩu)

đối số cuối cùng là một tham chiếu tạm thời đến thiết bị khối được giải mã. 'Ánh xạ' biến mất khi bạn khởi động lại để bạn có thể chọn một tên khác nhau mỗi lần, nếu bạn muốn.

bây giờ nó có thể nhìn thấy như một thiết bị:

ls /dev/mapper
control  myvg-opt1  myvg-root  opt1_opened

Bạn có thể gắn thiết bị này: chúng tôi hiện có thiết bị ext4. Để thuận tiện, hãy thêm một dòng trong / etc / fstab

/dev/mapper/opt1_opened /opt1   ext4    noauto,users    0       0

và tạo điểm gắn kết (trong trường hợp của tôi: sudo mkdir /opt1và sau đó thiết lập quyền theo ý muốn) Nếu bạn đã sử dụng tên opt1_opened trong Bước 1, thì đây là bước thứ hai để gắn kết nó:

STEP 2: mount /opt1   #the fstab line lets users mount, so no need for sudo

và nó được gắn kết.

Do đó, một tập lệnh bash:

#!/bin/bash
#needs to be run sudo
read -s -p "Enter LUKS password: " luks_password
printf $luks_password | cryptsetup luksOpen /dev/myvg/opt1 opt1_opened --key-file -
sudo -u tim mount /opt1

1

Câu trả lời đúng là gio mount -d /dev/dm-x(không có sudo).

Các câu trả lời trước đó cho thấy việc ngắt kết nối với cách gắn Nautilus hoặc Nemo, vì bạn cần nhập cụm mật khẩu LUKS mặc dù trước đó nó được lưu trong bộ khóa người dùng từ GUI. Sử dụng giotự động sử dụng cụm mật khẩu được lưu trữ trước đó bởi Nautilus hoặc Nemo.

Để có câu trả lời chi tiết hơn, hãy xem https://unix.stackexchange.com/questions/394320/what-command-does-nemo-use-to-mount-drive/536842#536842


0

Đã tìm kiếm cùng ...

Các mkdirbước là lý do của tôi để tìm kiếm thêm, tôi cũng đã sửa đổi policykitđể cho phép người dùng của mình gắn kết mà không yêu cầu mật khẩu gốc và sau đó cho mật khẩu âm lượng được mã hóa, do đó, nó sudocũng bị giết.

Giải pháp của tôi tôi tìm thấy là việc sử dụng gvfs-mounttừ gvfs-bingói. Bây giờ với một gvfs-mount -d /dev/sda7tôi chỉ hỏi mật khẩu được mã hóa và nó được gắn vào /media/VOLUME_LABEL.


Không gặp may mắn với điều này. Các bước tôi đã thực hiện: đầu tiên, cat /proc/partitionsđể xác định nhãn / dev cho ổ đĩa. Thứ hai gvfs-mount -d /dev/sdf1,. Điều này đưa ra lỗi "Không có âm lượng cho tệp thiết bị / dev / sdf1". Điều này có vẻ gần, mặc dù!
cha

Nó làm việc cho tôi. Kỳ lạ không phải thông qua /dev/disks/by-labelhoặc /by-uuid, mà chỉ bởi/dev/sdxx
Redsandro

Thông báo "Không có âm lượng cho tệp thiết bị / dev / sdf1" sẽ xuất hiện cho đến khi bạn xóa theo thiết bị từ / etc / fstab. Sau đó gvfs-mount hoạt động như thiết kế
dbzix

FYI: gvfs-mount -d /dev/sdaXhoạt động hoàn hảo với tôi trong Linux Mint 17.3 - Không yêu cầu mật khẩu như với GUI.
Jonathan Cross

0

Trên chromebook của tôi với (crouton) Ubuntu Xenial 16.04 tôi thấy rằng khi tôi phát hành:

sudo cryptsetup luksOpen / dev / sda1 my_encrypted_volume

theo bài đăng ở trên và nhập cụm mật khẩu của tôi, tôi nhận được "Không có khóa nào với cụm mật khẩu này." Tuy nhiên, tình cờ tôi đã tìm thấy (và rất kỳ lạ!) Toàn bộ hoạt động khi tôi thêm "--debug" vào lệnh cryptsetup! Sau đó tôi có thể gắn kết âm lượng và truy cập các tập tin.

Yêu cầu người quản lý tập tin Thunar thực hiện kết quả gắn kết "Không được phép thực hiện thao tác." lỗi. Tôi không thể tìm ra cách nào khác, nhưng vì tôi có thể thực hiện việc gắn kết tại dòng lệnh, điều đó có thể chấp nhận được.


0

Ok, vì vậy tôi có một giải pháp làm việc, như đã thảo luận trước đây lý do bạn gặp mount: unknown filesystem type 'LVM2_member'lỗi là vì theo mặc định, máy linux của bạn gán cùng tên VG cho ổ cứng ngoài, do đó tất cả các phân vùng trên ổ cứng ngoài đều không hoạt động.

Đây là những gì bạn cần làm:

  1. rút phích cắm ổ cứng ngoài của bạn và ghi chú VG UUID nội bộ của bạn bằng cách sử dụng ( sudo vgdisplay command),
  2. bây giờ hãy cắm ổ cứng ngoài của bạn và đổi tên nhóm VG của ổ cứng EXTERNAL của bạn (không phải bên trong, điều này sẽ phá vỡ hộp của bạn) ( vgrename UUID_Number [new-group]).
  3. Kiểm tra xem tên mới có được cập nhật trong VGdiplay không, bây giờ kích hoạt Vgroup ( vgchange [new_group] -a y) mới, kiểm tra tất cả các phân vùng được kích hoạt ( lvscan).
  4. Bây giờ bạn sẽ thấy tất cả các phân vùng của mình bên dưới ls /dev/mapper/[new_group], tất cả những gì bạn cần làm là gắn kết phân vùng ( mount -t ext4 /dev/mapper/[new_group]-data /zez)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.