Impossible de changer l'autorisation / la propriété / le groupe de disque dur externe sur Ubuntu

12

J'ai un disque dur externe connecté à ma box Linux. Je voulais configurer un serveur Web pour accéder aux fichiers sur celui-ci, mais l'autorisation sur tous les fichiers et répertoires sur le lecteur est rwxpour le propriétaire qui est ma connexion locale, et le groupe est le rootgroupe.

J'ai besoin que les fichiers soient lisibles par l'utilisateur apache, j'essayais de définir tous les fichiers chmod a+rwx -R *, mais cela ne fait rien (ne donne aucune erreur, n'a aucun effet.) J'ai essayé de changer le groupe en utilisant chgrpmon groupe d'utilisateurs, mais cela ne fonctionnera pas non plus, cela me donne des erreurs qui me manquent de permission même lorsque j'exécute toutes ces commandes comme sudo!

Quoi de neuf avec ce disque dur ??? sudo chmod a+rwx *devrait travailler sur quoi que ce soit, non?

MikeN
la source

Réponses:

19

Vérifiez d'abord le type de système de fichiers qu'il utilise avec df -T:

sys @ p: ~ $ df -T
Type de système de fichiers Blocs 1K utilisés disponibles disponibles% montés sur
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

S'il est monté /mnt/externalpar exemple, vous le verrez dans la colonne la plus à droite. Vous pouvez voir le type de système de fichiers dans la deuxième colonne. Si c'est NTFS, vous voudrez NTFS-3G (probablement déjà installé, sinon sudo apt-get install ntfs-configalors gksu ntfs-config). Linux a déjà un support FAT pour la lecture et l'écriture bien qu'ils ne prennent pas en charge les autorisations .

Si vous souhaitez qu'une partition NTFS montée avec propriété soit appliquée à un utilisateur / groupe spécifique, spécifiez-la dans les commutateurs de montage:

mount -o uid = nom d'utilisateur, gid = groupname / dev / sdc / path / to / mount

Si vous passez à ext3 comme suggéré ci-dessus, vous pouvez utiliser chown:

chown -R user *
chown -R user .
John T
la source
4

Comme l'a dit Kim, vous n'obtiendrez que les autorisations et la propriété Unix sur un système de fichiers Unix. ext3 est un bon candidat.

Si vous devez utiliser ce lecteur sans reformater, vous pouvez le faire avec des options de la mountcommande qui spécifient le propriétaire, le groupe et / ou les autorisations de lecture / écriture. Ces options affectent tous les fichiers sur le lecteur (voir la réponse de John T pour savoir comment déterminer le 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 Quichotte
la source
2

Je l'ai fait et ça a marché:

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

puis

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

Notez que j'utilise Ubuntu 11.10 et sda3est mon Windows C:, sda5est G:.

arvash
la source
2

Donc, j'ai eu un peu de temps, car j'avais des sauvegardes de plusieurs machines sur le même lecteur. J'ai dû installer les utilitaires hdfsplus (hfsprogs), puis monter le lecteur et enfin changer la propriété des dossiers pertinents en utilisant à la fois le nom d'utilisateur et le nom du groupe.

Remarque: vous pouvez répertorier les points de montage et les périphériques en tapant simplement mountsur le terminal.

Première:

sudo apt-get install hfsprogs

Démontez ensuite votre disque s'il a déjà été monté:

sudo umount /media/user/mount_point

(Re) Montez le lecteur à l'aide des arguments suivants:

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

Accédez au répertoire contenant les dossiers problématiques. Alors fais:

chmod -R your_user_group:your_user_name ./target_directory

J'espère que cela pourra aider.

Gopherkhan
la source
C'est la seule des solutions qui a fonctionné pour moi. J'ai essayé tous les autres. Merci!
SolStack
1

Il est probablement formaté en FAT, qui ne prend pas en charge les autorisations de fichier. Utilisez plutôt ext3.

Kim
la source