A raiz possui o diretório inicial, chown não funciona

11

Estou executando o Ubuntu 12.04 e tendo vários problemas. Eu rastreei de volta ao fato de que o diretório pessoal do meu usuário (/ home / user) pertence à raiz.

O diretório / home está realmente montado em outra unidade, mas 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 não parece funcionar:

sudo chown -R user /home/user

Isso será executado sem erros, no entanto, na verdade, não altera a propriedade do diretório. Aqui está a saída de ls -lddepois de executar o comando:

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

É o mesmo que era anteriormente.

DJElbow
fonte
1
Você pode adicionar a linha relevante do seu /etc/fstabe / ou a saída do mountcomando para sua partição doméstica (por exemplo mount | grep 'home'?
steeldriver
mount | grep home-> / dev / sdb1 on / casa tipo fuseblk (rw, nosuid, nodev, allow_other, blksize = 4096)
DJElbow
cat /etc/fstab-> UUID = DC56D19E56DX3233 / usuário ntfs doméstico, exec 0 2
DJElbow 27/13
1
Portanto, o problema subjacente parece ser o de que você está usando um sistema de arquivos não-linux (ntfs) para sua partição inicial - que não suporta realmente permissões de arquivo no estilo * nix. Pode ser possível fazê-lo funcionar com opções de máscara de arquivo adequadas na montagem, mas não tenho nenhuma experiência em fazer isso. Boa sorte.
steeldriver
Sim, você montou seu / home como um sistema de arquivos do Windows que não é uma configuração suportada.
psusi 27/09/13

Respostas:

16

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

Um longo caminho dentro da página de manual 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 entrada de linha fstabserá alterada para UUID=DC56D19E56DX3233 /home ntfs user,exec,uid=username,gid=group 0 2e você poderá editar o umask, se quiser.

Mactrent
fonte
3

O problema, conforme mencionado nos comentários, era que meu diretório pessoal estava 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, usado gparted para formatar a unidade NTFS interna e alterar o sistema de arquivos para EXT4.

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

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

Consegui entrar 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.

DJElbow
fonte
1
Infelizmente, tenho o mesmo problema, mas quero que a pasta também seja acessível no Windows. Como sou o único usuário, alterarei o proprietário: grupo de toda a partição conforme a resposta de Mactrent.
Flurbius