Montowanie partycji - problem z uprawnieniami do plików

Witam. Jestem nowy na forum więc proszę o wyrozumiałość :wink: System to na bieżąco aktualizowany Manjaro Stable. Mam problem z montowaniem partycji a mianowicie niespodzianie, nie wiadomo z jakiego powodu zaczęły montować się z jako “root” co powoduje że nie mogę dokonać żadnych modyfikacji na moich plikach. Partycje montuje za pomocą fstab i nigdy wcześniej nie miałem takiego problemu. “Goglująć” widziałem różne triki ale nie przyniosły żadnych skutków, więc je wycofałem, nie chce eksperymentować i popsuć przy okazji czegoś innego. Dodam jeszcze że nic ostatnio nie modyfikowałem jeśli chodzi o działanie systemu, możliwe że zmieniło się coś przy ostatniej aktualizacji. Mogę odmontować partycję ale ręczne kliknięcie w ikonę partycji znowu montuje ją jako “root”. Jakieś podpowiedzi gdzie szukać przyczyny?

Witaj,
Podaj jakieś konkrety typu, jaki system plików na partycji, jakie opcje montowania (plik fstab), itp.
Bez tego nie bardzo wiadomo w czym problem.

Jak np.:

cat /etc/fstab
lsblk -a
ls -l /home

Oprócz powyższych informacji (zaordynowanych przez Kolegów), napisz również, których (konkretnie) partycji problem dotyka.

Zawartość pliku fstab:

UUID=8855e1d7-0d66-40b0-8d40-e0343ed042c2 / ext4 defaults,noatime,discard 0 1
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
/dev/disk/by-uuid/01D0D55495B4D610 /mnt/Moje\040pliki auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/F0F83EE2F83EA72E /mnt/Pusty\040(Seagate) auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/2A1A55491A5512E5 /mnt/Windows\0407\040SSD auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/7A4535EF09F091C9 /mnt/Program\040Files auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/18cba31d-f13b-4679-8bc9-9b10096efabb /mnt/Linux\040Games auto nosuid,nodev,nofail,x-gvfs-show 0 0
/dev/disk/by-uuid/5c057d8df712d040 /mnt/FreeBSD ufs ro,relatime,ufstype=ufs2,onerror=lock,x-gvfs-show,x-gvfs-name=FreeBSD 0 0
/dev/disk/by-uuid/C0524E20524E1B92 /mnt/Windows\04010\040SSD auto nosuid,nodev,nofail,x-gvfs-show 0 0
/swapfile none swap defaults 0 0

Wynik polecenia “lsblk -a”:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 119,2G 0 disk
├─sda1 8:1 0 40G 0 part /mnt/Windows 7 SSD (NTFS)
├─sda2 8:2 0 20G 0 part (UFS - FreeBSD)
├─sda3 8:3 0 28,7G 0 part / (EXT4 - Manjaro)
├─sda4 8:4 0 30,6G 0 part /mnt/Windows 10 SSD (NTFS)
└─sda5 8:5 0 20G 0 part /mnt/FreeBSD (UFS)
sdb 8:16 0 931,5G 0 disk
├─sdb1 8:17 0 465,8G 0 part /mnt/Program Files (NTFS)
└─sdb2 8:18 0 465,8G 0 part /mnt/Moje pliki (NTFS)
sdc 8:32 0 465,8G 0 disk
├─sdc1 8:33 0 337,8G 0 part /mnt/Pusty (Seagate) (NTFS)
└─sdc2 8:34 0 128G 0 part /mnt/Linux Games (EXT4)
sr0 11:0 1 1024M 0 rom

ls -l /home:

razem 4
drwxrwxrwx 36 przemek sambashare 4096 01-21 20:08 przemek

Tak więc, problem dotyka wszystkich partycji NTFS. W wyniku polecenia “lsblk -a” pozwoziłem dopisać sobie jakie są systemy plików. Na partycji “Linux Game” gdzie trzymam bibliotekę Steam mogę bez problemu dokonywać modyfikacji.

Sprawdź jeszcze czy masz zainstalowaną paczkę ntfs-3g
https://wiki.archlinux.org/index.php/NTFS-3G

i czy twój użytkownik jest w grupie storage. To sprawdzasz poleceniem

id

Poza tym widać, że montujesz partycje NTFS w katalogu /mnt
Może dlatego mają takie uprawnienia, tj. należą do roota, bo mnt należy do roota.

Wiki arch mówi:

Default settings

Using the default settings will mount the NTFS partition(s) at boot. With this method, if the parent folder that it is mounted upon has the proper user or group permissions (e.g. /run/media/<username>/), then that user or group will be able to read and write on that partition(s).

Czyli wskazuje na montowanie np. w /run/media

Jeśli chodzi ci o to, aby partycje NTFS były niejako wspólne, żeby mieć dostęp do nich zarówno z Windows jak i z Linuksa (dla Linuksa to i tak katalogi), żeby trzymać tam jakieś pliki, typu dokumenty, itp., to ja bym utworzył sobie katalogi w /home i tam podmontował te partycje NTFS.

Nie wiem po co w ogóle podmontowujesz partycje systemowe z Windowsem sda1 i sda4. Przecież z poziomu Linuksa chyba nie potrzebujesz mieć dostępu do plików systemowych windows.

Polecenie
ls -l
pokazuje ci komu jakie uprawnienia do danego katalogu przysługują.
Poczytaj sobie o użytkownikach i grupach w Linuksie. To jest podstawowa wiedza jaką warto mieć, żeby sobie radzić z Linuksem.

1 polubienie

Montowanie partycji NTFS:

Paczka ntfs-3g:
$ pamac install ntfs-3g

Tworzymy katalog do montowania partycji:
$ mkdir /run/media/nazwa_użytkownika/nazwa_katalogu_dla _partycji

Montujemy partycję do utworzonego katalogu:

$ sudo mount -t ntfs-3g /dev/sdXX /run/media/nazwa_użytkownika/nazwa_katalogu_dla_partycji

Gdzie za X podstawiamy liczbę lub literę partycji.

Otwieramy ulubionym edytorem /etc/fstab:
& vim /etc/fstab

Na końcu pliku dodajemy:
/dev/sdXX /run/media/nazwa_użytkownika/nazwa_katalogu ntfs-3g uid=1000,gid=1001,umask=0022,dmask=022,fmask=13 0 0

Ważne, to nie są odstępy jednej spacji, tylko tabulacji (4spacje).
Gdzie za “X” podstawiamy literę i liczbę partycji, którą montujemy.

W tym wszystkim ważne jest by podać prawidłowy uid i gid który można uzyskać za pomocą polecenia id

Restart PC. Powinieneś teraz mieć prawa użytkownika, a nie root.

1 polubienie

Tak, mam zainstalowany pakiet ntfs-3g:

pacman -Ss ntfs
extra/ntfs-3g 2017.3.23-3 [zainstalowano]
NTFS filesystem driver and utilities

Faktycznie montuje w katalogu z uprawnieniami root, lecz wcześniej nie było z tym problemu, wszystko działało tak jak powinno. Dodam jeszcze że montowanie partycji ręcznie w katalogu użytkownika np. “/home/przemek/test” czy też w “/run/media/przemek/test” za pomocą polecenia “mount” nic nie daje, skutek ten sam, nie mogę nic zmodyfikować. To samo gdy montuje partycje fstabem.

Nie był, dodałem edytując /etc/group ale nic to nie zmieniło, tzn dodało mnie do grupy “storage” ale nie rozwiązuje to mojego problemu.

id
uid=1000(przemek) gid=1000(przemek) grupy=1000(przemek),90(network),98(power),618(sambashare),619(autologin),988(storage),991(lp),996(utmp),998(wheel)

Dla wygody bo czasem zostawię coś na pulpicie pracując na danym systemie i dla configu conky który pokazuje mi na bieżąco zajęte miejsce. Z tego co się orientuje to obsługa NTFS w Linuksie jest raczej stabilna, więc nie widzę problemu żeby montować je za każdym razem gdy loguje się na Manjaro.

Dzięki, zaraz sprawdzę czy z takimi parametrami coś to zmienia.

Edit: Dopisałem parametry które mi zaproponowałeś ale niestety nic to nie zmieniło. Czy kolejność parametrów ma znaczenie? W każdym razie z polecenia “mount” widzę że:

/dev/sda1 on /run/media/przemek/Windows 7 SSD type fuseblk (ro,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,x-gvfs-show)

co nie bardzo pasuje bo miało być uid=1000 oraz gid=1001.
Najpierw dodałem Twoje parametry do moich domyślnych a potem wpisałem tylko te które podałeś ale nie robi to żadnej różnicy.

Obecne moje ustawienia pod partycje NTFS:

$ id
uid=1000(ulther) gid=1001(ulther) grupy=1001(ulther),90(network),96(scanner),98(power),109(vboxsf),986(video),988(storage),990(optical),991(lp),994(disk),995(audio),998(wheel),1000(autologin) 
$ cat /etc/fstab
/dev/sda1	/run/media/ulther/DATA 	ntfs-3g 	uid=1000,gid=1001,umask=0022,dmask=022,fmask=13   0   0
/dev/sdc1	/run/media/ulther/DATA2 ntfs-3g     uid=1000,gid=1001,umask=0022,dmask=022,fmask=13   0   0 
$ ls -la /run/media/ulther/DATA2/
razem 44
drwxr-xr-x 1 ulther ulther  4096 01-11 11:28 .
drwxr-xr-x 4 root   root      80 01-22 12:10 ..
drwxr-xr-x 1 ulther ulther 40960 01-12 12:28 GRY

Jak widać są z prawami dla użytkownika. Dodam tylko że ustawienie w /etc/fstab parametrów defaults,discard lub force są zarezerwowane dla praw zależnych od punktu montowania, tzn. jeśli montujesz w katalogu /mount, /run przyjmą prawa roota, dlatego niektórzy montują w /home (mówimy tu tylko o NTFS).

Jak sam podałeś, Twój uid i gid to uid=1000(przemek) gid=1000(przemek) - 1000, więc na takie powinieneś podmienić.

@UltherEgo -> ja mam w /etc/fstab spacje w ilości 2-39 szt., bo mam zapisy ustawione w kolumny. Nie zarejestrowałem żadnych problemów.


Uwagi ogólne nt. montowania, na podstawie moich doświadczeń:

  • lokalizację /run/media/NazwaUsera/ zostawiam systemowi, który montuje tam partycje z automatu (podpinane dyski, pen’y, płyty) i nie wcinam mu się w jego działania;
  • gdy montuję coś wspólnego (dla wielu user’ów, włącznie z root’em), to wykorzystuję lokalizację /var/MOUNT/ (choć, po długim czasie użytkowania i pewnych doświadczeniach, zastanawiam się nad /home/CosTamWspolnego/mount/);
  • do szybkiego montażu z ręki, w konsoli używam ~/mount/ ;
  • wszystkie (za wyjątkiem przypadków incydentalnych) montowane partycje linkuję do folderu w swoim profilu (powiedzmy, że jest, to /home/NazwaUsera/dyski/), tak aby mieć je w jednej strukturze, łatwo i szybko dostępne.

EDIT-20190122-2210 … Problem rozwiązany, ale dla porządku dopisuję jeszcze jedno (zapomniałem o tym, ale kolejne wpisy Kolegów pobudziły moją pamięć):

  • nigdy, ale to przenigdy, nie stosuję spacji i polskich znaków (czy innych spoza ścisłego standardu) w nazwach partycji, etykietach, nazwach katalogów systemowych, czy innych o istotnym znaczeniu. Prawo, ani system nie zabraniają, ale jest, to potencjalne źródło utrudnień lub problemów - szczególnie, jeżeli korzysta się z wielu systemów jednocześnie i/lub przerzuca dane pomiędzy nimi.

Zamontowanie w katalogu użytkownika nic nie zmieniło.

Faktycznie, nie zwróciłem na to uwagi. Zmieniłem ale dalej to samo.

/dev/disk/by-uuid/2A1A55491A5512E5 /home/przemek/Dyski/Windows\0407\040SSD ntfs-3g uid=1000,gid=1000,umask=0022,dmask=022,fmask=13,x-gvfs-show 0 0

Tak jak widać zaleciłem się do wskazówek, czyli montuje partycje w katalogu użytkownika, zmieniłem uid oraz gid na swoje, zastosowałem Twoje parametry i dalej klops. Dodam że podpinane pendrivy i dyski montują się poprawnie w /run/media/przemek/nazwa_dysku. Jedyne czego się dopatrzyłem to takiej różnicy w uprawnieniach między partycjami które ja montuje a tymi które montuje system (pendrivy)

Zauważyłem, że podając ścieżkę stosujesz zarówno slash (po linuksowemu) jak i backslash (po windowsowemu).

Sądzę, że powinno być
/home/przemek/Dyski/Windows/0407/040SSD

To jest katalog w którym ostatecznie montujesz: 040SSD
Upewnij się, czy on ma odpowiednie uprawnienia.

Może wiki Ubuntu będzie przydatna:
https://help.ubuntu.com/community/Fstab

Jeszcze coś takiego znalazłem

https://linuxiarze.pl/forum/index.php/topic,1918.msg7780.html?PHPSESSID=ng9dnaatbe5ntsj8j3u7q32526#msg7780

Nie używam windows, więc tak sobie strzelam, ale może warto sprawdzić.

1 polubienie

@alaskan_malamute Słuszna uwaga.
Jeśli występuje spacja w katalogu to składnia wygląda następująco Ala\ Ma\ Kota/

Nie edytuje fstab ręcznie, wiem że nie mogę stosować w nim spacji dlatego posługuje się narzędziem “Dyski - gnome-disk-utility” który robi to za mnie stosując właśnie te “\040” . Zresztą gdyby było coś źle to system nie montowałby mi partycji tylko sypnął czerwonym failem podczas startu (mam wyłączony quiet, więc bym zauważył) a jak już wspomniałem wcześniej przy takiej konfiguracji nie było żadnych problemów aż nagle pewnego dnia przestało działać.

Coś czuje że będzie to rozwiązanie problemu. Zaraz sprawdzę i dam znać.

Edit:

Dziękuje Ci wybawco :slight_smile: To rozwiązało problem. Zapomniałem że ostatnio instalowałem Windows 10 od zera i domyślnie włączona była hibernacja a wcześniej nie miałem tego ustrojstwa. Wgl nie skojarzyłem tego faktu niepotrzebnie szukając problemu w Linuksie.

Dziękuję wszystkim którzy zaangażowali się w dyskusje :slight_smile:

Problem rozwiązany:

Zamykam temat.