Não é possível montar a pasta compartilhada vbox sem sudo: “opção de montagem desconhecida `usuário'”

Não é possível montar a pasta compartilhada vbox sem sudo: “opção de montagem desconhecida `usuário'”

Estou tentando definir uma pasta compartilhada do VirtualBox montável por qualquer usuário, então esta é a linha que coloquei /etc/fstab:

# mint shared folder
mint /media/sf_mint vboxsf defaults,user,uid=1000,gid=999 0 0

No entanto, recebo esta mensagem de erro:

juanlu@minted ~ $ mount mint
Only root can mount shared folders from the host.
juanlu@minted ~ $ sudo !!
sudo mount mint
unknown mount option `user'
valid options:
  rw         mount read write (default)
  ro         mount read only
  uid       =<arg> default file owner user id
  gid       =<arg> default file owner group id
  ttl       =<arg> time to live for dentry
  iocharset =<arg> i/o charset (default utf8)
  convertcp =<arg> convert share name from given charset to utf8
  dmode     =<arg> mode of all directories
  fmode     =<arg> mode of all regular files
  umask     =<arg> umask of directories and regular files
  dmask     =<arg> umask of directories
  fmask     =<arg> umask of regular files

Se eu remover a useropção, serei forçado a usá-la, sudomas pelo menos o proprietário do ponto de montagem será atribuído corretamente. O que estou fazendo de errado aqui?

Observe que isso pode ser duplicado paraMontando uma pasta compartilhada VBox como usuário, mas na verdade tentei uma opção que deveria funcionar.

Responder1

Comogentilmente respondido nos fóruns de suporte ao usuário do VirtualBox, as pastas compartilhadas do vbox não são realmentedispositivos(se fossem, estariam abaixo de /dev/) eportanto a opção "usuário"entre outrosnão é aplicável. Conseqüentemente, não é possível permitir que usuários não administradores montem manualmente a pasta compartilhada.

No entanto, ainda existe a possibilidade de montar automaticamente o vboxsf /etc/rc.locale personalizar as opções de montagem. Isso é semelhante ao automount, mas permite definir máscaras e permissões adequadas para a pasta,como explicado aqui. Observe, porém, que esta página éincompletona medida em que aponta para a mountpágina de manual para listar a lista de opções disponíveis, mas, na verdade, algumas delas não são aplicáveis, como visto acima.

Responder2

Isso parece um bug no arquivo do programamontagem.vboxsf.c, que faz parte do VirtualBox Guest Additions para Linux, e acredito que você não está fazendo nada de errado.

A verificação de execução na conta root é feita imediatamente em main() no início do programa, e antes dos parâmetros serem processados, ou seja, antes do userparâmetro ser detectado ou processado.

A verificação deveria ter sido feita muito mais tarde, após o ID de usuário efetivo do processo (ou sua bifurcação) ter sido alterado para a conta de usuário especificada.

Você deve sinalizar esse bug para os desenvolvedores do VirtualBox.
O fórum certo parece serVirtualBox em hosts Linux(login necessário).

Responder3

Você não precisa necessariamente da useropção /etc/fstabpara permitir que usuários comuns montem um sistema de arquivos.

Outra opção é configurar sudopara permitir esta ação, com ou sem solicitação da senha do usuário executor.

De man sudoers:

Autenticação e registro

A política de segurança do sudoers exige que a maioria dos usuários se autentique antes de poder usar o sudo. Uma senha não será necessária se o usuário que fez a chamada for root, se o usuário de destino for o mesmo que o usuário que fez a chamada ou se a política tiver desabilitado a autenticação para o usuário ou comando.

Tag_Spec

[...]

NOPASSWD e PASSWD

Por padrão, o sudo exige que o usuário se autentique antes de executar um comando. Este comportamento pode ser modificado através da tag NOPASSWD. Assim como Runas_Spec, a tag NOPASSWD define um padrão para os comandos que a seguem em Cmnd_Spec_List. Por outro lado, a tag PASSWD pode ser usada para reverter as coisas. Por exemplo:

ray rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm

permitiria ao usuário ray executar /bin/kill, /bin/ls e /usr/bin/lprm como root na máquina rushmore sem se autenticar.

Portanto, uma linha como esta /etc/sudoerspermitirá que qualquer usuário monte o sistema de arquivos especificado sem inserir nenhuma senha:

ALL ALL = NOPASSWD: /bin/mount mint

Então sudo mount mintdeve funcionar como um usuário comum.

informação relacionada