Thư mục nhà được mã hóa vẫn có thể truy cập sau khi đăng xuất


12

Tôi có một tài khoản với một thư mục nhà được mã hóa, bạn không thể truy cập dữ liệu văn bản đơn giản của người dùng trong thư mục nhà của họ nếu người dùng đó chưa đăng nhập, vì hệ thống đã khởi động lần cuối. Đây là những gì tôi mong đợi vì trên thực tế nó không khả thi để truy cập vào thư mục nhà của người dùng mà không cần nhập mật khẩu của họ.

Tuy nhiên, tôi thấy rằng khi người dùng có thư mục nhà được mã hóa đăng nhập và sau đó đăng xuất, dữ liệu văn bản đơn giản trong thư mục nhà của họ vẫn có thể truy cập được đối với người dùng khác. Tất cả các đặc quyền truy cập được yêu cầu, tất nhiên.

wkhông liệt kê người dùng và đầu ra sudo pgrep -u <username>trống, cho biết rằng người dùng không có bất kỳ quy trình đang chạy nào.

Lý do cho hành vi này là gì? Tại sao không khóa thư mục nhà của người dùng sau khi họ đăng xuất?


Bạn có thể vui lòng bao gồm đầu ra grep -Fe ecryptfs /var/log/auth.logtừ khoảng thời gian người dùng đăng xuất không?
David Foerster

Lệnh mang lại kết quả đầu ra này: pastebin.com/jZXdahbJ Theo Emacs, các dòng duy nhất chứa chuỗi "ecryptfs" là các dòng được tạo ra khi tôi chạy lệnh đó.
UTF-8

Kết quả đúng như mong đợi chỉ là những dòng mà Emacs đã chỉ cho tôi: pastebin.com/VtV7iCDg
UTF-8

Đồng ý. Đó là giá trị một cái nhìn.
David Foerster

Tôi cũng đã nhận thấy lỗi này trong các hệ thống trực tiếp liên tục (trong nỗ lực tạo người dùng thứ hai với nhà được mã hóa).
sudodus

Câu trả lời:


5

Lỗi đã biết

Nếu tôi hiểu chính xác, đây là một lỗi đã biết.

Xem liên kết này: wiki.archlinux.org/index.php/ECryptfs

Cuộn xuống đoạn màu hồng

Cảnh báo: Thật không may, tính năng ngắt kết nối tự động dễ bị hỏng với systemd và các lỗi được gửi chống lại nó ...

Làm việc xung quanh

Như bây giờ, bạn nên tắt hoặc khởi động lại tốt hơn để xóa dấu vết (Nó không đủ để đăng xuất).


Ý bạn là gì khi "đăng xuất sẽ rò rỉ thông tin giữa những người dùng"? Bạn có nghĩa là bất cứ điều gì xảy ra, ngoài việc một người dùng khác có đủ đặc quyền có thể truy cập dữ liệu văn bản đơn giản trong thư mục nhà của người dùng đầu tiên? (Điều này là có thể trước khi đăng xuất, tất nhiên.)
UTF-8

1
Cố gắng giải thích rõ hơn: 'Không đủ để đăng xuất'. (Đăng xuất không xóa các phiên bản văn bản rõ ràng của các tệp đã được người dùng sử dụng với nhà được mã hóa. Vì vậy, thông tin có thể bị rò rỉ từ người dùng này sang người dùng khác, người đăng nhập, ít nhất là nếu người dùng khác này có quyền sudo. Nhưng nếu bạn tắt hoặc khởi động lại, các phiên bản văn bản rõ ràng của các tệp sẽ biến mất.
Sudodus

3

Tôi không thể kiểm tra hoặc xác nhận điều này, nhưng giả sử rằng bạn đang sử dụng ecryptfs(đó là những gì Ubuntu cung cấp trong quá trình cài đặt, IIRC), dữ liệu được mã hóa được lưu trữ trong một thư mục ẩn /home/.encryptfs/$USERvà được gắn vào vị trí thư mục nhà thực tế của bạn bằng ecryptfstrình điều khiển khi bạn đăng nhập trong.

Rất có thể, sau đó, điều đang xảy ra là khi bạn đăng xuất, nó không thể tự động ngắt kết nối thư mục đó, vì vậy các tệp vẫn có thể truy cập được. Điều này có thể được gây ra bởi ...

  • một cấu hình xấu (có lẽ nó được cho là được cấu hình để ngắt kết nối khi đăng xuất nhưng không được)
  • loại đăng xuất không mong muốn (đôi khi các giải pháp này hoạt động cho đăng nhập / đăng xuất DM nhưng không hoạt động tốt)
  • nếu việc ngắt kết nối được xử lý bởi một kịch bản đăng xuất (không nhất thiết là trường hợp này), một cái gì đó trước lệnh unmount có thể thất bại và khiến tập lệnh thoát ra sớm.

Một điều có thể giúp bạn kiểm tra điều này sẽ là chạy sudo mount | grep hometrước khi đăng nhập, sau khi đăng nhập và sau khi đăng xuất để xem liệu có bất cứ điều gì liên quan homeđang được gắn kết không. Bạn cũng có thể tìm kiếm /etc/fstabcác mục có liên quan. Cuối cùng, có một số cấu hình /home/.ecryptfs/$USER/.ecryptfs/với các cài đặt thích hợp để tự động đếm / ngắt kết nối.

Thông tin hữu ích về ecryptfscó thể được tìm thấy trong câu trả lời này và trong ArchWiki hữu ích .


Tôi đã thử những gì bạn nói với tôi: pastebin.com/DrmEXQPV Tôi không đăng xuất theo bất kỳ cách kỳ lạ nào nhưng theo cách GUI chuẩn. FS vẫn được gắn kết, như bạn có thể thấy. Các tập tin cấu hình bạn đề cập là trống rỗng. Không có gì trong /etc/fstab1 mục nhập của tôi nói rằng phân vùng dữ liệu duy nhất của tôi nên được gắn vào /và 1 mục nhập về một số tài nguyên mạng liên quan đến trường đại học. Tôi có nên thử đăng xuất theo bất kỳ cách nào khác không? Nếu vậy: Làm thế nào?
UTF-8

Việc đăng xuất theo một cách khác nhận xét là một chút dự đoán - các nhà quản lý máy tính để bàn thêm rất nhiều vào đầu đăng nhập và đăng xuất làm phức tạp khái niệm và làm cho khó biết được sự kiện nào được kích hoạt. Tôi đã tự hỏi bởi vì có thể đã có một số kịch bản hoặc sự kiện không được chạy. Dựa trên các câu trả lời khác, đó không phải là vấn đề, mà là một cái gì đó để làm với ecryptfschính nó. Tuy nhiên, trên lưu ý đó, bạn có sử dụng sshhoặc đăng nhập qua các thiết bị đầu cuối văn bản không? Có thể viết một kịch bản sẽ đảm nhiệm việc ngắt kết nối khi đăng xuất nếu chúng ta tìm thấy nơi để đặt nó.
krs013

3

Chỉnh sửa /etc/systemd/logind.confvà thiết lậpKillUserProcesses=yes

Lưu ý rằng điều này phá vỡ các chương trình nền, screen, tmux, và tương tự ...

Câu hỏi này ở đây đi vào nó chi tiết hơn. Tôi thấy việc xác định một dịch vụ systemd mới là không cần thiết (hoặc chính xác hơn, không phải là hành vi mong muốn, vì nó được gọi là hook hook, không phải khi phiên người dùng kết thúc).

https://unix.stackexchange.com/questions/251902/ecryptfs-auto-umount-does-not-work


Tôi sẽ kiểm tra xem phương thức của bạn có hoạt động cho một hệ thống trực tiếp liên tục với người dùng thứ hai, có nhà được mã hóa hay không.
sudodus

Xin lỗi, nhưng tôi không thể làm cho phương thức này hoạt động trong một hệ thống trực tiếp liên tục với người dùng thứ hai, đã được mã hóa tại nhà. (Tôi đã không kiểm tra giải pháp của bạn trong một hệ thống được cài đặt, tôi sẽ rời khỏi đó để @ UTF-8 người hỏi những câu hỏi ban đầu.)
sudodus

Tôi không quan tâm đến việc sửa lỗi này trên máy tính của riêng tôi. Tôi là người duy nhất sử dụng nó dù sao nhưng muốn sử dụng 2 tài khoản với các thư mục nhà được mã hóa và không ai khác biết mật khẩu của một trong hai tài khoản. Tôi quan tâm đến lý do tại sao nó không unmount khối lượng được mã hóa tự động theo mặc định . Không thể kiểm tra các quá trình nền đang hoạt động đang chạy trong ngữ cảnh của người dùng và ngắt kết nối nếu không có?
UTF-8

@ UTF-8, tôi đồng ý với bạn, rằng nó sẽ hoạt động như bạn muốn nó hoạt động. Nếu tôi hiểu chính xác, đây là một lỗi đã biết. Xem liên kết này, wiki.archlinux.org/index.php/ECryptfs . Cuộn xuống đoạn màu hồng 'Cảnh báo: Thật không may, tính năng ngắt kết nối tự động dễ bị hỏng với systemd và các lỗi đã được gửi'. - Như bây giờ, bạn nên tắt hoặc khởi động lại tốt hơn để xóa dấu vết (đăng xuất sẽ rò rỉ thông tin giữa những người dùng.)
sododus

@ UTF-8 đó là một lỗi trong tương tác systemd / session vì ít nhất là khò khè (Tôi hoàn toàn thoải mái khi treo nó trên systemd) - thay đổi /etc/systemd/logind.conf hoạt động với tôi vào ngày 16.04 (đã thử nghiệm với ba người dùng khác nhau , các phiên khác nhau, v.v ...)
quadruplebucky

2

Tôi đã nghiên cứu vấn đề này khá lâu, tức là hệ thống tệp không được mã hóa vẫn được gắn kết sau khi người dùng đăng xuất.

Tôi đã sử dụng "ecryptfs-Migrate-home -u user" để tạo mount. theo chỉ dẫn và tất cả các công việc ngoại trừ không tự động ngắt kết nối khi đăng xuất.

Tôi đã so sánh các tệp cấu hình trong /etc/pam.d/ với tài liệu pam_ecryptfs và tìm thấy một số khác biệt. ecryptfs nằm trong 4 tệp cấu hình pam.d trong khi tài liệu pam_ecryptfs chỉ ra 2 tệp cần / nên / hỗ trợ ecryptfs, ví dụ:

   /etc/pam.d/common-auth:
              auth    required        pam_ecryptfs.so unwrap
   /etc/pam.d/common-session:
              session optional        pam_ecryptfs.so unwrap

Vì vậy, tôi đã nhận xét 2 trường hợp khác, khởi động lại và tất cả đều hoạt động, tự động gắn kết khi đăng nhập và tự động ngắt kết nối khi đăng xuất cho cả đăng nhập đồ họa và bảng điều khiển. (Tôi đã sử dụng tty's thay thế để xác minh từ tài khoản root)

Đây là vào ngày 18.04 Lubfox trên máy tính xách tay, máy tính để bàn và hộp ảo (máy chủ windows).

Tôi quan tâm đến kinh nghiệm người khác.

chỉnh sửa_1: cải thiện từ ngữ. chỉnh sửa_2: thêm kết quả kiểm tra máy tính để bàn và VB.


Việc vô hiệu hóa / bình luận ra bất kỳ dòng nào trong số đó có gây ra vấn đề gì không? Việc thay đổi mật khẩu của bạn có còn bọc lại keyfile eCryptfs không?
Xen2050

Điều này làm việc với tôi trên Linux Mint 19. Để thêm một số chi tiết cho những người khác: bốn tệp cấu hình trong /etc/pam.d đề cập đến ecryptfs là: common-auth, common-password, common-session, common-session- không tương tác. Nhận xét các dòng trong mật khẩu chung và phiên chung-không tương tác dẫn đến hành vi mong muốn của việc ngắt kết nối khi đăng xuất. Ngoài ra, mục nhập chung-auth được đặt thành "tùy chọn" thay vì "bắt buộc" vì nó được cho là theo tài liệu. Tuy nhiên, tôi đã để nó như vậy.
phát hành

@ Xen2050, xin lỗi vì phản hồi muộn. Tôi đã không phát hiện bất kỳ vấn đề nào sau khi thay đổi nhận xét các dòng và tôi chưa thử thay đổi mật khẩu.
lại

Mật khẩu thay đổi có thể rất quan trọng để kiểm tra, nó sẽ tự động bọc lại khóa mã hóa với mật khẩu mới của bạn, để đăng nhập vào lần tiếp theo hoạt động. Nếu nó không hoạt động, thì chỉ cần thay đổi mật khẩu trở lại mật khẩu trước đó sẽ hoạt động ... [luôn luôn tốt để có một bản sao lưu]
Xen2050

1
@ Xen2050, tôi đã làm bài kiểm tra thay đổi mật khẩu. nó đã làm việc.
lại

2

Tôi làm điều đó với một kịch bản trong rclocal

#!/bin/sh
#

while true; do
    if [ ! -d /run/user/1000 ]; then
        if [ -f /home/momo/.mounted ]; then
            umount /home/harry
        fi      
    fi

    if [ ! -d /run/user/1001 ]; then
        if [ -f /home/vm/.mounted ]; then
            umount /home/maud
        fi
    fi

    sleep 10
done
exit 0
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.