visudo + sudoedit = ♥?
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- C
- Estrelas
- 1.7k
- Forks
- 306
- Merge médio
- 1d 8h
- PRs com merge (30d)
- 24
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de sudo-project/sudo
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
sudo-project/sudo#583 ·
Mantenedores costumam responder em até 1 dia
-
Signal forwarded to the command is lost when it arrives between fork() and execve() of the commandAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
sudo-project/sudo#566 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 52/100
sudo-project/sudo#553 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
sudo-project/sudo#552 ·
Mantenedores costumam responder em até 1 dia
-
Documentation text overflows container instead of wrappingTalvez livre de novo @BittuBarnwal7479 assumiu há 131 dias e não há nenhum pull request aberto. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 58/100
sudo-project/sudo#547 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de sudo-project/sudo
Issues semelhantes
-
vim.filetype.match() prefixes a URL buffer name with the cwd before passing it to filetype functionsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
Mantenedores costumam responder em até 1 dia
-
compilation errorAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
COVESA/dlt-daemon#925 · 1 reação ·
-
stream_curl: retry_count never resets after a successful reconnect, so long sequential streams die after 5 dropsTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
mpv-player/mpv#18728 ·
Mantenedores costumam responder em até 1 dia
-
followup Prio 📌
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
cyrusimap/cyrus-imapd#6640 ·
Mantenedores costumam responder em até 2 dias