linux_sudo重定向输出权限不足(permission denied)
文章目录
sudo重定向输出权限不足(permission denied)
references
一般情况下的文本重定向
- 类似于
echo "test" >> test(这和powershell不同,powershell可以不加echo)
- 直接再echo 前面加sudo 不改变权限效果
使用sudo bash -c
cxxu_kali➜~» sudo bash -c "echo test >> /etc/apt/testbysudo" [17:39:04] cxxu_kali➜~» cat /etc/apt/testbysudo [17:39:16] test
sudo + cat 创建文件
cxxu_kali➜~» sudo bash -c "cat > /etc/apt/testbysudo" [17:42:39] lines by `sudo bash -c cat >`
同样也是可以的
但是输入重定向(<<,here-document)变得不太好用
使用tee
tee - read from standard input and write to standard output and files
- 利用
tee
来代替重定向输出>
- tee经常和管道符一起使用,但却不是必须
- 例如执行
ifconfig | tee ifinfo
- 该命令会将网卡信息即写入到文件,也打印到终端
- 又比如:
echo "service sshd start" |sudo tee -a /etc/rc.local
- 该命令可以配置linux 开机自己启动ssh服务
- 将sudo 作用于tee命令
再比如:
cxxu_kali➜~» sudo tee fileBytee << eof [18:07:17] heredoc> line1 heredoc> line2 heredoc> eof [sudo] password for cxxu_kali: line1 line2 cxxu_kali➜~» nl fileBytee [18:08:38] 1 line1 2 line2
tee -a 追加
cxxu_kali➜~» sudo tee -a \etc\apt\fileBytee << eof [18:15:47] heredoc> &&iioopp heredoc> sdfl heredoc> eof &&iioopp sdfl cxxu_kali➜~» cat etcaptfileBytee [18:16:09] line1 line2 &&iioopp sdfl
临时切换到管理员sudo -i
覆盖法
在别处创建文件然后通过sudo mv覆盖掉
这比较绕,但是编写脚本的时候也是是一种选择
- 例如,您可以将/etc/apt/下的文件读取到出来,
- 通过管道符在用户家目录创建一个有对应内容的文件,
- 然后在家目录中修改该文件,
- 再将该文件通过sudo mv 覆盖到原位置;
- 注意备份文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2022-08-28 math_消除根式:椭圆的标准式方程推导&坐标系平移&整理多项式