Zamontuj dysk USB z uprawnieniami do zapisu dla wszystkich lub określonego użytkownika

25

Wiem, że są podobne pytania, ale mam pewien konkretny problem, którego nie mogę rozwiązać.

Mam:

  • Dysk twardy podzielony na dwie partycje. /dev/sdb1a /dev/sdb2. sdb1jest NTFS i nie potrzebuję go. Potrzebuję, sdb2co jest fat32.
  • Ubuntu 12.04.1 LTS (serwer)

Chcę:

Docelowo potrzebuję Perma-zamontować /dev/sdb2aby /home/storagez prawa dostępu (RW) dla użytkownika media.

Problemy, przed którymi stoję:

1) Korzystanie z ręcznego montażu z wiersza poleceń.

Jeśli tylko użyję

server# sudo mount /dev/sdb2 /home/storage

Montuje, ale /home/storageotrzymuje root jako właściciel i grupę i nie pozwala mediaużytkownikowi pisać tam.

Jeśli użyję mountkomendy bez sudojako użytkownika media- nie będę mieć pozwolenia. Mówi, że tylko root może używać mount.

Jeśli korzystam mountz opcji: server# sudo mount /dev/sdb2 /home/storage -o umask=000dostaję to, czego potrzebuję. Oczywiście nieco przesadzone, ponieważ folder przechowywania staje się zapisywalny dla wszystkich. ALE - to jest montowane ręcznie - teraz muszę go zamontować przy każdym ponownym uruchomieniu.

2) Ponowne podłączanie przy ponownym uruchomieniu - za pomocą fstab

Pomyślałem więc, że wszystko będzie dobrze, jeśli użyję fstabdo zamontowania tej partycji ( /dev/sdb2) przy każdym ponownym uruchomieniu. fstabLinia I dodaje:

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8,noauto 0 0

uuid z blkid. Typ fs autozmieniłem kilka razy ... próbowałem vfatteż, ale zawsze po ponownym uruchomieniu Ubuntu zatrzymuje się podczas przetwarzania fstab (jak myślę) z komunikatem (wziętym z dziennika):

fsck from util-linux 2.20.1 /dev/sda5: clean, 120559/10969088 files, 19960144/43861504 blocks mount: unknown filesystem type 'static' mountall: mount /etc/fstab: [772] terminated with status 32 mountall: Filesystem could not be mounted: /etc/fstab: Skipping /etc/fstab: at user request

A także - sudo mount -anigdy tak naprawdę nic nie robi.

Co ja robię źle? Podejrzewam, że coś pomieszałem :)

AKTUALIZACJA:

Jak się wydaje - fstab powinien przechowywać tylko mocowania dla napędów statycznych, a nie jakikolwiek sprzęt USB. Zastanawiam się, jak to działa z tymi wszystkimi ludźmi, którzy publikują w sieci swoje historie sukcesu ...

jednak .. jeśli nie jest to możliwe - chciałbym wiedzieć, jak ponownie podłączyć USB po każdym ponownym uruchomieniu ... jeśli nie z fstab - niż jak? :)

GeekSince1982
źródło
Myślę, że powinieneś opublikować wszystkie fstab do przeglądu, a nie tylko jedną linię. Jeśli chodzi o odpowiednie uprawnienia, uruchom id mediai użyj uid=oraz gid=i umask=027opcje.
mikewhthing
1
Czy jest jakiś powód, dla którego musisz używać FAT? Jeśli nie, utworzę kopię zapasową danych i użyję macierzystego systemu plików Linux. Następnie możesz ustawić własność i uprawnienia.
Panther
@mikew, cokolwiek dzięki, ale to działa dziwnie właściwie ... cóż ... nie bardzo :)
GeekSince1982
@ bodhi.zazen zrobił więcej czytania ... szwy jak na ubuntu 12 fstab powinny mieć tylko mocowania dla napędów statycznych. żadnych usb ...
GeekSince1982

Odpowiedzi:

27

Twój problem dotyczy prawdopodobnie ustawionych uprawnień. Dyski sformatowane w systemie FAT / FAT32 nie obsługują uprawnień do plików. Uprawnienia do wszystkiego zależą od sposobu montażu napędu. Po ustawieniu uprawnienia otwórz, zadziałało, gdy Ty

server# sudo mount /dev/sdb2 /home/storage -o umask=000

Jeśli chodzi o to, nie jest to automatyczne montowanie przy ponownym uruchomieniu

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8, -->noauto<-- 0 0

„Noauto” powoduje, że NIE uruchamia się ono automatycznie podczas uruchamiania systemu i analizuje plik / etc / fstab. Usuń tę opcję, a zostanie ona zamontowana podczas uruchamiania. Możesz ustawić uprawnienia do punktu montowania po zamontowaniu chmodlub określić je w / etc / fstab.

Jeśli potrzebujesz dostępu do użytkownika multimediów, możesz ustawić uprawnienia na 764 i dodać je do grupy zabezpieczeń. Root zawsze ma dostęp do wszystkiego.

zobacz http://www.linux.org/threads/file-permissions-chmod.4094/, aby zobaczyć przykłady uprawnień do plików propper

Na marginesie, bodhi.zazen miał rację. Czy jest jakiś powód, dla którego musisz używać FAT? Jeśli nie, utworzę kopię zapasową danych i użyję macierzystego systemu plików Linux. Następnie możesz ustawić własność i uprawnienia.

CacheXT
źródło
1
-o umask=000czy to jest !! Dziękuję Ci!
Antony
4

O ile nie zostaną zastąpione przez opcje montowania GID = lub UID = właściciel i uprawnienia punktu montowania podczas montowania stają się uprawnieniami do montowanego drzewa systemu plików.

Jeśli więc / dev / sdb1 zawiera system plików ext4 (powiedzmy kopię zapasową) będący własnością użytkownika, użytkownik stanie się właścicielem punktu podłączenia po pomyślnym zamontowaniu.

Na początek mamy pusty folder „kopia zapasowa”, który służy jako punkt montowania, i jest własnością root.

# ls -alR /mnt
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 root root 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 root root 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..

teraz montujemy / dev / sdb1 (tylko do odczytu)

# mount -o ro /dev/sdb1 /mnt/backup

i pozwala zobaczyć ...

# ls -alR
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 user user 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 user user 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..
-rw-------  1 user user 252076021760 Jun  9 21:11 backup.tar

Teraz, jeśli masz pusty dysk i chcesz go zamontować dla „użytkownika” jako rozszerzenia „przestrzeni dyskowej użytkownika”, zamontuj dysk jako root, zmień katalog główny montowania na „user” i odmontuj.

Następnym razem, gdy system plików zostanie podłączony (przez roota lub inną osobę zgodnie z fstab), właścicielem montowania będzie „użytkownik”.

użytkownik555425
źródło
3

Możesz także biegać

sudo chmod 0777 /home/storage

Ponieważ dyski FAT nie mają uprawnień, Linux stosuje zezwolenie punktu montowania na cały dysk.

Zane Hooper
źródło
1
Nigdy nie stosuj uprawnień R + W + X dla każdego użytkownika. Pozwoliłoby to każdemu lub cokolwiek uzyskać dostęp, wykonywać, usuwać, modyfikować pamięć i jej zawartość ....
Angry 84
1
W większości systemów operacyjnych napędy USB są montowane, aby każdy użytkownik mógł modyfikować zawartość. Jeśli jesteś administratorem serwera w sytuacji, w której może to być problem, nie muszę ci mówić, co oznacza 0777.
Zane Hooper,
Dyski nigdy nie są domyślnie montowane, aby zezwalać wszystkim użytkownikom, dlatego mają grupy i uprawnienia. Tak czy inaczej, zawsze bezpieczniej jest pokazywać lepszy mod bezpieczeństwa, ponieważ ludzie będą po prostu kopiować i wklejać bez wiedzy
Angry 84
-1

Jeśli masz zewnętrzne urządzenie magazynujące podłączone do twojego Linux-a z NTFS, upewnij się, że system plików jest czysty.

Przed zamontowaniem pamięci do urządzenia z systemem Linux:

  1. Uruchom poniższe polecenie

    ntfsfix /dev/storagedevice ( like sdb1 or sdc1 )  
    
  2. Uruchom ponownie swój system Linux

  3. Podłącz pamięć zewnętrzną, uruchamiając polecenie:

    mount -o rw /dev/storagedevice /media/ 
    

    lub

    mount -o rw /dev/storagedevice /mnt/ 
    

    lub zamontuj urządzenie magazynujące za pomocą GUI.

Witalij
źródło