Katalog domowy root rootów, chown nie działa

12

Używam Ubuntu 12.04 i mam różne problemy. Prześledziłem to z powrotem do faktu, że katalog domowy mojego użytkownika (/ home / user) jest własnością root.

Katalog / home jest właściwie zamontowany na innym dysku, ale widzę, że w fstab montuję tylko / home, a nie / home / user:

UUID=DC56D19E56DX3233 /home ntfs user,exec 0 2

Poniższe polecenie chown nie działa:

sudo chown -R user /home/user

Będzie działać bezbłędnie, ale tak naprawdę nie zmienia własności katalogu. Oto wynik ls -lddziałania polecenia:

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

To jest tak samo jak poprzednio.

DJElbow
źródło
1
Czy możesz dodać odpowiedni wiersz z twojego /etc/fstabi / lub wyniku mountpolecenia dla partycji domowej (np. 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 / home ntfs user, exec 0 2
DJElbow
1
Wydaje się więc, że podstawowym problemem jest to, że używasz systemu plików innego niż Linux (NTFS) dla partycji domowej - który tak naprawdę nie obsługuje uprawnień do plików w stylu * Nix. Może być możliwe, aby działał z odpowiednimi opcjami maski pliku na wierzchowcu, ale nie mam doświadczenia w tym zakresie. Powodzenia.
steeldriver
Tak, zamontowałeś / home jako system plików Windows, który nie jest obsługiwaną konfiguracją.
psusi

Odpowiedzi:

17

NTFS nie obsługuje „właścicieli” w stylu uniksowym, więc jądro Linuksa jest zmuszone przypisać właściciela dla całego woluminu - zwykle root. Alternatywnie do przeniesienia całego katalogu domowego na EXT4, możesz także przekazać własność całej partycji określonemu użytkownikowi lub grupie, używając opcji „uid” lub „gid” dla mount(lub in fstab). Istnieją konsekwencje dla bezpieczeństwa w środowisku wielu użytkowników, ale użyłem tej metody na moim laptopie z podwójnym uruchomieniem.

Daleko w głąb strony podręcznika dla mount( man mount) znajdujemy to pod opcjami specyficznymi dla systemu plików dla 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.

Twój wiersz fstabzostanie zmieniony na UUID=DC56D19E56DX3233 /home ntfs user,exec,uid=username,gid=group 0 2i możesz dowolnie edytować umask.

Mactrent
źródło
3

Problem, jak wspomniano w komentarzach, polegał na tym, że mój katalog domowy został zamontowany na innym dysku twardym z systemem plików NTFS.

Utworzyłem kopię zapasową mojego katalogu domowego za pomocą Deja Dup na dysk zewnętrzny. Następnie użyto gparted do sformatowania wewnętrznego dysku NTFS i zmiany systemu plików na EXT4.

Następnie zmieniłem / etc / fstab, aby dopasować nowy UUID dysku i zmieniłem „ntfs” na „ext4”.

Po ponownym uruchomieniu musiałem nacisnąć Ctrl + Alt + F1, aby zalogować się do terminala. Byłem tam w stanie używać sudo chown -R użytkownik: użytkownik / dom / użytkownik.

Byłem wtedy w stanie zalogować się do GUI i przywrócić mój katalog domowy za pomocą Deja Dup i kopii zapasowej na dysku zewnętrznym.

Jak dotąd wszystko działa świetnie.

DJElbow
źródło
1
Niestety mam ten sam problem, ale chcę, aby folder był również dostępny z systemu Windows. Ponieważ jestem jedynym użytkownikiem, zmienię właściciela: grupę całej partycji zgodnie z odpowiedzią Mactrenta.
Flurbius