diff options
author | Marti Raudsepp | 2021-03-12 20:55:20 +0200 |
---|---|---|
committer | Marti Raudsepp | 2021-03-12 20:55:52 +0200 |
commit | 7ef273903bfb35ba9f9eb6b6601d793809e8df5d (patch) | |
tree | d7a7c84ef3aa5baf26c50fa42c498606d07648cd | |
parent | 92baa9aa5833d362ad66afeef42573197d5a7cdf (diff) | |
download | aur-7ef273903bfb35ba9f9eb6b6601d793809e8df5d.tar.gz |
Automatically set up users, sudoers & polkit rules
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 18 | ||||
-rw-r--r-- | ego.rules | 8 | ||||
-rw-r--r-- | ego.sudoers | 2 | ||||
-rw-r--r-- | ego.sysusers | 3 |
5 files changed, 35 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = ego pkgdesc = Alter Ego: run Linux desktop applications under a different local user pkgver = 1.1.0 - pkgrel = 1 + pkgrel = 2 url = https://github.com/intgr/ego arch = x86_64 license = MIT @@ -9,7 +9,13 @@ pkgbase = ego depends = acl optdepends = xdg-desktop-portal-gtk: improved desktop integration source = ego-1.1.0.tar.gz::https://crates.io/api/v1/crates/ego/1.1.0/download + source = ego.sysusers + source = ego.sudoers + source = ego.rules sha512sums = 19fcec3766382a62b35d07590da513955dbbb85678b56d85e932addd47f9ae433054bd61f77f594cfbcf5d541b51c50e6becdda6088f5ecd6c68d6fe9d8eac28 + sha512sums = c481937c92d94b29526ed86d3719107c85a8ffad8210a5e707564d5f53bcddbc48b39937a1f9b181da15830fe8bf34798339709d3e2c8119930f565168f67815 + sha512sums = e89f7f63c680be625fa8b138de3bd9307536173e9690c00c086a1e3cc2948764137c2ea22e29b37d33ae13bcdf4e67190462a5942d913521652ff3b33a9f49c3 + sha512sums = ed8df913a45f0e5029fdd9370fc6124eb5b7a617ef62fb616b9f13aecb47a54f92751de6ccac03034afbdd1e3f33ad11847a34e1f78b9481b8225f881ad5d69b pkgname = ego @@ -1,7 +1,7 @@ # Maintainer: Marti Raudsepp <marti@juffo.org> pkgname=ego pkgver=1.1.0 -pkgrel=1 +pkgrel=2 pkgdesc="Alter Ego: run Linux desktop applications under a different local user" arch=('x86_64') url="https://github.com/intgr/ego" @@ -10,8 +10,14 @@ depends=('acl') makedepends=('cargo') optdepends=('xdg-desktop-portal-gtk: improved desktop integration') #source=("$pkgname-$pkgver.tar.gz::https://github.com/intgr/$pkgname/archive/$pkgver.tar.gz") -source=("$pkgname-$pkgver.tar.gz::https://crates.io/api/v1/crates/$pkgname/$pkgver/download") -sha512sums=('19fcec3766382a62b35d07590da513955dbbb85678b56d85e932addd47f9ae433054bd61f77f594cfbcf5d541b51c50e6becdda6088f5ecd6c68d6fe9d8eac28') +source=("$pkgname-$pkgver.tar.gz::https://crates.io/api/v1/crates/$pkgname/$pkgver/download" + "ego.sysusers" + "ego.sudoers" + "ego.rules") +sha512sums=('19fcec3766382a62b35d07590da513955dbbb85678b56d85e932addd47f9ae433054bd61f77f594cfbcf5d541b51c50e6becdda6088f5ecd6c68d6fe9d8eac28' + 'c481937c92d94b29526ed86d3719107c85a8ffad8210a5e707564d5f53bcddbc48b39937a1f9b181da15830fe8bf34798339709d3e2c8119930f565168f67815' + 'e89f7f63c680be625fa8b138de3bd9307536173e9690c00c086a1e3cc2948764137c2ea22e29b37d33ae13bcdf4e67190462a5942d913521652ff3b33a9f49c3' + 'ed8df913a45f0e5029fdd9370fc6124eb5b7a617ef62fb616b9f13aecb47a54f92751de6ccac03034afbdd1e3f33ad11847a34e1f78b9481b8225f881ad5d69b') build() { cd "$pkgname-$pkgver" @@ -29,6 +35,12 @@ package() { install -Dm644 "README.md" "$pkgdir/usr/share/doc/${pkgname}/README.md" install -Dm644 "LICENSE" "$pkgdir/usr/share/doc/${pkgname}/LICENSE" + install -Dm644 "$srcdir/ego.sysusers" "$pkgdir/usr/lib/sysusers.d/ego.conf" + install -dm750 "$pkgdir/etc/sudoers.d" + install -Dm644 "$srcdir/ego.sudoers" "$pkgdir/etc/sudoers.d/50-ego.conf" + install -dm750 "$pkgdir/etc/polkit-1/rules.d" + install -Dm644 "$srcdir/ego.rules" "$pkgdir/etc/polkit-1/rules.d/50-ego.rules" + install -Dm644 "varia/ego-completion.zsh" "$pkgdir/usr/share/zsh/site-functions/_ego" install -Dm644 "varia/ego-completion.bash" "$pkgdir/usr/share/bash-completion/completions/ego" install -Dm644 "varia/ego-completion.fish" "$pkgdir/usr/share/fish/vendor_completions.d/ego.fish" diff --git a/ego.rules b/ego.rules new file mode 100644 index 000000000000..19a44fa87d05 --- /dev/null +++ b/ego.rules @@ -0,0 +1,8 @@ +/* Allow users in 'ego-users' group to invoke commands as 'ego' */ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.machine1.host-shell" && + action.lookup("user") == "ego" && + subject.isInGroup("ego-users")) { + return polkit.Result.YES; + } +}); diff --git a/ego.sudoers b/ego.sudoers new file mode 100644 index 000000000000..5a4f9ece7e87 --- /dev/null +++ b/ego.sudoers @@ -0,0 +1,2 @@ +# Allow users in 'ego-users' group to invoke commands as 'ego' +%ego-users ALL=(ego) NOPASSWD:ALL diff --git a/ego.sysusers b/ego.sysusers new file mode 100644 index 000000000000..5e539ca186e5 --- /dev/null +++ b/ego.sysusers @@ -0,0 +1,3 @@ +#Type Name ID GECOS Home directory Shell +u ego 155 "Alter Ego" /home/ego +g ego-users - |