암호화 된 파티션에서 찾기 사용


25

Ubuntu를 설치할 때 암호화되도록 / home /을 선택했습니다. 이제 locate이와 같은 암호화 된 파티션으로 작업 할 수 있습니까?


같은 문제가 있습니다-찾기는 암호화 된 홈 파티션 외부에서 파일을 찾을 수 있지만 그 내부에서 볼 수는 없습니다. (솔직히 말해서, 우분투를 처음 설치할 때 암호화하지 않았 으면 좋겠습니다. 누가 할 수있는 일을 분명한 단계로 설명 할 수 있습니까? locate가 암호화 된 홈 파티션에서 데이터를 색인 할 수있게하십시오. 나는 상대적 초보자이므로 위의 내용을 읽으면 어떻게 해야할지 분명하지 않습니다.)

4
귀하 /home는 가상 파일 시스템 (ecryptfs)입니다. 로그인시 액세스 가능한 파티션으로 "마운트"됩니다. /etc/updatedb.conf를 확인하고 a) 무시 된 파일 시스템에서 ecryptfs 제거 (PRUNEFS) b) PRUNE_BIND_MOUNTS = "no"로 변경
m33lky

4
그런 다음 sudo updatedb새 파일을 색인화하기 위해 실행할 수 있습니다.
m33lky

데이터베이스 위치는 암호화되지 않은 공간에서 수명을 사용하므로 파일 이름을 공개하여 암호화를 손상시킬 수 있습니다.
Florian Heinle

답변:


29

나는 모두 "실행 위치 (updatedb에) 나는 로그인있을 때"위에서 언급 한 바와 같이, 나는 계속 의 일부가 내 암호화 된 $ HOME에서 데이터베이스를 찾습니다.

export LOCATE_PATH="$HOME/var/mlocate.db"

그런 다음 파일 $HOME

updatedb -l 0 -o $HOME/var/mlocate.db -U $HOME

이제 완전한 인덱스를 가지고 $HOME있지만 $HOME마운트 및 암호 해독 이 없으면 데이터베이스가 표시되지 않습니다 .


좋은 해결책입니다. 거기에서 DB를 어떻게 마이그레이션 했습니까?
m33lky

4
나는하지 않았다. 방금 (암호화 된) 홈 트리에 대한 DB를 생성했습니다 updatedb -l 0 -o $HOME/var/mlocate.db $HOME. man locate기본 데이터베이스 ( /var/lib/mlocate/mlocate.db)를 검색 한 다음 의 데이터베이스 목록을 검색합니다 $LOCATE_PATH.
waltinator

3
" ecryptfsPRUNEFS정의에서 제거 하지 마십시오/etc/updatedb.conf . 로그인하면 /home/$USER암호가 해독되지만 암호화 된 파일 및 파일 이름은 /home/$USER/.Private무시해야합니다. $HOME마운트되지 않은 경우 다른 사용자는 db 또는 (암호화되지 않은 ) 파일 이름
waltinator

2
updatedb -l 0 -o $HOME/var/mlocate.db $HOME가없는 -U그것이 있어야updatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
destan

2
스티브 Collyer의 bash_path_funcs (사용, 너무, 인덱스 이동식 미디어에 내 방법을 확장 한 @destin 내 나쁜 linuxjournal.com/article/3645을 ). 이동식 매체 (로 마운트와 /media/_name_내가) updatedb -l 0 -o ~/var/mlocate/_name_.db -U /media/_name_ 내에서 .bashrc, 나는이 export LOCATE_PATH="$HOME/var/mlocate/mlocate.db for i in $HOME/var/mlocate/*.db ; do addpath -p LOCATE_PATH $i done uniqpath -p LOCATE_PATHlocate나 매체가 되더라도는 파일 이름을 표시 할 수 없습니다 장착.
waltinator

3

파일 시스템이 해독되었을 때 updatedb를 실행하고 환경 변수를 일치시켜 읽고 쓰려고 시도하는 것은 어떻습니까?

매뉴얼 페이지를 읽은 후 BASH RC 파일에 두 개의 변수를 추가하십시오.

man locate
echo "export LOCATE_PATH=$HOME/var/lib/mlocate/mlocate.db:$LOCATE_PATH" >> ~/.bashrc
echo "export DBPATH=$HOME/var/lib/mlocate/mlocate.db:$DBPATH" >> ~/.bashrc

위에서 지정한 디렉토리를 만들고 mlocate 그룹에 $ username을 추가하십시오.

mkdir -p ~/var/lib/mlocate/
sudo usermod -a -G mlocate $username

mlocate 그룹에서 사용자를 계산하고 새 환경 변수를 얻으려면 로그 아웃했다가 다시 로그인하십시오. 이제 달릴 때

updatedb -o $LOCATE_PATH

해독 된 파일이 지금 찾기 데이터베이스에 있습니까? 아니면 어떻게 작동하거나 더 좋게 만들었습니까?

사용자의 crontab에 updatedb를 추가 할 수도 있습니다. 첫 실행 :

crontab -e

그리고 다음 줄을 추가하십시오 :

0 12 * * * updatedb -o $HOME/var/locate

Martin에 대한 내 의견을 참조하십시오. 보안 고려 사항이 있거나 우분투가 올바른 구성을 간과했는지 이해하려고합니다.
m33lky

ecryptfs가 /etc/updatedb.conf의 PRUNEFS 변수에 나열되어 있기 때문에 --prunefs "nfs"도 사용해야합니다. 이것은 사용자 프로필에서 사용자 별 인덱스를 저장하고 업데이트하기 때문에 좋은 솔루션으로 보입니다.
João Pinto

@ m33lky 문제는 이것이다 : 당신은 homedir을 암호화하도록 요청했다 root. 스마트 솔루션은 사용자 별 위치 데이터베이스입니다. 단일 사용자 머신에 대한 쉬운 해결책 ecryptfs은 로그인 할 때 제거 하고 스캔하는 것입니다. 나중에 locate글로벌 DB와 현재 사용자의 홈 DB에서 결과를 집계 할 수 있습니다.
joeytwiddle

2

로그인하지 않고 데이터베이스 인덱스를 업데이트 할 수는 없습니다. 로그인하고 updatedb 명령을 실행해야합니다.

에서 구성을 확인하십시오 /etc/updatedb.conf. 제거 ecryptfs에서 PRUNEFS아마 /home/.ecryptfs에서 PRUNEPATHS. sudo updatedb쫓아가는 것을 잊지 마십시오 .


1
updatedb.conf는 ecryptfs를 제거합니다. 또한 PRUNE_BIND_MOUNTS = "yes"입니다. 나는이 사용자 친화적 인 : 당신의 검색에서 누락 / 가정에서 결과를 가질 수없는 등의 기본값 뒤에 이유를 이해하려고 노력 중이 야
m33lky

가정의 기능은 사용자 당 인덱서를 갖는 것 같습니다.하지만 추측입니다.
Martin Owens -doctormo-

암호화가 없으면 / home이 색인화되므로 동일한 동작이 예상됩니다.
m33lky

1
사용자 인터페이스 관점에서 상황을 설명하고있었습니다.
m33lky

2
전체 디스크를 암호화 한 경우 문제가되지 않습니다. 홈 암호화 만있는 경우 이제 사용자 당 인덱싱을 시작하고 각 개별 암호화를 사용해야합니다. 실제로 홈 인덱스를 숨길 수도 있습니다. 사용자의 홈 폴더에 .... 대부분은 대부분의 사용자가 볼 수없는 주요 개발 및 비용입니다. 데이터베이스 찾기 도구 프로젝트에 대해 버그를보고하십시오.
Martin Owens -doctormo-
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.