`sudo -N` should preserve the current directory
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- rust
- Domaine
- cli, operating-systems
Piste de recherche
Commencez par retracer la manière dont l’implémentation Windows gère l’argument -N, le mode forceNewWindow et l’état d’élévation de l’appelant. Reproduisez les commandes de l’issue dans chaque combinaison et identifiez à quel endroit le répertoire de travail devient C:\Windows\System32. Le travail est considéré comme terminé lorsque sudo préserve le répertoire depuis lequel la commande est invoquée dans tous les cas listés, avec une couverture du comportement signalé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Sudo for Windows version
1.0.0
Windows build number
10.0.26063.1
Other Software
No response
Steps to reproduce
According to my tests, the general expectation regarding sudo is that it preserves the current directory.
If you run sudo rm * or sudo del *.* the user would expect to affect files in the current directory.
If you do sudo notepad ./filename, the user expects that the path resolves relative to the current directory.
But currently:
- when
-Nis used - or sudo is configured in
forceNewWindowmode
... then the current folder is set to C:\WINDOWS\System32 instead
- Except if sudo is run from an already elevated console. (then it preserves the current directory)
For example
C:\test> del /P *.*
C:\Test\test-file.txt, Delete (Y/N)? Y
Access Denied
C:\test> sudo del /P *.*
C:\Test\test-file.txt, Delete (Y/N)? N
C:\test> sudo sudo config --enable forceNewWindow
Sudo mode set to Force New Window mode
C:\test> sudo del /P *.*
# a new window appears with:
C:\Windows\System32\07409496-a423-4a3e-b620-2cfb01a9318d_HyperV-ComputeNetwork.dll, Delete (Y/N)?
See:
I know you mentioned this was by-design. IMO that design choice should be reconsidered. This is not just unpredictable and inconvenient... In these edge cases it can also be dangerous.
Expected Behavior
Sudo should preserve the current directory, regardless of being invoked from an elevated process, a non-elevated one, with or without -N, and with any configuration mode.
Actual Behavior
Sudo preserves the current directory depending on the -N argument, the config mode, or the elevation status of the caller.
- Langage dominant
- Rust
- Étoiles
- 5.9k
- Forks
- 180
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de microsoft/sudo
-
Invalid translation in helpOuverteIssue-Bug Needs-Triage
Difficulté 1/5 Moins d'une heure Accessibilité débutants 74/100
-
Issue-Bug Needs-Triage
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
-
Issue-Feature Needs-Triage
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
-
Issue-Bug Needs-Triage
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
-
Issue-Bug Needs-Triage
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
Toutes les issues de microsoft/sudo
Issues similaires
-
state:triage-needed
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
bug P2
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
cssparser-color: debug assertion in hsl_to_rgb for a hue that overflows f32Peut-être pris @BartWaardenburg l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
servo/rust-cssparser#460 ·
-
`-w -r <range>` fails empty range but changed working treePeut-être pris @dajiaohuang l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 2 jours