J'ai installé le système Ubuntu sur un disque SS et je souhaite que les utilisateurs accèdent aux partitions du deuxième disque (mécanique) en tant que dépôts courants avec des autorisations de lecture/écriture/suppression complètes pour chaque fichier. Et je souhaite que chaque utilisateur voie une telle partition (par exemple/dev/sdb7) comme un répertoire avec un nom fixe (par exemple/home/the_user/F). On m'a conseillé ( Est-il possible de monter une partition en tant que dépositaire commun pour les utilisateurs ayant le même chemin relatif? ) pour monter la partition lors du démarrage et pour créer un lien symbolique entre ce point de montage et quelque part dans la maison de l'utilisateur. Cependant, dans le manuel de
lien
‘-D’ ‘- F’ ‘- directory’ Autorisez les utilisateurs disposant des privilèges appropriés à tenter de créer des liens difficiles Avec des répertoires. Toutefois, notez que cela échouera probablement En raison de restrictions du système, même pour le super-utilisateur.
Vous n'avez pas besoin d'utiliser de liens physiques. En fait, nous ne pouvons pas créer de lien physique vers un répertoire car il crée une boucle dans la hiérarchie du système de fichiers.
Vous devez utiliser l'option -s
pour créer un lien symbolique (lien symbolique):
Disons que j'ai monté /dev/sda7
sur /media/some/mount/point
. Pour créer un lien vers ce chemin, je dois exécuter:
ln -s [target] [symlink]
Comme:
ln -s /media/some/mount/point /home/username/F
L'autorisation de link serait de 777, mais un lien symbolique est un fichier différent de votre répertoire réel. Il accorde uniquement l'accès au lien symbolique lui-même et l'utilisateur doit disposer des autorisations appropriées pour pouvoir utiliser les fichiers de /media/some/mount/point
.
En ce qui concerne votre préoccupation concernant la liaison au répertoire monté, il semble que vous ayez simplement trouvé le mauvais programme. Selon votre message, il vous a été conseillé de créer des liens symboliques (c'est-à-dire des liens symboliques). Cependant, la commande link
ne crée que des liens durs. Pour créer des liens symboliques, vous pouvez utiliser la commande ln
à la place, par exemple:
ln -s /path/to/mount/point /home/the_user/F
En ce qui concerne l’accès partagé, vous pouvez le configurer à l’aide de ACL (listes de contrôle d’accès), par exemple:
Sudo setfacl -Rm g:mount-group:rwx /path/to/mount/point
Sudo setfacl -Rdm g:mount-group:rwx /path/to/mount/point
Pour montrer à quoi cela pourrait ressembler et vous donner un point de départ pour expérimenter, voici un exemple plus long: bind-monte un répertoire (vous devez le remplacer par le montage que vous souhaitez), définit sa propriété et ses autorisations (avec listes de contrôle), puis crée un lien symbolique vers ce répertoire dans un autre répertoire:
# Create a group to own the shared mount
Sudo groupadd mount-group
# Create a user that belongs to this group
Sudo adduser mount-user
Sudo usermod -a -G mount-group mount-user
# Create a directory to mount
mkdir /tmp/mount-source
# Create the mount-point
mkdir /tmp/mount-target
# Bind-mount the directory onto the mount point
Sudo mount --bind /tmp/mount-source /tmp/mount-target
# Set the group owner for the mounted volume
Sudo chown :mount-group /tmp/mount-target
# Set the group permissions to match the user permissions
Sudo chmod -R g=u /tmp/mount-target
# Set the setgid bit on the mounted volume
Sudo chmod g=u,g+s /tmp/mount-source
# Set the ownership and permissions for the mounted volume using an ACL
Sudo setfacl -Rm g:mount-group:rwx /tmp/mount-target
# Set the default ownership and permissions for files created inside the mount-point
Sudo setfacl -Rdm g:mount-group:rwx /tmp/mount-target
# Login as the test user
su -l mount-user
# Link a subdirectory inside the user's home folder to the mounted volume
ln -s /tmp/mount-target ~/link-to-mount-target
# Create a new file inside the mounted volume
echo 'Hello world!' > ~/link-to-mount-target/hello.txt
# Check the permissions on the new file
getfacl ~/link-to-mount-target/hello.txt
Je pense que votre question appelle une double réponse: d’abord sur le montage de l’appareil dans le système de fichiers et d’autre part sur la liaison d’un emplacement de destination.
Les explications suivantes nécessitent un programme terminal (raccourci clavier: Ctrl+Alt+t) pour taper les commandes dans.
Vous aurez également besoin d'un privilège de superutilisateur. En règle générale (en tant que premier utilisateur après la nouvelle installation), vous obtenez les privilèges en tapant Sudo
à l’avant de la commande. Après cela (généralement, si vous êtes le premier utilisateur après la nouvelle installation), vous devez fournir votre propre mot de passe avant l'exécution de la commande.
Votre disque dur (le disque "mécanique") doit déjà être connecté à votre ordinateur et formaté correctement avec un système de fichiers (comme ntfs ou ext4).
Attention! En modifiant votre fichier fstab, vous travaillez sur des internes qui peuvent empêcher votre ordinateur de démarrer. Ce n'est pas un dommage permanent, mais il faudra du temps et des compétences pour le réparer. Travailler avec elle avec soin.
Si vous avez des doutes sur l'un des prérequis ci-dessus, veuillez demander dans le commentaire.
Le montage des disques au démarrage est effectué dans le fichier /etc/fstab
. Pour cela, vous devez connaître l’UUID de votre disque "mécanique" ou au moins son nom dans le répertoire /dev
.
Recherchez l'UUID et le nom (similaire à /dev/sdb5
) de votre disque:
ls -l /dev/disk/by-uuid
Il sera listé ici. Déterminez maintenant le système de fichiers. Il sera répertorié dans la dernière colonne de la ligne appropriée de
Sudo fdisk -l | less
Ensuite, choisissez le chemin de montage et créez-le:
Sudo mkdir -p /media/shareddrv
Connaissant l'UUID du disque, son nom et le type de système de fichiers, votre ligne de configuration pour /etc/fstab
se présente comme suit:
UUID=481aba75-c8a7-4b70-bdc4-fab4de7c1410 /media/shareddrv ext4 errors=remount-ro 0 2
où UUID=481aba75-c8a7-4b70-bdc4-fab4de7c1410
peut être quelque chose comme /dev/sdb5
si vous avez des problèmes pour déterminer ce qu'est l'UUID. La partie /media/shareddrv
correspond à l'emplacement que vous avez choisi et ext4
correspond au type de partition et diffère en fonction du disque. Le reste reste de préférence tel quel.
Vous devez ajouter cette ligne entière à votre /etc/fstab
. Comme il existe de nombreuses façons de le faire, une solution très pratique consiste à utiliser Sudo nano /etc/fstab
et à taper/coller la ligne à la fin du fichier.
Maintenant, faites en sorte que vos modifications fonctionnent pour vous: la méthode la plus simple consiste à redémarrer votre ordinateur (par exemple, Sudo init 6
ou Sudo shutdown -h now
). Si tout fonctionne, vous verrez votre disque "mécanique" et son point de montage après avoir tapé: df -h
dans le terminal.
Cette partie peut être réalisée utilisateur après utilisateur, semi-manuellement. Pour un utilisateur "alice", lancez:
TMPUNAME=alice; Sudo -u $TMPUNAME ln -s /media/shareddrv /home/$TMPUNAME/F
Et répétez ceci pour chaque utilisateur. À la fin, vous pouvez unset TMPUNAME
mais pas nécessairement.
J'espère que tout fonctionne pour vous. Si vous trouvez ce mini-tutoriel utile, veuillez relire ma réponse et la marquer comme utile. Je vous remercie! Posez également plus de questions si quelque chose n'est pas clair ou ne fonctionne pas!