blob: 875102e2581fb5fe7fb21a3f0f081489c4adb182 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# Syca
[](https://aur.archlinux.org/packages/syca)
[]()
[]()
A minimal **sudo-like privilege elevation tool for Linux**, written in **Ruby,** **Python + C**
with **PAM authentication** and **system-wide secure password caching**.
Syca acts as a clean, lightweight alternative to sudo/doas while keeping strict
security boundaries. Authentication is performed via PAM, and a secure C setuid helper
executes privileged commands safely.
---
## β¨ Features
- **π Authentication Cache**
Syca stores authentication securely using a root-owned state file accessed
through the setuid helper. Once authenticated, you wonβt be prompted again until
the cache expires.
**Syca will remove Sudo and Base-Devel on installation.**
- π **PAM-based password authentication**
- π **System-wide privilege cache** (shared across all terminals)
- π₯ User must be added to **group wheel** to be authorized.
- βοΈ **Execute commands as root:**
```bash
syca <command>
```
- β± **Temporary root access** via privilege cache:
- Enable root access for a limited time:
```bash
syca --enable <minutes>
```
- Disable the temporary root access manually:
```bash
syca --disable
```
- Check the current status of the root access cache:
```bash
syca --status
```
## π Usage
Run any command as root via Syca:
Update system packages
```bash
syca pacman -Syu
```
Restart a system service
```bash
syca systemctl restart NetworkManager
```
Edit a root-owned file
```bash
syca vim /etc/hosts
```
---
### **Installation from AUR**
## π¦ Installation
### From the AUR
Install directly using an AUR helper;
```bash
yay -S syca
```
```bash
paru -S syca
```
```bash
ame ins syca
```
### Manual Installation
Clone the repository and build the package manually:
```bash
git clone https://github.com/0xraincandy/syca.git
cd syca
makepkg -si
```
### **Known Bugs**
- When changing user using su, then the password wont get accepted.
|