Ao montar um volume como um usuário comum, você só precisa fornecer o nome do ponto de montagem, ou seja:
mount /mnt/sdcard
O arquivo /etc/fstab
fornece o dispositivo que será usado.
Eu preciso permitir que um usuário não raiz monte / desmonte um dispositivo. Eu sou um noob total quando se trata de UNIX, então por favor, mude para mim.
Estou procurando em todo o interwebz para encontrar uma resposta e parece que todo mundo está dando o mesmo, que é modificar /etc/fstab
para incluir esse dispositivo com a opção user
(ou users
, tentei ambos). Eu fiz isso e ainda diz mount: only root can do that
.
Aqui está o conteúdo do meu fstab:
# /etc/fstab: static file system information. # # Use 'vol_id --uuid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # proc /proc proc defaults 0 0 # / was on /dev/mapper/minicc-root during installation UUID=1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 relatime,errors=remount-ro 0 1 # /boot was on /dev/sda5 during installation UUID=038498fe-1267-44c4-8788-e1354d71faf5 /boot ext2 relatime 0 2 # swap was on /dev/mapper/minicc-swap_1 during installation UUID=0bb583aa-84a8-43ef-98c4-c6cb25d20715 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/scd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 /dev/sdb1 /mnt/sdcard auto auto,user,rw,exec 0 0
Minha partição do pen drive aparece como /dev/sdb1
. Tenho certeza de que meu fstab
está configurado, mas todos os outros posts parecem deixar de mencionar como eles realmente chamam o comando mount
quando essa entrada está no arquivo fstab. Eu acho que é aí que meu problema pode estar. O comando que eu uso para montar a unidade é:
$ mount /dev/sdb1 /mnt/sdcard
/bin/mount
é de propriedade de root e está no grupo raiz e possui 4755 permissões.
/bin/umount
é de propriedade de root e está no grupo raiz e tem 4755 permissões.
/mnt/sdcard
é de propriedade por mim e está em um dos meus grupos e tem 0755 permissões.
Meu comando de montagem funciona bem se eu usar sudo
, mas eu preciso ser capaz de fazer isso sem sudo
(precisa ser capaz de fazer isso a partir de um script PHP usando shell_exec
). Alguma sugestão?
Tente alterar a propriedade de /dev/sdb1
para raiz:
chown root:root /dev/sdb1
e sua linha fstab
para
/dev/sdb1 /mnt/sdcard auto rw,user,noauto,exec,utf8 0 0
E faça seu mount
assim:
mount /dev/sdb1
Eu acho que a opção auto faz a bagunça. Substitua-o pelo noauto.