Raiz possui diretório inicial, chown não funciona

8

Estou executando o Ubuntu 12.04 e tendo vários problemas. Eu o rastreei até o fato de que o diretório pessoal do meu usuário (/ home / user) é de propriedade do root.

O diretório / home está realmente montado em outra unidade, mas eu posso ver que no fstab estou montando apenas / home e não / home / user:

UUID=DC56D19E56DX3233 /home ntfs user,exec 0 2

O comando chown abaixo parece não funcionar:

sudo chown -R user /home/user

Isso será executado sem erros, mas não altera a propriedade do diretório. Aqui está a saída de ls -ld depois de executar o comando:

drwxrwxrwx 1 root root 20480 Sep 25 00:07 /home/user

Isso é o mesmo de antes.

    
por DJElbow 27.09.2013 / 03:45

2 respostas

3

O problema, como mencionado nos comentários, era que meu diretório pessoal era montado em um disco rígido diferente com um sistema de arquivos NTFS.

Eu fiz backup do meu diretório pessoal com o Deja Dup em uma unidade externa. Em seguida, usei o gparted para formatar a unidade NTFS interna e alterar o sistema de arquivos para EXT4.

Em seguida, alterei o / etc / fstab para corresponder ao novo UUID da unidade e alterei "ntfs" para "ext4".

Após a reinicialização, tive que pressionar Ctrl + Alt + F1 para fazer login em um terminal. Eu estava lá capaz de usar sudo chown -R usuário: user / home / user.

Eu então consegui fazer o login na GUI e restaurar meu diretório pessoal usando o Deja Dup e o backup na minha unidade externa.

Até agora, tudo está funcionando muito bem.

    
por DJElbow 28.09.2013 / 09:21
14

O NTFS não suporta 'proprietários' no estilo Unix, então o kernel Linux é forçado a designar um proprietário para o volume inteiro - normalmente, root. Como uma alternativa para mover seu diretório home inteiro para EXT4, você também pode dar a propriedade de toda a partição para um usuário ou grupo específico usando as opções 'uid' ou 'gid' para mount (ou em fstab ). Há implicações de segurança em um ambiente multiusuário, mas usei esse método no meu laptop de inicialização dupla.

Um longo caminho dentro da man page para mount ( man mount ), encontramos isso em opções específicas do sistema de arquivos para NTFS:
uid=value, gid=value and umask=value
Set the file permission on the filesystem. The umask value is given in octal. By default, the files are owned by root and not readable by somebody else.

Sua linha em fstab seria então alterada para UUID=DC56D19E56DX3233 /home ntfs user,exec,uid=username,gid=group 0 2 e você estaria livre para editar a umask se quisesse.

    
por Mactrent 28.09.2013 / 22:16