UNIX - mount: somente o root pode fazer isso

15

Preciso permitir que um usuário não root monte / desmonte um dispositivo. Eu sou um noob total no que diz respeito ao UNIX, então, por favor, faça o menor para mim.

Eu tenho procurado por toda a Internet para encontrar uma resposta e parece que todo mundo está dando a mesma, que é para modificar /etc/fstabpara incluir esse dispositivo com a useropção (ou users, tentei as duas). Eu fiz isso e ainda diz mount: only root can do that.

Aqui está o conteúdo do meu fstab:

# / etc / fstab: informações estáticas do sistema de arquivos.
#
# Use 'vol_id --uuid' para imprimir o identificador universalmente exclusivo de um
# dispositivo; isso pode ser usado com UUID = como uma maneira mais robusta de nomear dispositivos
# que funciona mesmo se os discos forem adicionados e removidos. Veja fstab (5).
#
#                
proc / proc proc padrões 0 0
# / esteve em / dev / mapper / minicc-root durante a instalação
Relação UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3, erros = remount-ro 0 1
# / boot estava em / dev / sda5 durante a instalação
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 relacionime 0 2
# swap estava em / dev / mapper / minicc-swap_1 durante a instalação
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 nenhum swap de troca 0 0
/ dev / scd0 / media / cdrom0 udf, usuário iso9660, noauto, exec, utf8 0 0
/ dev / scd0 / media / floppy0 auto rw, usuário, noauto, exec, utf8 0 0
/ dev / sdb1 / mnt / sdcard auto automático, usuário, rw, exec 0 0

Minha partição do pen drive aparece como /dev/sdb1. Tenho certeza de que minha fstabconfiguração está correta, mas todos os outros posts parecem não mencionar como realmente chamam o mountcomando quando essa entrada está no arquivo fstab. Eu acho que é onde meu problema pode estar. O comando que eu uso para montar a unidade é:

$ mount /dev/sdb1 /mnt/sdcard

/bin/mountpertence à raiz e está no grupo raiz e possui 4755 permissões.
/bin/umountpertence à raiz e está no grupo raiz e possui 4755 permissões.
/mnt/sdcardpertence a mim e está em um dos meus grupos e possui permissões 0755.

Meu comando mount funciona bem se eu usar sudo, mas preciso fazer isso sem sudo(precisa fazê-lo a partir de um script PHP usando shell_exec). Alguma sugestão?

Travesty3
fonte
11
Por favor, não use expressões como "a interwebz", isso é apenas uma distração.
Georg Schölly 25/05
9
Eu preferiria ver "a interwebz" injetada com humor e personalidade do que ver alguém usar "u", "ur", "any1" e coisas semelhantes por preguiça e ignorância. Meu argumento é que há uma diferença e é aparente com base no contexto.
Pausado até novo aviso.

Respostas:

17

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 /etc/fstabarquivo fornece o dispositivo que será usado.

Kevin Panko
fonte
2
Ou você pode montar o dispositivo e fstabfornecerá o ponto de montagem.
Pausado até novo aviso.
AHA! Imaginei que haveria algo errado com minha sintaxe de comando. Tão feliz que era algo simples. Obrigado!!! Atribuir a resposta a este post, pois era a solução mais direta e descritiva para o MEU problema, embora a resposta de Dennis também sugerisse isso e também teria resolvido o problema.
Travesty3
7

Tente alterar a propriedade de /dev/sdb1para root:

chown root:root /dev/sdb1

e sua fstablinha para

/dev/sdb1   /mnt/sdcard auto    rw,user,noauto,exec,utf8   0   0

E faça mountassim:

mount /dev/sdb1
Pausado até novo aviso.
fonte
Obrigado pela resposta! Sua solução também teria resolvido o problema e, esperançosamente, outras pessoas que lerem este post também serão ajudadas por outras sugestões. Obrigado novamente!
Travesty3
-1

Acho opção automática faz a bagunça. Substitua-o com nenhum auto.

gogiel
fonte
observe que esse é o "auto" em "auto, usuário, rw, exec", não o "auto" autônomo. o "auto" independente é para detectar o sistema de arquivos a ser usado e deve estar bem.
quack quixote
não, mesmo problema. alterei para / dev / sdb1 / mnt / sdcard auto noauto, user, rw, exec 0 0. não tenho certeza se era necessário ou não, mas como este é um servidor dev e eu posso, reiniciei o computador após modificar o arquivo fstab, sem sucesso. obrigado pela sugestão, continue chegando!
Travesty3