83 lines
2.0 KiB
Markdown
83 lines
2.0 KiB
Markdown
# Permissions Fix Summary
|
|
**Tanggal:** 2025-01-09
|
|
**Status:** ✅ **FIXED & VERIFIED**
|
|
|
|
## Problem Solved
|
|
|
|
User `calypso` sekarang memiliki permission yang cukup untuk:
|
|
- ✅ Mengakses raw disk devices (`/dev/sd*`)
|
|
- ✅ Menjalankan ZFS commands (`zpool`, `zfs`)
|
|
- ✅ Membuat dan menghapus ZFS pools
|
|
- ✅ Mengakses tape devices
|
|
- ✅ Menjalankan SCST commands
|
|
|
|
## Changes Made
|
|
|
|
### 1. System Groups ✅
|
|
```bash
|
|
sudo usermod -aG disk,tape calypso
|
|
```
|
|
|
|
### 2. Sudoers Configuration ✅
|
|
File: `/etc/sudoers.d/calypso`
|
|
- ZFS commands: `zpool`, `zfs`
|
|
- SCST commands: `scstadmin`
|
|
- Tape utilities: `mtx`, `mt`, `sg_*`
|
|
- System monitoring: `systemctl`, `journalctl`
|
|
|
|
### 3. Backend Code Updates ✅
|
|
- Added helper functions: `zfsCommand()`, `zpoolCommand()`
|
|
- All ZFS/ZPOOL commands now use `sudo`
|
|
- Updated files:
|
|
- `backend/internal/storage/zfs.go`
|
|
- `backend/internal/storage/zfs_pool_monitor.go`
|
|
- `backend/internal/storage/disk.go`
|
|
- `backend/internal/scst/service.go` (already had sudo)
|
|
|
|
### 4. Service Restart ✅
|
|
- Binary rebuilt with sudo support
|
|
- Service restarted successfully
|
|
|
|
## Verification
|
|
|
|
### Test Results
|
|
```bash
|
|
# ZFS commands work
|
|
sudo -u calypso sudo zpool list
|
|
# Output: no pools available (success)
|
|
|
|
# ZFS pool create/destroy works
|
|
sudo -u calypso sudo zpool create -f test_pool /dev/sdb
|
|
sudo -u calypso sudo zpool destroy -f test_pool
|
|
# Success: No permission errors
|
|
```
|
|
|
|
### Device Access
|
|
```bash
|
|
# Device access works
|
|
sudo -u calypso ls -la /dev/sdb
|
|
# Shows device (not permission denied)
|
|
```
|
|
|
|
## Current Status
|
|
|
|
✅ **Groups:** calypso in `disk` and `tape` groups
|
|
✅ **Sudoers:** Configured and validated
|
|
✅ **Backend Code:** All privileged commands use sudo
|
|
✅ **Service:** Running with new binary
|
|
✅ **Permissions:** Fixed and verified
|
|
|
|
## Next Steps
|
|
|
|
1. ✅ Permissions fixed
|
|
2. ✅ Code updated
|
|
3. ✅ Service restarted
|
|
4. ✅ Verified working
|
|
5. ⏭️ **Test ZFS pool creation via frontend**
|
|
|
|
Sekarang user bisa membuat ZFS pool via frontend tanpa permission errors!
|
|
|
|
---
|
|
|
|
**Status:** ✅ **READY FOR TESTING**
|