Eu resolvi usar pmount
. Depois que encontrei essa ferramenta, ela parecia a solução mais simples para mim (sem sudoers
edits, sem fstab
stuff, nothing).
pmount
- mount arbitrary hotpluggable devices as normal userpmount
("policy mount") is a wrapper around the standardmount
program which permits normal users to mount removable devices without a match-ing /etc/fstab entry.
Como diz o manual, no Debian, a permissão para executar pmount
é restrita a membros do grupo de sistemas plugdev
. Eu tive que executar o seguinte comando uma vez vis SSH, para adicionar o Apache para o grupo plugdev
:
sudo adduser www-data plugdev
Eu reiniciei o Apache e agora posso montar e desmontar meus drives USB do PHP sem sudo
:
exec('pmount /dev/sda1 usb_flash'); // Mounted on /media/usb_flash
exec('ls -al /media/usb_flash'); // List files, owned by www-data:600
exec('pumount usb_flash'); // Unmounted