El directorio principal de Root Owns, chown no funciona

11

Estoy ejecutando Ubuntu 12.04 y tengo varios problemas. Lo he rastreado hasta el hecho de que el directorio de inicio de mi usuario (/ home / user) es propiedad de root.

El directorio / home está realmente montado en otra unidad, pero puedo ver que en fstab solo estoy montando / home y no / home / user:

UUID=DC56D19E56DX3233 /home ntfs user,exec 0 2

El comando chown a continuación no parece funcionar:

sudo chown -R user /home/user

Esto se ejecutará sin errores, sin embargo, en realidad no cambia la propiedad del directorio. Aquí está la salida de ls -lddespués de ejecutar el comando:

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

Esto es lo mismo que era anteriormente.

DJElbow
fuente
1
¿Puede agregar la línea relevante desde su /etc/fstaby / o la salida del mountcomando para su partición de inicio (por ejemplo mount | grep 'home'?
steeldriver
mount | grep home-> / dev / sdb1 on / home type fuseblk (rw, nosuid, nodev, allow_other, blksize = 4096)
DJElbow
cat /etc/fstab-> UUID = DC56D19E56DX3233 / usuario doméstico ntfs, ejecutivo 0 2
DJElbow
1
Entonces, el problema subyacente parece ser que está utilizando un sistema de archivos no linux (ntfs) para su partición doméstica, que realmente no admite permisos de archivos de estilo * nix. Es posible que funcione con opciones de máscara de archivo adecuadas en el soporte, pero no tengo ninguna experiencia en hacerlo. Buena suerte.
steeldriver
Sí, ha montado su / home como un sistema de archivos de Windows que no es una configuración compatible.
psusi

Respuestas:

16

NTFS no admite 'propietarios' de estilo Unix, por lo que el kernel de Linux se ve obligado a asignar un propietario para todo el volumen, normalmente, root. Como alternativa a mover su directorio de inicio completo a EXT4, también podría otorgar la propiedad de la partición completa a un usuario o grupo específico utilizando las opciones 'uid' o 'gid' para mount(o in fstab). Hay implicaciones de seguridad en un entorno multiusuario, pero utilicé este método en mi computadora portátil de arranque dual.

Un largo camino dentro de la página man para mount( man mount), encontramos esto en las opciones específicas del sistema de archivos 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.

Su línea de entrada fstabse cambiaría a UUID=DC56D19E56DX3233 /home ntfs user,exec,uid=username,gid=group 0 2, y sería libre de editar la umask si lo desea.

Mactrent
fuente
3

El problema, como se menciona en los comentarios, era que mi directorio de inicio estaba montado en un disco duro diferente con un sistema de archivos NTFS.

Realicé una copia de seguridad de mi directorio de inicio con Deja Dup en una unidad externa. Luego se utilizó gparted para formatear la unidad interna NTFS y cambiar el sistema de archivos a EXT4.

Luego cambié / etc / fstab para que coincida con el nuevo UUID de la unidad y cambié "ntfs" a "ext4".

Después de reiniciar, tuve que presionar Ctrl + Alt + F1 para iniciar sesión en un terminal. Pude usar sudo chown -R user: user / home / user.

Luego pude iniciar sesión en la GUI y restaurar mi directorio de inicio usando Deja Dup y la copia de seguridad en mi disco externo.

Hasta ahora, todo está funcionando muy bien.

DJElbow
fuente
1
Lamentablemente tengo el mismo problema pero quiero que la carpeta también sea accesible desde Windows. Como soy el único usuario, cambiaré el propietario: grupo de toda la partición según la respuesta de Mactrent.
flurbius 01 de