Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

visudo + sudoedit = ♥?

Aperta
#167 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
c
Ambito
cli, security

Direzione di ricerca

Start by reading the visudo and sudoedit entry points and how visudo invokes an editor; the issue does not name source files or tests. Work out how permission checks and syntax validation interact before estimating an implementation. Done means visudo can support editing sudoers files as the invoking user while retaining syntax validation, including a clear response when required permissions are missing.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I'd like a way to edit my sudoers file (or one of its includes) in a way that combines the best of sudoedit and visudo:

  • Runs the editor as myself, like sudoedit
  • Ensures I got the syntax right, like visudo

This might be doable today using something like sudo SUDO_EDITOR=my-wrapper visudo, where my-wrapper is a script that copies the given temp file over to a user-writeable one, runs sudoedit on that as SUDO_USER, and copies the modified file back over to original the temp file.

However, I think it would be much nicer if this functionality was available built-in.

In terms of the user interface, I would think it makes most sense to just enhance visudo to detect if it is being run by a user without write access to the given file(s) (i.e. typically a non-root user). If so, rather than invoking the editor directly, it would run sudoedit; perhaps after first checking via sudo -l that the required permissions exist (in order to give a better error message if not).

If this makes sense, I'd be happy to have a go at implementing this.

Lingua principale
C
Stelle
1.7k
Fork
306
Merge medio
1g 2h
PR unite (30g)
22

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sudo-project/sudo

Tutte le issue di sudo-project/sudo

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.