sudo 없이 vbox 공유 폴더를 마운트할 수 없습니다: "알 수 없는 마운트 옵션 `user'"

sudo 없이 vbox 공유 폴더를 마운트할 수 없습니다: "알 수 없는 마운트 옵션 `user'"

모든 사용자가 마운트할 수 있는 VirtualBox 공유 폴더를 설정하려고 하므로 다음 줄을 입력합니다 /etc/fstab.

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

그러나 다음과 같은 오류 메시지가 나타납니다.

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

옵션 을 제거하면 user강제로 사용해야 sudo하지만 적어도 마운트 지점의 소유자는 제대로 할당됩니다. 내가 여기서 뭘 잘못하고 있는 걸까?

다음과 중복될 수 있습니다.VBox 공유 폴더를 사용자로 마운트, 그러나 실제로는 작동할 것으로 예상되는 옵션을 시도했습니다.

답변1

처럼VirtualBox 사용자 지원 포럼에서 친절하게 답변해 드렸습니다., vbox 공유 폴더는 실제로는 아닙니다장치(그렇다면 아래에 있을 것입니다 /dev/) 그리고따라서 "사용자" 옵션무엇보다도해당되지 않습니다. 따라서 관리자가 아닌 사용자가 공유 폴더를 수동으로 마운트하도록 허용하는 것은 불가능합니다.

그러나 vboxsf를 자동으로 마운트 /etc/rc.local하고 마운트 옵션을 사용자 정의할 수 있는 가능성은 여전히 ​​있습니다. 이는 자동 마운트와 유사하지만 폴더에 적절한 마스크와 권한을 설정할 수 있습니다.여기에 설명된 대로. 이 페이지는불완전한사용 가능한 옵션 목록을 나열하기 위해 매뉴얼 페이지 를 가리키지만 mount실제로 위에서 볼 수 있듯이 일부 옵션은 적용할 수 없습니다.

답변2

프로그램 파일의 버그인 것 같습니다.mount.vboxsf.c, 이는 Linux용 VirtualBox Guest Additions의 일부이며 귀하가 잘못한 것은 없다고 생각합니다.

루트 계정으로 실행되는지 확인하는 작업은 프로그램 시작 시 main()에서 즉시 이루어지며, 매개변수가 처리되기 전, 즉 매개 user변수가 감지되거나 처리되기 전입니다.

프로세스(또는 해당 포크)의 유효 사용자 ID가 지정된 사용자 계정으로 변경된 후 훨씬 나중에 확인이 수행되어야 합니다.

VirtualBox 개발자에게 이 버그를 알려야 합니다.
올바른 포럼은 다음과 같습니다.Linux 호스트의 VirtualBox(로그인이 필요합니다).

답변3

일반 사용자가 파일 시스템을 마운트하도록 허용하기 위해 반드시 user옵션이 필요한 것은 아닙니다 ./etc/fstab

sudo또 다른 옵션은 실행 중인 사용자의 비밀번호를 묻거나 묻지 않고 이 작업을 허용하도록 구성하는 것입니다 .

에서 man sudoers:

인증 및 로깅

sudoers 보안 정책에 따르면 대부분의 사용자는 sudo를 사용하기 전에 자신을 인증해야 합니다. 호출하는 사용자가 루트이거나, 대상 사용자가 호출하는 사용자와 동일하거나, 정책이 사용자 또는 명령에 대한 인증을 비활성화한 경우 비밀번호가 필요하지 않습니다.

태그_사양

[...]

NOPASSWD 및 PASSWD

기본적으로 sudo에서는 사용자가 명령을 실행하기 전에 자신을 인증해야 합니다. 이 동작은 NOPASSWD 태그를 통해 수정할 수 있습니다. Runas_Spec과 마찬가지로 NOPASSWD 태그는 Cmnd_Spec_List에서 그 뒤에 오는 명령에 대한 기본값을 설정합니다. 반대로 PASSWD 태그를 사용하면 상황을 되돌릴 수 있습니다. 예를 들어:

레이 러시모어 = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm

사용자 ray는 자신을 인증하지 않고 러시모어 시스템에서 루트로 /bin/kill, /bin/ls 및 /usr/bin/lprm을 실행할 수 있습니다.

따라서 다음과 같은 줄을 사용하면 /etc/sudoers모든 사용자가 비밀번호를 입력하지 않고도 지정된 파일 시스템을 마운트할 수 있습니다.

ALL ALL = NOPASSWD: /bin/mount mint

그런 다음 sudo mount mint일반 사용자로 작업해야 합니다.

관련 정보