4
# lxc: linux Container library
7
# Daniel Lezcano <daniel.lezcano@free.fr>
9
# This library is free software; you can redistribute it and/or
10
# modify it under the terms of the GNU Lesser General Public
11
# License as published by the Free Software Foundation; either
12
# version 2.1 of the License, or (at your option) any later version.
14
# This library is distributed in the hope that it will be useful,
15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
# Lesser General Public License for more details.
19
# You should have received a copy of the GNU Lesser General Public
20
# License along with this library; if not, write to the Free Software
21
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24
# This script allows to set or remove the capabilities on the lxc tools.
25
# When the capabilities are set, a non root user can manage the containers.
28
LXC_CREATE_CAPS="cap_sys_admin"
29
LXC_NETSTAT_CAPS="cap_sys_admin"
30
LXC_INIT_CAPS="cap_sys_admin"
31
LXC_UNSHARE_CAPS="cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override"
32
LXC_START_CAPS="cap_sys_chroot,cap_setpcap,cap_net_admin,cap_net_raw,cap_sys_admin,cap_dac_override"
33
LXC_EXECUTE_CAPS=$LXC_START_CAPS
34
LXC_RESTART_CAPS=$LXC_START_CAPS
40
echo "lxc-setcap [-d] : set or remove capabilities on the lxc tools"
45
setcap $LXC_CREATE_CAPS=ep @BINDIR@/lxc-create
46
setcap $LXC_EXECUTE_CAPS=ep @BINDIR@/lxc-execute
47
setcap $LXC_START_CAPS=ep @BINDIR@/lxc-start
48
setcap $LXC_RESTART_CAPS=ep @BINDIR@/lxc-restart
49
setcap $LXC_UNSHARE_CAPS=ep @BINDIR@/lxc-unshare
50
setcap $LXC_NETSTAT_CAPS=ep @BINDIR@/lxc-netstat
51
setcap $LXC_INIT_CAPS=ep @LIBEXECDIR@/lxc-init
57
setcap -r @BINDIR@/lxc-create
58
setcap -r @BINDIR@/lxc-execute
59
setcap -r @BINDIR@/lxc-start
60
setcap -r @BINDIR@/lxc-restart
61
setcap -r @BINDIR@/lxc-unshare
62
setcap -r @BINDIR@/lxc-netstat
63
setcap -r @LIBEXECDIR@/lxc-init
67
if [ "$(id -u)" != "0" ]; then
68
echo "You have to be root to run this script"
78
set -- $(getopt dh $*)
101
if [ -z "$LXC_DROP_CAPS" ]; then