diff options
author | Stuart Cardall <developer@it-offshore.co.uk> | 2016-09-16 20:20:23 +0000 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2016-09-17 13:53:23 +0200 |
commit | 4778b1e699e21ba28e259bd086a7279b90bf9c90 (patch) | |
tree | 2450257be0400ee152f97061bb9928d02cac3df4 | |
parent | 8b7e48dcaf6a2049edeffaa957db618e923b78ab (diff) | |
download | aports-4778b1e699e21ba28e259bd086a7279b90bf9c90.tar.bz2 aports-4778b1e699e21ba28e259bd086a7279b90bf9c90.tar.xz |
community/lxcfs: replace chownmap with uidmapshift
uidmapshift is a lua script that is much faster remapping larger containers.
-rw-r--r-- | community/lxcfs/APKBUILD | 16 | ||||
-rw-r--r-- | community/lxcfs/chownmap | 46 | ||||
-rw-r--r-- | community/lxcfs/lxcfs.initd | 7 |
3 files changed, 8 insertions, 61 deletions
diff --git a/community/lxcfs/APKBUILD b/community/lxcfs/APKBUILD index 5e1a2c5c30..00f048f123 100644 --- a/community/lxcfs/APKBUILD +++ b/community/lxcfs/APKBUILD @@ -2,18 +2,17 @@ # Maintainer: Stuart Cardall <developer@it-offshore.co.uk> pkgname=lxcfs pkgver=2.0.3 -pkgrel=2 +pkgrel=3 pkgdesc="FUSE filesystem for LXC" url="https://linuxcontainers.org/lxcfs" arch="all" license="Apache 2.0" -depends="cgmanager shadow" +depends="cgmanager shadow-uidmap uidmapshift" makedepends="fuse-dev linux-pam-dev linux-headers help2man" subpackages="$pkgname-pam $pkgname-doc" source="https://linuxcontainers.org/downloads/lxcfs/lxcfs-$pkgver.tar.gz lxcfs.confd lxcfs.initd - chownmap README.alpine lxcfs-subdir.patch " @@ -36,8 +35,6 @@ package() { "$pkgdir"/etc/init.d/$pkgname || return 1 install -m644 -D "$srcdir"/$pkgname.confd \ "$pkgdir"/etc/conf.d/$pkgname || return 1 - install -m700 -D "$srcdir"/chownmap \ - "$pkgdir"/etc/lxc/chownmap || return 1 install -m644 -D "$srcdir"/README.alpine \ "$pkgdir"/usr/share/doc/lxcfs/README.alpine || return 1 } @@ -50,19 +47,16 @@ pam() { md5sums="8d79c575d0dc5d127776370eceb0f58b lxcfs-2.0.3.tar.gz 6d7943272d6b71ab7b93e93c55e42ee9 lxcfs.confd -2c4a59861c846dd9ddef0cab6664eed8 lxcfs.initd -e1d7c118ae134fcdd171f8aac146f9a0 chownmap +3533f3d49a5b0b83e8f8b8f20ea507fa lxcfs.initd 722e7a773283170910f5c9b40fb83610 README.alpine 14531d992c3c3e731ee596ff86e91829 lxcfs-subdir.patch" sha256sums="dd94e19bff202cb9fe2aa7d244b2cccf53cf5d7f6dd76c815e1161e3ba4ce0df lxcfs-2.0.3.tar.gz d8915d4635b675897895c379c892250f6c2bb55515a3b59cad09b92c35264359 lxcfs.confd -30e9005010508eaa382fbb44f784d26a641bf7c12e94d9ba2603ab3ad782e86b lxcfs.initd -2e6b84d98fc3cd03fa3f384876191dba05e6d781629a748add75ab380d921823 chownmap +b7f211fd76e52da9a03eeb501d457ddc6a65f9373cbd1cf290ef1db81ced8643 lxcfs.initd a458f5561d8f1404ac7547bd73f7bf7d56898322d04268f31a7ee3ffdd5e36aa README.alpine ef3d2848e534b3db9267efbb5bc515e0ecd6a768cdf8de928bccac21c26add9e lxcfs-subdir.patch" sha512sums="1bca2dc88a4551c90e9760ad8d3c7548126d7803040ddab3ac24fda2d602ec0d34ebf78bbd2b4cd5941edba3ccfe135e86d257f0dc2b89617c7ca876b3dda4bb lxcfs-2.0.3.tar.gz 71df316b1aaf1a0fadc230473a66c0be4d201d706481f1042c353b79fc629e9e681ec4fe0dfb113370e00d3f40175b0d7759fdcdcce57cf1d2db585068aa6e8d lxcfs.confd -e08ee2e33cc8d82dbfbdc86b7aa87ef6b0033473951e9759bd8fd2b12b1d7beda1c7cb7befb7ce4fd1d7aea274778313957350af617d56b8702dbfcdc59b49b4 lxcfs.initd -5d18df216a004d5039d86634e62dc078f134991696da9c6f1c292f0f8aa3de1f202aa531000c9f75e2bc5d5121f856660e4f1d71c8e92a0e87517a23836a743d chownmap +b4e3bb76f4720d74c768c44c377665ad40e92da7332efebbf9100b6164e4e81214921c751d8ecd14dcef85c22cfa79bacf7e444d8159e93c719ff81ce2e9ba1c lxcfs.initd 16c65a10b2b95a85ea21d2cb44a45c9c7faf1e22c8c438c7325be96025588834a528544598a91facc13fa93cc46f6c4534fa2ca6bb58b152a26f1ced94b18f16 README.alpine f7589ef65b3e01de0bb9e55c8ae06ae8124196b29b444006f3beaba308a8bebccad38e11c9c74f705dcad826aa6de0a10830053e0b025c640b7337804c48c056 lxcfs-subdir.patch" diff --git a/community/lxcfs/chownmap b/community/lxcfs/chownmap deleted file mode 100644 index 07e5aea20b..0000000000 --- a/community/lxcfs/chownmap +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# author: Mirek Kratochvil -# https://github.com/exaexa/chownmap - -help_exit () { - echo "usage: $0 <from> <to> <length> [ files ] ..." - exit $1 -} - -FROM="$1" -[ -n "$FROM" ] || help_exit 0 -[ "$FROM" -ge 0 ] || help_exit 1 - -TO="$2" -[ -n "$TO" ] || help_exit 0 -[ "$TO" -ge 0 ] || help_exit 1 - -LEN="$3" -[ -n "$LEN" ] || help_exit 0 -[ "$LEN" -gt 0 ] || help_exit 1 - -[ -n "$4" ] || help_exit 0 - -shift 3 - -LAST=$(( FROM + LEN )) -CHANGE=$(( TO - FROM )) -CHOWN_EXTRA_OPTS=${CHOWN_EXTRA_OPTS:-} - -do_dir () { - find "$1" |while read fn ; do - stat "$fn" -c"%u %g" | { - read uid gid - chuid=$uid - chgid=$gid - [[ $chuid -ge $FROM && $chuid -lt $LAST ]] && chuid=$(( chuid + CHANGE )) - [[ $chgid -ge $FROM && $chgid -lt $LAST ]] && chgid=$(( chgid + CHANGE )) - [[ $uid -ne $chuid || $gid -ne $chgid ]] && chown $CHOWN_EXTRA_OPTS -h $chuid:$chgid "$fn" - } - done -} - -while [ -n "$1" ] ; do - do_dir "$1" - shift -done diff --git a/community/lxcfs/lxcfs.initd b/community/lxcfs/lxcfs.initd index 058a157859..1a6e9c9759 100644 --- a/community/lxcfs/lxcfs.initd +++ b/community/lxcfs/lxcfs.initd @@ -7,7 +7,7 @@ DAEMON=/usr/bin/lxcfs PIDFILE=/run/lxcfs.pid VARDIR=/var/lib/lxcfs RUNDIR=/run/lxcfs -CHOWNMAP=/etc/lxc/chownmap +MAPPER=/usr/bin/uidmapshift description="FUSE filesystem for LXC unprivileged containers" description_setup="Setup unprivileged container permissions" @@ -53,8 +53,7 @@ find_perms() { create_id() { einfo "Creating $1 for root: /etc/$1" - touch /etc/$1 - usermod --add-${1}s 100000-165536 root + echo "root:100000:65537" >> /etc/$1 PERMS="$PERMS 100000" } @@ -110,7 +109,7 @@ setup() { for ctr in $ctr_list; do einfo "Mapping user permissions in container: $ctr" - ${CHOWNMAP} 0 $subuid $range $path/$ctr/rootfs + ${MAPPER} -b $path/$ctr/rootfs 0 $subuid $range dir_perms "$path/$ctr" done } |