GNU/Linux >> Linux Esercitazione >  >> Linux

Limita all'utente l'esecuzione di comandi selettivi (Linux)

Potresti andare nel modo sbagliato. Invece di dare a un utente una shell bash "ristretta", dovresti solo dargli accesso ai comandi di cui avrebbe bisogno per essere eseguito come root. Ad esempio, nel tuo file sudoers:

tomc ALL=(root) /usr/bin/vim /etc/myapp.conf
tomc ALL=(root) /usr/bin/less /var/log/myapp/*.log

Fai attenzione a consentire agli utenti di eseguire vim come root. Vim ha molte funzionalità integrate, come le fughe alla shell e la possibilità di eseguire comandi dall'interno di vim. A seconda della tua distribuzione, potresti avere sudoedit a disposizione. Funziona allo stesso modo di un normale Vim, tranne che è progettato per gestire gli escape della shell e simili.


Sulla mia Synology Diskstation che esegue DSM 6 solo gli utenti amministratori possono ssh in modo coerente (gli utenti non amministratori hanno shell come /sbin/nologin in /etc/passwd -- puoi impostarlo su /bin/sh per consentire temporaneamente ssh, ma al riavvio il file /etc/passwd viene ripristinato). Per questo motivo è necessaria una sorta di restrizione sudo per un account che altrimenti esiste solo per eseguire ad es. /sbin/spegnimento. Le seguenti righe in /etc/sudoers hanno funzionato per me:

# Allow guestx user to remote poweroff
guestx ALL=(ALL) !ALL
guestx ALL=NOPASSWD: /sbin/poweroff

Traduzione:non consentire tutti i comandi, quindi consentire solo il comando desiderato (senza richiedere la password in questo caso).

Con questa configurazione sudo chiede la password e poi fallisce per comandi diversi da quello autorizzato:

[email protected]:~$ sudo su -
Password: 
Sorry, user guestx is not allowed to execute '/bin/su -' as root on ds.
[email protected]:~$ 

Linux
  1. 20 comandi Linux essenziali per ogni utente

  2. 10 comandi che ogni utente Linux dovrebbe conoscere

  3. Scopri la differenza tra i comandi "su" e "su -" in Linux

  4. 4 modi per disabilitare l'account di root in Linux

  5. 5 modi per eseguire comandi UNIX/Linux (e script della shell) in background

Come limitare l'accesso dell'utente al sistema Linux

Esegui comandi su sistemi Linux remoti tramite SSH

Come elencare tutti gli utenti in Linux

5 comandi Linux che ogni utente Linux dovrebbe conoscere

Linux – Aggiungi utente all'elenco di Sudoers

Come limitare l'utente root in CentOS