Nie można zmienić uprawnień / własności / grupy zewnętrznego dysku twardego na Ubuntu

12

Mam zewnętrzny dysk twardy podłączony do mojego Linux-a. Chciałem skonfigurować serwer WWW do uzyskiwania dostępu do plików na nim, ale uprawnienia do wszystkich plików i katalogów na dysku są rwxdla właściciela, który jest moim lokalnym loginem, a grupa jest rootgrupą.

Potrzebuję plików czytelnych dla użytkownika apache, próbowałem ustawić wszystkie pliki chmod a+rwx -R *, ale to nic nie robi (nie daje błędów, po prostu nie ma efektu.) Próbowałem zmienić grupę chgrpna moją grupę użytkowników, ale to też nie zadziała, daje mi błędy, że nie mam uprawnień, nawet gdy uruchamiam wszystkie te polecenia jako sudo!

O co chodzi z tym dyskiem twardym ??? sudo chmod a+rwx *powinienem na coś popracować, prawda?

MikeN
źródło

Odpowiedzi:

19

Sprawdź typ systemu plików, którego używa najpierw df -T:

sys @ p: ~ $ df -T
Typ systemu plików Zastosowano bloki 1K Dostępne Użyj% Zainstalowane
ext3 ext3 19222656 1050948 17195164 6% /
tmpfs tmpfs 1684988 0 1684988 0% / lib / init / rw
udev tmpfs 10240 64 10176 1% / dev
tmpfs tmpfs 1684988 0 1684988 0% / dev / shm

Jeśli jest zamontowany na /mnt/externalprzykład, zobaczysz to w skrajnie prawej kolumnie. Typ systemu plików można zobaczyć w drugiej kolumnie. Jeśli jest to NTFS, będziesz chciał NTFS-3G (prawdopodobnie już zainstalowany, jeśli nie sudo apt-get install ntfs-configwtedy gksu ntfs-config). Linux ma już wsparcie FAT dla odczytu i zapisu, chociaż nie obsługują uprawnień .

Jeśli chcesz zamontować partycję NTFS z prawem własności stosowanym do określonego użytkownika / grupy, określ ją w przełącznikach montowania:

mount -o uid = nazwa użytkownika, gid = nazwa grupy / dev / sdc / path / to / mount

Jeśli zmienisz na ext3, jak sugerowano powyżej, możesz użyć chown:

chown -R user *
chown -R user .
John T.
źródło
4

Jak powiedział Kim, otrzymasz tylko uprawnienia Unix i prawo własności do systemu plików Unix. ext3 jest dobrym kandydatem.

Jeśli musisz użyć tego dysku bez ponownego formatowania, możesz to zrobić za pomocą opcji mountpolecenia określających właściciela, grupę i / lub uprawnienia do odczytu / zapisu. Te opcje wpływają na wszystkie pliki na dysku (zobacz odpowiedź Johna T, jak określić FSTYPE):

# list files as owned by X, use numerical UID as found in /etc/passwd
$ mount -t <FSTYPE> -o uid=X /dev/?? /path/to/mount/point

# list files as owned by group Y, use numerical GID found in /etc/passwd
$ mount -t <FSTYPE> -o gid=Y /dev/?? /path/to/mount/point

# list files as accessible per umask 
#   (022 gives rwx permissions to owner, r-x permissions to everyone else)
$ mount -t <FSTYPE> -o umask=022 /dev/?? /path/to/mount/point

# combine all of the above:
$ mount -t <FSTYPE> -o uid=X,gid=Y,umask=022 /dev/?? /path/to/mount/point
quack quixote
źródło
2

Zrobiłem to i zadziałało:

sudo umount /dev/sda3 /media/windows1
sudo umount /dev/sda5 /media/windows2

i wtedy

sudo mount -o rwx /dev/sda3 /media/windows1
sudo mount -o rwx /dev/sda5 /media/windows2

Należy zauważyć, że używam Ubuntu 11.10 i sda3jest mój system Windows C:, sda5jest G:.

arvash
źródło
2

Miałem więc trochę czasu, ponieważ miałem kopie zapasowe z wielu komputerów na tym samym dysku. Musiałem zainstalować narzędzia hdfsplus (hfsprogs), następnie zamontować dysk, a na koniec zmienić własność odpowiednich folderów przy użyciu nazwy użytkownika i grupy.

Uwaga: możesz wymienić punkty montowania i urządzenia, pisząc mountna terminalu.

Pierwszy:

sudo apt-get install hfsprogs

Następnie odmontuj dysk, jeśli został już zamontowany:

sudo umount /media/user/mount_point

(Re) Zamontuj dysk, używając następujących argumentów:

sudo mount -t hfsplus -o force,rw /dev/sdb# /media/user/mount_point

Przejdź do katalogu zawierającego problematyczne foldery. Następnie wykonaj:

chmod -R your_user_group:your_user_name ./target_directory

Mam nadzieję, że to pomaga.

Gopherkhan
źródło
To jest jedyne z rozwiązań, które działały dla mnie. Próbowałem wszystkich innych. Dzięki!
SolStack
1

Prawdopodobnie jest sformatowany jako FAT, który nie obsługuje uprawnień do plików. Zamiast tego użyj ext3.

Kim
źródło