Root possiede la home directory, chown non funziona


12

Sto eseguendo Ubuntu 12.04 e ho vari problemi. L'ho fatto risalire al fatto che la home directory del mio utente (/ home / user) è di proprietà di root.

La directory / home è effettivamente montata su un'altra unità, ma posso vedere che in fstab sto montando solo / home e non / home / user:

UUID=DC56D19E56DX3233 /home ntfs user,exec 0 2

Il comando chown di seguito non sembra funzionare:

sudo chown -R user /home/user

Questo verrà eseguito senza errori, tuttavia in realtà non cambia la proprietà della directory. Ecco l'output di ls -lddopo aver eseguito il comando:

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

È lo stesso di prima.


1
Puoi aggiungere la riga pertinente dal tuo /etc/fstabe / o dall'output del mountcomando per la tua partizione home (ad es. mount | grep 'home'?
steeldriver,

mount | grep home-> / dev / sdb1 on / home tipo fuseblk (rw, nosuid, nodev, allow_other, blksize = 4096)
DJElbow

cat /etc/fstab-> UUID = DC56D19E56DX3233 / utente home ntfs, exec 0 2
DJElbow

1
Quindi il problema di fondo sembra essere che stai usando un filesystem non linux (ntfs) per la tua partizione home - che in realtà non supporta le autorizzazioni per i file in stile * nix. Potrebbe essere possibile farlo funzionare con le opzioni di maschera file adatte sul mount ma non ho alcuna esperienza nel farlo. In bocca al lupo.
Steeldriver,

Sì, hai montato / home come filesystem di Windows che non è una configurazione supportata.
psusi,

Risposte:


17

NTFS non supporta i "proprietari" in stile Unix, quindi il kernel Linux è costretto ad assegnare un proprietario per l'intero volume, normalmente root. In alternativa allo spostamento dell'intera directory home su EXT4, è anche possibile assegnare la proprietà dell'intera partizione a un utente o gruppo specifico utilizzando le opzioni 'uid' o 'gid' per mount(o in fstab). Ci sono implicazioni di sicurezza in un ambiente multiutente, ma ho usato questo metodo sul mio laptop dual-boot.

Molto lontano nella pagina man di mount( man mount), lo troviamo nelle opzioni specifiche del filesystem per 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.

La tua linea fstabverrebbe quindi cambiata in UUID=DC56D19E56DX3233 /home ntfs user,exec,uid=username,gid=group 0 2, e saresti libero di modificare la umask se lo desideri.


3

Il problema, come menzionato nei commenti, era che la mia directory home era montata su un disco rigido diverso con un filesystem NTFS.

Ho eseguito il backup della mia directory home con Deja Dup su un'unità esterna. Quindi utilizzato gparted per formattare l'unità NTFS interna e modificare il filesystem su EXT4.

Successivamente ho cambiato / etc / fstab in modo che corrispondesse al nuovo UUID dell'unità e ho cambiato "ntfs" in "ext4".

Dopo il riavvio, ho dovuto premere Ctrl + Alt + F1 per accedere a un terminale. Sono stato lì in grado di utilizzare sudo chown -R utente: utente / home / utente.

Sono stato quindi in grado di accedere alla GUI e ripristinare la mia home directory usando Deja Dup e il backup sul mio disco esterno.

Finora tutto funziona alla grande.


1
Purtroppo ho lo stesso problema ma voglio che la cartella sia accessibile anche da Windows. Poiché sono l'unico utente, cambierò il proprietario: gruppo dell'intera partizione secondo la risposta di Mactrent.
flurbius,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.