echo 与 sudo

标签: echo sudo | 发表时间:2011-10-18 10:40 | 作者:(author unknown) 肥恩
出处:http://www.kuqin.com/

众所周知,使用 echo 并配合命令重定向是实现向文件中写入信息的快捷方式。本文介绍如何将 echo 命令与 sudo 命令配合使用,实现向那些只有系统管理员才有权限操作的文件中写入信息。

比如要向 test.asc 文件中随便写入点内容,可以:

$ echo "信息" > test.asc
# 或者
$ echo "信息" >> test.asc

下面,如果将 test.asc 权限设置为只有 root 用户才有权限进行写操作:

$ sudo chown root.root test.asc

然后,我们使用 sudo 并配合 echo 命令再次向修改权限之后的 test.asc 文件中写入信息: 

$ sudo echo "又一行信息" >> test.asc
-bash: test.asc: Permission denied

这时,可以看到 bash 拒绝这么做,说是权限不够。这是因为重定向符号 “>” 和 ">>" 也是 bash 的命令。我们使用 sudo 只是让 echo 命令具有了 root 权限,但是没有让 “>” 和 ">>" 命令也具有 root 权限,所以 bash 会认为这两个命令都没有像 test.asc 文件写入信息的权限。

解决这一问题的途径有两种。第一种是利用 "sh -c" 命令,它可以让 bash 将一个字串作为完整的命令来执行,这样就可以将 sudo 的影响范围扩展到整条命令。具体用法如下: 

$ sudo sh -c "echo "又一行信息" >> test.asc"

另一种方法是利用管道和 tee 命令,该命令可以从标准输入中读入信息并将其写入标准输出或文件中,具体用法如下:

$ echo "第三条信息" | sudo tee -a test.asc

注意,tee 命令的 "-a" 选项的作用等同于 ">>" 命令,如果去除该选项,那么 tee 命令的作用就等同于 ">" 命令。

本文来自:http://www.linuxgem.org/posts/8147

相关 [echo sudo] 推荐:

echo 与 sudo

- 肥恩 - www.kuqin.com
众所周知,使用 echo 并配合命令重定向是实现向文件中写入信息的快捷方式. 本文介绍如何将 echo 命令与 sudo 命令配合使用,实现向那些只有系统管理员才有权限操作的文件中写入信息. 比如要向 test.asc 文件中随便写入点内容,可以:. $ echo "信息" > test.asc. $ echo "信息" >> test.asc.

su 与 sudo

- 亚 强 - LinuxEden开源社区-Linux伊甸园
使用 su 命令临时切换用户身份 1、su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢. 比如我们以普通用户登录的, 但要添加用户任务,执行useradd ,普通用户没有这个权限,而这个权限恰恰由root所拥. 阅读全文 | 邮件推荐 | 评论回复.

配合sudo使用 Google Authenticator

- 圣斌 - delphij's Chaos
Google Authenticator 是一个 TOTP(基于时间的一次性口令)实现,它采用了 RFC 4226 算法. Google Authenticator 与 RSA SecurID 非常类似. 具体来说,它使用一个随机串和以整数表达的时间作为输入去计算 HOTP(算法是 HMAC-SHA-1),然后取输出的最后几位作为一次性口令.

抽取rabbitmq网络层做的echo server

- 2sin18 - codedump
传说rabbitmq网络层实现的优雅高效,于是我就尝试着将其中的网络层抽取出来,模拟着做了一个echo服务器,代码放在这里.. rabbitmq的做法是内置状态机,通过切换callback的形式处理不同的业务,这样只有一个子进程处理一个链接,性能提高不少.. 测试这个echo服务器的客户端我使用的是telnet,telnet输入的数据会自动在后面加上”\r\n”发送到对端,于是代码中以这个来判断是否接收了一条消息,抽取出来回复给对端..

PlanetLab发布更先进的sudo工具

- yinseny - Solidot
普林斯顿大学PlanetLab的研究人员开发出可替代现有Unix sudo的工具Vsys(PDF). Vsys允许管理员更好的控制终端用户的访问权限. sudo则是Unix和Linux广泛使用的命令行工具. PlanetLab研究员Sapan Bhatia在上周的Usenix大会上称,Vsys类似sudo,但提供了系统资源的细粒度访问控制.

亚马逊发布Echo室内语音控制系统 售价199美元

- - cnBeta.COM
亚马逊周四发布新硬件产品Echo. 该产品为一套内置语音助手的扩音器设备,旨在为用户的房间提供独立专注的音控系统. 该设备支持闹铃、音乐播放控制、天气查询、网络搜索,以及新闻查询等多种功能,而所有的操作都通过语音控制完成. 此外该设备还能通过蓝牙和WiFi与Fire Phone连接,或通过浏览器与iOS、Android及PC设备连接,以实现多媒体播放功能.