Subject: Re: [vserver] Mounting USB disk into vserver using LABELs
From: Juraj Pisarcik <juraj.pisarcik@f4s.sk>
Date: Tue, 18 May 2010 15:10:59 +0200

Hi,

On Mon, May 17, 2010 at 4:13 PM, Herbert Poetzl <herbert@13thfloor.at> wrote:
> On Wed, May 12, 2010 at 09:25:54AM +0200, Juraj Pisarcik wrote:
>> Hi!
>
>> I'm trying to mount USB disk into vserver using LABELs.
>> In host OS it works, but not in vserver.
>> I'm using Debian lenny.
>
>> Thanks for help
>
>> Juraj
>
>> host:/# uname -a
>> Linux vserver 2.6.26-2-vserver-686-bigmem #1 SMP Tue Mar 9 19:46:38
>> UTC 2010 i686 GNU/Linux
>
> known broken kernel, don't use it ...
>

I upgrade kernel to 2.6.32-bpo.3-vserver-686-bigmem from backports an
problem still occurs.

>> host:/# cat /etc/vservers/vserver1/bcapabilities
>> CAP_SYS_ADMIN
>

Flag CAP_SYS_ADMIN is not problem - it's vserver only for internal use
(backups) with no ability to login from outside workd (no SSH, ...)

> dangerous, guest can easily take over the host
> (not required either)
>
>> host:/etc/vservers# vserver vserver1 start
>> secure-mount: mount(): No such file or directory
>> /etc/vservers/vserver1/fstab:5:1: failed to mount fstab-entry
>> secure-mount: mount(): No such file or directory
>> /etc/vservers/vserver1/fstab:6:1: failed to mount fstab-entry
>> Starting enhanced syslogd: rsyslogd.
>> Starting MTA: exim4.
>
> what is the util-vserver version?
>

# vserver --version
vserver 0.30.216-pre2772 -- manages the state of vservers
This program is part of util-vserver 0.30.216-pre2772

Copyright (C) 2003,2004,2005 Enrico Scholz
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
# vserver-info
Versions:
                   Kernel: 2.6.32-bpo.3-vserver-686-bigmem
                   VS-API: 0x00020305
             util-vserver: 0.30.216-pre2772; Dec 12 2008, 23:24:33

Features:
                       CC: gcc, gcc (Debian 4.3.2-1) 4.3.2
                      CXX: g++, g++ (Debian 4.3.2-1) 4.3.2
                 CPPFLAGS: ''
                   CFLAGS: '-Wall -g  -O2 -std=c99 -Wall -pedantic -W
-funit-at-a-time'
                 CXXFLAGS: '-g -O2 -ansi -Wall -pedantic -W
-fmessage-length=0 -funit-at-a-time'
               build/host: i486-pc-linux-gnu/i486-pc-linux-gnu
             Use dietlibc: yes
       Build C++ programs: yes
       Build C99 programs: yes
           Available APIs: v13,net,v21,v22,v23,netv2
            ext2fs Source: e2fsprogs
    syscall(2) invocation: alternative
      vserver(2) syscall#: 273/glibc
               crypto api: beecrypt
   use library versioning: yes

Paths:
                   prefix: /usr
        sysconf-Directory: /etc
            cfg-Directory: /etc/vservers
         initrd-Directory: $(sysconfdir)/init.d
       pkgstate-Directory: /var/run/vservers
          vserver-Rootdir: /var/lib/vservers


Assumed 'SYSINFO' as no other option given; try '--help' for more information.

>> host:/etc/vservers# vserver vserver1 enter
>
>> vserver:/# df
>> Filesystem           1K-blocks      Used Available Use% Mounted on
>> /dev/hdv1             45087388  37436704   7650684  84% /
>> df: `/proc/bus/usb': No such file or directory
>
> expected, as the /proc/bus is hidden by default

I had add this filesystem to "unhide", but it's doesn't work:

# cat apps/vprocunhide/files
/proc/bus/
/proc/bus/usb/
/proc/net/
-/proc/net/rpc/
-/proc/net/ip_conntrack
-/proc/net/ip_conntrack_expect
-/proc/net/nf_conntrack
-/proc/net/nf_conntrack_expect
/proc/sys/
-/proc/sys/debug/
-/proc/sys/dev/
/proc/sysvipc/
/proc/tty/
/proc/cpuinfo
/proc/crypto
/proc/devices
/proc/execdomains
/proc/filesystems
/proc/interrupts
/proc/iomem
/proc/ioports
/proc/kcore
/proc/kmsg
/proc/ksyms
/proc/loadavg
/proc/locks
/proc/meminfo
/proc/misc
/proc/modules
/proc/pci
/proc/slabinfo
/proc/stat
/proc/swaps
/proc/uptime
-/proc/cmdline
/proc/version
#

>> vserver1:/# cat /etc/vservers/vserver1/fstab
>> none    /proc           proc    defaults                0 0
>> #none   /tmp            tmpfs   size=16m,mode=1777      0 0
>> none    /dev/pts        devpts  gid=5,mode=620          0 0
>> #need for USB devices access:
>> usbfs   /proc/bus/usb   usbfs   rw,nosuid,nodev,noexec  0 0
>> LABEL=BACK1 /BACK1  ext3    auto  0       0
>> LABEL=BACK2 /BACK2  ext3    auto  0       0
>