Não é possível montar a pasta compartilhada vbox sem sudo: “desconhecido mount option 'user'”

2

Estou tentando definir uma pasta compartilhada do VirtualBox montável por qualquer usuário, então esta é a linha que eu coloquei em /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 opção user , então, serei forçado a usar sudo , mas pelo menos o proprietário do ponto de montagem será atribuído corretamente. O que estou fazendo errado aqui?

Observe que isso pode ser duplicado para Montar uma pasta compartilhada VBox como usuário , mas eu realmente tentei uma opção que era deveria funcionar.

    
por astrojuanlu 26.10.2014 / 16:39

3 respostas

1

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

O cheque para ser executado sob a conta root é feito imediatamente no main () no início do programa, e antes que os parâmetros fossem processados, antes que o parâmetro user fosse detectado ou processado.

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

Você deve sinalizar esse bug para os desenvolvedores do VirtualBox.
O fórum correto parece ser o VirtualBox em hosts Linux (é necessário fazer login).

    
por 28.10.2014 / 19:18
1

Como gentilmente respondeu nos fóruns de suporte ao usuário do VirtualBox , as pastas compartilhadas do vbox não são realmente < em> devices (se eles estivessem, eles estariam sob /dev/ ) e portanto a opção "user" entre outros não é aplicável . Consequentemente, 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 a partir de /etc/rc.local e personalizar as opções de montagem. Isso é semelhante ao automount, mas permite configurar máscaras e permissões adequadas para a pasta, conforme explicado aqui . No entanto, observe que esta página está incompleta porque aponta para a página mount man para listar a lista de opções disponíveis, mas, na verdade, algumas delas não são aplicáveis, como visto acima .

    
por 29.10.2014 / 07:55
0

Você não precisa necessariamente da opção user em /etc/fstab para permitir que usuários comuns montem um sistema de arquivos.

Outra opção é configurar sudo para permitir essa ação, com ou sem a solicitação da senha do usuário em execução.

De man sudoers :

Authentication and logging

The sudoers security policy requires that most users authenticate themselves before they can use sudo. A password is not required if the invoking user is root, if the target user is the same as the invoking user, or if the policy has disabled authentication for the user or command.

Tag_Spec

[...]

NOPASSWD and PASSWD

By default, sudo requires that a user authenticate him or herself before running a command. This behavior can be modified via the NOPASSWD tag. Like a Runas_Spec, the NOPASSWD tag sets a default for the commands that follow it in the Cmnd_Spec_List. Conversely, the PASSWD tag can be used to reverse things. For example:

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

would allow the user ray to run /bin/kill, /bin/ls, and /usr/bin/lprm as root on the machine rushmore without authenticating himself.

Portanto, uma linha como esta em /etc/sudoers permitirá que qualquer usuário monte o sistema de arquivos especificado sem digitar nenhuma senha:

ALL ALL = NOPASSWD: /bin/mount mint

Então, sudo mount mint deve funcionar como um usuário comum.

    
por 01.11.2014 / 21:22