0.0.6
This commit is contained in:
parent
de24d5499a
commit
0443572477
9 changed files with 42 additions and 23 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
/target
|
/target
|
||||||
Cargo.lock
|
Cargo.lock
|
||||||
test.sh
|
test.sh
|
||||||
|
crab.tar.gz
|
||||||
|
|
5
conf
5
conf
|
@ -1,5 +0,0 @@
|
||||||
permit nopass linus as root
|
|
||||||
deny :docker
|
|
||||||
#deny jane
|
|
||||||
permit persist :wheel
|
|
||||||
permit jane as doe
|
|
5
config/default
Normal file
5
config/default
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
deny :docker
|
||||||
|
permit nopass persist linus as root
|
||||||
|
#deny stallman
|
||||||
|
permit :wheel persist
|
||||||
|
permit nvidia as fu
|
|
@ -2,15 +2,14 @@ pkgbase = crab
|
||||||
pkgdesc = A rusty permission authentication system
|
pkgdesc = A rusty permission authentication system
|
||||||
pkgver = 0.0.6
|
pkgver = 0.0.6
|
||||||
pkgrel = 2
|
pkgrel = 2
|
||||||
url = https://g.tylerm.dev/tylermurphy534/crab.git
|
url = https://g.tylerm.dev/tylermurphy534/crab
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
arch = i686
|
arch = i686
|
||||||
license = GPL3
|
license = GPL3
|
||||||
makedepends = git
|
|
||||||
makedepends = cargo
|
makedepends = cargo
|
||||||
depends = glibc
|
depends = glibc
|
||||||
depends = pam
|
depends = pam
|
||||||
source = git+https://g.tylerm.dev/tylermurphy534/crab.git
|
source = crab-0.0.6.tar.gz::https://f.tylerm.dev/source/crab/crab-0.0.6.tar.gz
|
||||||
md5sums = SKIP
|
md5sums = SKIP
|
||||||
|
|
||||||
pkgname = crab
|
pkgname = crab
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
# Maintainer: Tyler Murphy <tylermurphy534@gmail.com>
|
# Maintainer: Tyler Murphy <tylermurphy534@gmail.com>
|
||||||
pkgname=crab
|
pkgname=crab
|
||||||
pkgver=0.0.6
|
pkgver=0.0.6
|
||||||
pkgrel=2
|
pkgrel=1
|
||||||
pkgdesc="A rusty permission authentication system"
|
pkgdesc="A rusty permission authentication system"
|
||||||
arch=('x86_64' 'i686')
|
arch=('x86_64' 'i686')
|
||||||
url="https://g.tylerm.dev/tylermurphy534/crab.git"
|
url="https://g.tylerm.dev/tylermurphy534/crab"
|
||||||
license=('GPL3')
|
license=('GPL3')
|
||||||
makedepends=('git' 'cargo')
|
makedepends=('cargo')
|
||||||
depends=('glibc' 'pam')
|
depends=('glibc' 'pam')
|
||||||
source=("git+$url")
|
source=("$pkgname-$pkgver.tar.gz::https://f.tylerm.dev/source/$pkgname/$pkgname-$pkgver.tar.gz")
|
||||||
md5sums=('SKIP')
|
md5sums=('SKIP')
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd crab
|
cd "$srcdir"
|
||||||
cargo build --release
|
cargo build --release
|
||||||
}
|
}
|
||||||
|
|
||||||
package() {
|
package() {
|
||||||
cd crab
|
cd "$srcdir"
|
||||||
install -D --mode=4755 --owner=root --group=root ./target/release/crab ${pkgdir}/usr/bin/crab
|
install -D --mode=4755 --owner=root --group=root ./target/release/crab ${pkgdir}/usr/bin/crab
|
||||||
install -D --mode=600 --owner=root --group=root pam ${pkgdir}/etc/pam.d/crab
|
install -D --mode=600 --owner=root --group=root ./config/pam ${pkgdir}/etc/pam.d/crab
|
||||||
install -D --mode=600 --owner=root --group=root conf ${pkgdir}/usr/share/crab/crab.conf
|
install -D --mode=644 --owner=root --group=root ./config/default ${pkgdir}/usr/share/crab/crab.conf
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ cp pam /etc/pam.d/crab
|
||||||
chmod 600 /etc/pam.d/crab
|
chmod 600 /etc/pam.d/crab
|
||||||
|
|
||||||
mkdir /usr/share/crab
|
mkdir /usr/share/crab
|
||||||
chmod 600 /usr/share/crab
|
chmod 644 /usr/share/crab
|
||||||
|
|
||||||
cp conf /usr/share/crab/crab.conf
|
cp conf /usr/share/crab/crab.conf
|
||||||
chmod 600 /usr/share/crab/crab.conf
|
chmod 644 /usr/share/crab/crab.conf
|
29
readme.md
29
readme.md
|
@ -3,15 +3,34 @@
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
### From Source
|
### From Source
|
||||||
First run `cargo build --release` to compile the binary.
|
To be able to build the package, you need cargo wich you can get either though rust or rust up.
|
||||||
Then run `install.sh` as root to install crab.
|
|
||||||
|
|
||||||
Run `uninstall.sh` as root to uninstall crab.
|
To build, run the following commands below in the root directory of the repo. Make sure to run the shell script as root.
|
||||||
|
```bash
|
||||||
|
cargo build --release
|
||||||
|
./deployments/source/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
To uninstall, just run the following script as root.
|
||||||
|
```bash
|
||||||
|
./deployments/source/uninstall.sh
|
||||||
|
```
|
||||||
|
|
||||||
### Arch Based Systems
|
### Arch Based Systems
|
||||||
If you are on an arch based distro, crab is avaliable on the [AUR](https://aur.archlinux.org/packages/crab) as `crab`.
|
If you are on an arch based distro, crab is avaliable on the [AUR](https://aur.archlinux.org/packages/crab) as `crab`.
|
||||||
|
```
|
||||||
|
paru -S crab
|
||||||
|
```
|
||||||
|
|
||||||
# Configuration
|
# Configuration
|
||||||
|
|
||||||
|
The default configuration file is stored in `/usr/share/crab/crab.conf` and must be coppied to `/etc/crab.conf`.
|
||||||
|
```bash
|
||||||
|
cp /usr/share/crab/crab.conf /etc/crab.conf
|
||||||
|
chown root:root /etc/crab.conf
|
||||||
|
chmod 600 /etc/crab.conf
|
||||||
|
```
|
||||||
|
|
||||||
Each line in the configuration specifies a different rule. Each rule is applied from top to bottom,
|
Each line in the configuration specifies a different rule. Each rule is applied from top to bottom,
|
||||||
so the first onethat matches a user is what is used. The first word is either `permit` or `deny` to
|
so the first onethat matches a user is what is used. The first word is either `permit` or `deny` to
|
||||||
allow or deny a certain group. Then the tags `persist` and `nopass` can be added to allow authoriziation
|
allow or deny a certain group. Then the tags `persist` and `nopass` can be added to allow authoriziation
|
||||||
|
@ -23,8 +42,8 @@ For Example
|
||||||
```
|
```
|
||||||
deny :docker
|
deny :docker
|
||||||
permit nopass persist linus as root
|
permit nopass persist linus as root
|
||||||
permit :wheel persist
|
|
||||||
#deny stallman
|
#deny stallman
|
||||||
|
permit :wheel persist
|
||||||
permit nvidia as fu
|
permit nvidia as fu
|
||||||
```
|
```
|
||||||
The default configuration file is stored in `/usr/share/crab/crab.conf` and must be coppied to `/etc/crab.conf`.
|
Please make sure when editing your config that not normal users can edit the file, but only root. If normal users can edit the config, they can add themselvs as permitted and get elevated privilages.
|
||||||
|
|
Loading…
Reference in a new issue