Comments (6)
This only happens when the symlink is owned by a different user, and even sudo thinks that's a bit obtuse:
% sudo -e symlink
sudo: symlink: Permission denied
But feel free to throw the appropriate resolve()
in there.
from vim-eunuch.
Now that I think about it, sudo is probably rightfully guarding against a race condition.
from vim-eunuch.
It looks like this a result of a change to sudo in version 1.8.15. My concern, is the lack of error message. Without any warning, there is a risk of data loss.
from vim-eunuch.
I can't reproduce this anymore. Probably got fixed in a refactor. Let me know if it's still an issue.
from vim-eunuch.
Did manage to reproduce in more specific circumstances. But I now that I think about it, sudo is right here. Writing to a symlink is dangerous. If I "fixed" this by adding a resolve()
, I'd be recreating exactly the same security vulnerability sudo is trying to protect you from.
from vim-eunuch.
I have decided to compromise and resolve the symlink on :SudoWrite!
, as a little undocumented treat for y'all.
from vim-eunuch.
Related Issues (20)
- To move undo history with Move command HOT 1
- :Rename does not escape characters in the directory path HOT 1
- Feature: specify find command HOT 3
- Why does Unlink Remove files? HOT 1
- Add support for doas(1) in addition to sudo(1) HOT 2
- feature request: alias rm/unlink for Trash
- CR mapping doesn't handle `<expr>` neovim-lua-callback keybindings. HOT 3
- Support request - use current file when renaming HOT 1
- Why does `:Wall a` call a system broadcast app? HOT 1
- Blocked <cr> HOT 1
- Rename takes path relative to shell directory instead of current file directory HOT 3
- Feature request: "Duplicate"? Same as ":saveas", but saves to the same directory HOT 2
- SudoWrite should call redraw! before call to sudo HOT 1
- Commit 3e2582caa causes error 'E118: Too many arguments for function: s:MkdirCallable' HOT 1
- Asynchronous support for :Clocate HOT 4
- :Unlink with 'confirm'
- EunuchNewLine being printed to the neovim terminal in some configurations HOT 3
- EunuchNewLine("\r") being printed on every new line HOT 5
- Disabling auto-shebang on enter HOT 2
- Documentation for hooking into passive behaviors is outdated HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vim-eunuch.