Bonjour,
J'ai fait de nouveaux essais.
/var/www/admin/test.php
Code :
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8"/>
- <title>test</title>
- </head>
- <body>
- <?php
- // Chemin du point de montage
- $mountPoint = "/mnt/cle";
- // Chemin du périphérique USB
- $usbDevice = "/dev/sdb1";
- // Commande pour monter la clé USB
- $command = "sudo mount $usbDevice $mountPoint 2>&1";
- // Exécution de la commande et capture de la sortie
- $output = [];
- $exitCode = 0;
- exec($command, $output, $exitCode);
- // Vérification du code de sortie de la commande
- if ($exitCode === 0) {
- echo "La clé USB a été montée avec succès.";
- } else {
- echo "Erreur lors du montage de la clé USB:";
- foreach ($output as $line) {
- echo "<br>$line";
- }
- }
- ?>
- </body>
- </html>
|
Résultat :
Erreur lors du montage de la clé USB:
mount: /mnt/cle: /dev/sdb1 already mounted on /mnt/cle
Le répertoire /mnt/cle est vide.
Le fichier /etc/mtab ne mentionne pas /dev/sdb1
Si je lance :
Code :
- if [[ $(findmnt /mnt/cle) ]]; then
- echo "La clé est montée"
- else
- echo "La clé n'est pas montée"
- fi
|
Résultat :
La clé n'est pas montée.
Edit :
j'ai modifié /etc/sudoers
Code :
- root ALL=(ALL:ALL) ALL
- www-data ALL=NOPASSWD: /root/bash/monterCle.sh start
- www-data ALL=(ALL) NOPASSWD: /bin/mount
- www-data ALL=(ALL) NOPASSWD: /bin/umount
|
Aucun changement
Edit :
avec putty
www-data@serveuratelier:~$ sudo mount /dev/sdb1 /mnt/cle
ça fonctionne, la clé est montée.
Avec ma page php, que la clé soit déjà monté ou pas, j'obtiens toujours :
Erreur lors du montage de la clé USB:
mount: /mnt/cle: /dev/sdb1 already mounted on /mnt/cle.
J'ai modifié /etc/sudoers
Code :
- root ALL=(ALL:ALL) ALL
- www-data ALL=NOPASSWD: /usr/bin/mount
- www-data ALL=NOPASSWD: /usr/bin/umount
|
Message édité par kewan le 21-01-2024 à 13:20:41