AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 493931
Accepted
Faither
Faither
Asked: 2019-01-12 03:21:53 +0800 CST2019-01-12 03:21:53 +0800 CST 2019-01-12 03:21:53 +0800 CST

"ecryptfs-mount-private" retorna "fopen: Nenhum arquivo ou diretório"

  • 772

Recentemente, reiniciamos o servidor e obtivemos falha na montagem do ecryptfs:

...
Assinatura não encontrada no chaveiro do usuário
Talvez tente o 'ecryptfs-mount-private' interativo
user@host:~$

Isso pode ser por causa da mudança de senha?

Embora,

1. There's no mount password
2. We might have login password

Ao tentar recuperar o diretório de montagem, ele gera:

user@host:~$ ls
Access-Your-Private-Data.desktop  README.txt
user@host:~$ ecryptfs-mount-private
Enter your login passphrase:
Error: Unwrapping passphrase and inserting into the user session keyring failed [-5]
Info: Check the system log for more information from libecryptfs
ERROR: Your passphrase is incorrect
Enter your login passphrase:
user@host:~$ sudo ecryptfs-mount-private
[sudo] password for user:
Enter your login passphrase:
Inserted auth tok with sig [ad21fabcda6abfeab] into the user session keyring
fopen: No such file or directory
user@host:~$

Então, como você pode ver, ele mostra um erro tão estranho: fopen: No such file or directorye, também, ao executar ecryptfs-mount-privatesem sudo- ele falha. Ao montar a pasta usando ecrypts-recover-privateuma senha de login, ela a monta em uma pasta temporária como um encanto.
Além disso, tentamos ecryptfs-rewrap-passworde não funciona sem sudo o . Então, usando sudo ecryptfs-rewrap-passwordconseguiu reempacotar, mas após a reinicialização a mesma situação persiste.

Em suma, o que poderia ser isso; como corrigir este diretório inicial criptografado de montagem automática no login?

mount password
  • 2 2 respostas
  • 2682 Views

2 respostas

  • Voted
  1. Faither
    2019-01-12T13:30:17+08:002019-01-12T13:30:17+08:00

    Em suma, o arquivo do usuário wrapped-passphrasetinha permissões erradas (deveria ser -rw------- user user, eram -rw------- root root).

    Comando Ran ecryptfs-mount-private(senha de login digitada) usando stracecomo:

    strace -o /tmp/strace.log -e trace=file ecryptfs-mount-private
    

    Conteúdo de /tmp/strace.log:

    user@host:~$ sudo strace -o /tmp/strace.log -e trace=file ecryptfs-mount-private
    [sudo] password for user:
    Enter your login passphrase:
    Inserted auth tok with sig [3ab5cd8e5f8c5acb] into the user session keyring
    fopen: No such file or directory
    user@host:~$ cat /tmp/strace.log
    execve("/usr/bin/ecryptfs-mount-private", ["ecryptfs-mount-private"], [/* 13 vars */]) = 0
    access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
    access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
    open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
    access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
    open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
    getcwd("/home/user", 4096)                = 9
    open("/usr/bin/ecryptfs-mount-private", O_RDONLY) = 3
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3872, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
    stat("/home/user/.ecryptfs/wrapping-independent", 0x7fff65e61c30) = -1 ENOENT (No such file or directory)
    open("/dev/null", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3873, si_uid=0, si_status=1, si_utime=0, si_stime=0} ---
    stat("/home/user/.ecryptfs/wrapped-passphrase", {st_mode=S_IFREG|0600, st_size=58, ...}) = 0
    stat("/home/user/.ecryptfs/Private.sig", {st_mode=S_IFREG|0600, st_size=34, ...}) = 0
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3874, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
    stat("/usr/local/sbin/stty", 0x7fff65e61c40) = -1 ENOENT (No such file or directory)
    stat("/usr/local/bin/stty", 0x7fff65e61c40) = -1 ENOENT (No such file or directory)
    stat("/usr/sbin/stty", 0x7fff65e61c40)  = -1 ENOENT (No such file or directory)
    stat("/usr/bin/stty", 0x7fff65e61c40)   = -1 ENOENT (No such file or directory)
    stat("/sbin/stty", 0x7fff65e61c40)      = -1 ENOENT (No such file or directory)
    stat("/bin/stty", {st_mode=S_IFREG|0755, st_size=72496, ...}) = 0
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3875, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3876, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3877, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3878, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3879, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3880, si_uid=0, si_status=0, si_utime=68, si_stime=0} ---
    --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3881, si_uid=0, si_status=1, si_utime=0, si_stime=0} ---
    +++ exited with 1 +++
    

    Então, vemos que não há informações suficientes. Executou o mesmo comando (senha de login inserida), mas com sinalizador -fpara rastrear processos filhos e usando direitos de root :

    sudo strace -o /tmp/strace2.log -f -e trace=file ecryptfs-mount-private`
    

    Parte do conteúdo do /tmp/strace2.logarquivo:

    ...
    3963  open("/root/.ecryptfsrc", O_RDONLY) = -1 ENOENT (No such file or directory)
    3963  open("/home/user/.ecryptfs/wrapped-passphrase", O_RDONLY) = 3
    ...
    3964  open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
    3964  open("/root/.ecryptfs/Private.mnt", O_RDONLY) = -1 ENOENT (No such file or directory)
    3964  open("/dev/shm/ecryptfs-root-Private", O_RDWR|O_CREAT|O_NOFOLLOW, 0600) = 3
    3964  open("/root/.ecryptfs/Private.sig", O_RDONLY) = -1 ENOENT (No such file or directory)
    3964  +++ exited with 1 +++
    3954  --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=3964, si_uid=0, si_status=1, si_utime=0, si_stime=0} ---
    3954  +++ exited with 1 +++
    

    Como podemos ver, não consegue encontrar um arquivo Private.sigde root ; parece que deve ser executado pelo usuário que criptografou o diretório que estamos tentando recuperar em vez de executar em um diretório específico.

    Em suma, executei este comando (senha de login digitada) com os direitos do usuário:

    strace -o /tmp/strace3.log -f -e trace=file ecryptfs-mount-private`
    

    Parte do conteúdo do /tmp/strace3.logarquivo:

    ...
    4137  open("/lib/x86_64-linux-gnu/libnss_nis.so.2", O_RDONLY|O_CLOEXEC) = 3
    4137  access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
    4137  open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
    4137  open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
    4137  open("/home/user/.ecryptfsrc", O_RDONLY) = -1 ENOENT (No such file or directory)
    4137  open("/home/user/.ecryptfs/wrapped-passphrase", O_RDONLY) = -1 EACCES (Permission denied)
    4137  open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
    4137  +++ exited with 1 +++
    4112  --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=4137, si_uid=1000, si_status=1, si_utime=0, si_stime=0} ---
    ...
    

    Como podemos ver agora, um ecryptfs-mount-privateutilitário não pode acessar o wrapped-passphrasearquivo do usuário, o que resultou na mensagem Permissão negada .

    Verifiquei /home/user/.ecryptfs/wrapped-passphraseas permissões do arquivo e elas foram:

    -rw------- 1 root root
    

    Alterou o proprietário deste arquivo por meio sudo chown user:user /home/user/.ecryptfs/wrapped-passphrasedo usuário e reexecutou o ecryptfs-mount-privatecomando acima ( ) sem strace (senha de login inserida) que resultou em mensagem de sucesso :

    INFO: Your private directory has been mounted.
    INFO: To see this change in your current shell:
      cd: /home/user
    
    • 1
  2. Best Answer
    Xen2050
    2019-01-15T23:29:25+08:002019-01-15T23:29:25+08:00

    Configurei uma pasta privada ecryptfs e removi a permissão r & w do arquivo de frase secreta para testar ... Se você verificou o syslog logo após ver a mensagem

    Info: Check the system log for more information from libecryptfs
    

    Você teria visto linhas como esta:

    15 de janeiro 00:21:48 sys ecryptfs-insert-wrapped-passphrase-into-keyring: Falha ao detectar a versão da frase secreta encapsulada: Permissão negada
    15 de janeiro 00:21:48 sys ecryptfs-insert-wrapped-passphrase-into-keyring: Erro tentando desempacotar a senha do arquivo [/home/user/.ecryptfs/wrapped-passphrase] ; rc = [-13]

    Juntos, eles seriam uma seta bem forte apontando para verificar as permissões do arquivo ~/.ecryptfs/wrapped-passphrase. (Não é necessário sudo ou strace)

    Em suma, apenas certifique-se de estar executando o ecryptfs-mount-privatecomando no mesmo diretório do usuário que você está tentando montar e wrapped-passphraseo arquivo tem permissões -rw----------- ou ( 600 ) e o mesmo proprietário do diretório criptografado.

    • 1

relate perguntas

  • Bloqueando montagem syscall

  • Verifique o hash de senha no script bash?

  • montar lan hdd no linux fedora

  • ssh-copy-id foi bem-sucedido, mas ainda solicita a entrada de senha

  • Fazendo mysql CLI me pedir uma senha interativamente

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve