`

sudo echo 引起的权限问题

阅读更多
$ sudo echo 1 > /sys/devices/platform/xxconfig
$ bash: /sys/devices/platform/xxconfig: Permission denied


今天被这个问题困扰着。

然后su切换到root就没有问题
$ su
Password: (你的用户密码)
$ sudo echo 1 > /sys/devices/platform/xxconfig

或者使用sudo -sH

$ sudo -sH echo 1 > /sys/devices/platform/xxconfig

这是因为转向对file进行操作时,sudo还没运行。先运行转向redirect到文件,然后再运行echo。




如何设定/改变/启用 root 使用者的密码?
sudo passwd root为了启用 root 帐号 (也就是设置一个口令) 使用:
sudo passwd root
当你使用完毕后屏蔽 root 帐号 使用:
sudo passwd -l root
这个将锁住 root 帐号.
如何在终端机模式下切换到 root 身份?
sudo -s -H
Password: <在这注明您的密码>



缺省禁止root 的好处包括了以下内容:
1、起初 Ubuntu 团队希望安装尽可能的简单. 不使用 root , 在安装期间的两个用户交互步骤可以省略. (科林·沃森)

2、更进一步, 如果在安装中使用 root, 用户将被要求永远记住他们选择的密码--即使他们很少使用到它. Root 密码经常被对 Unix 安全模型不熟悉的用户忘记. (马特·齐默曼)

3、它防止了缺省登录时 "我能做任何事情"--在较大的变化发生之前,你将被提示输入口令,这可以使你考虑你这样做的结果. 如果你作为 root 登录, 你可以删除一些 "没用的文件夹"并且不会意识到你正处于错误的目录,那时已经太晚了. 它是在 Unix 下长时间使用 "su-command-^D" 练习的情况下,代替一直呆在root shell--除非你做严重的系统维护 (那时你仍然可以使用 "sudo su"). (吉姆·奇塔姆 和 安德鲁·索巴拉)

4、Sudo 增加了运行命令的日志记录 (在 /var/log/auth.log). 如果你陷入困境, 你总是可以返回并看见那些运行的命令. (安德鲁·Zbikowski)




安全
与传统的 superuser 模型相比,这种方法有不同的利弊,两者都不总是显示优良的.

1、在鼓励使用 root 权限执行一个单独的命令, sudo 好过打开一个shell
2、减少使用 root 权限的时间总耗用, 降低了不注意使用 root 执行命令的风险
3、提供了有用的审核痕迹
4、有一个单独的 root 密码 (传统模型) 提供了一层额外的保护,当如果一个管理员的密码被侵害时
5、无论怎样, 如果管理员 (使用 sudo 或 su 变成 root) 被侵害, 攻击者一般可以通过一次间接的攻击来获得 root



以下是网友回复

sudo 等同于su,ubuntu拒绝root操作。它不同于传统意义上的Linux操作方式了,不过我感觉这是一大进步,不谨方便,而且更加安全。在一些商业的unix系统中,使用的就是sudo而不是su,虽然su是sudo的简写方式,在ubuntu中的su使用方法就是借鉴了Unix中的sudo概念,没有人知道root密码,root密码将被随机生成。
对于ubuntu来说,感觉上更加安全。但从另一个角度来说,如果从某种途径得到某个用户的ID,并破解了其密码,且此用户拥有一个admin组成员关系,是否可以说。使用sudo这一命令即可得到root所有限权,按照逻辑推理来看待这一问题假设性是成立的,但我没有试过.....

1,sudo 和 su在效果上并不完全相同。我不是指的sudo是一次,而su是切换。是指它们本质上就有不同。
2,ubuntu的root密码似乎是为空,但不允许空密码。所以root才无法登陆。个人理解,不知对否。


还是编辑一下举个例子吧。不过都是我自己的看法,未必准确。
1、sudo是以普通用户的身份、superuser的权限去做事。而不是和su一样。譬如,假如你以user1的身份,执行sudo anyapp。如果这个anyapp在root和/home/user1下均有.anyapprc这个设置文件。那么sudo将会读取/home/user1下的文件,而su以后再执行,则会读取/root下的设置文件。这个原因我觉得是很显然的。sudo如果和su的本质是一样的,它就没有必要存在。

2、这个是偶的猜测了……因为我觉得一个系统把最高权限的密码设为随机得到的一个字符串,而该系统的使用者却不知道,这是一个很愚蠢的行为,还不如开着root。所以我觉得ubuntu应该是把root的密码设为了空,而又通过某种方式(sorry,im a newbie,i dont know...)禁止无密码登陆。无论从实际意义还是安全性上来说,都要比你说的随机密码更好。当然,只是猜测。如果要证实,就要靠用ubuntu的朋友把password和shadow贴出来了。也可能我是错的。



分享到:
评论

相关推荐

    Linux-普通用户无法正常登陆Xwindows问题解决

    当普通用户遇到无法正常登录XWindows的情况,通常是因为权限问题、配置错误或者是某些系统文件损坏导致的。针对这个问题,我们可以按照以下步骤进行排查和解决: 1. **错误现象**: 当普通用户尝试登录XWindows时...

    Linux php出现中文乱码的解决方法.docx

    首先,我们需要使用 `sudo` 权限打开这个文件: `sudo vi /etc/php5/apache2/php.ini` 然后,我们需要找到 `default_charset` 这一行,并将其修改为 `utf-8`: `;default_charset = "iso-8859-1"` 修改为 `...

    kali linux2.0 vega安装包

    在实际渗透测试中,了解并遵守法律法规至关重要,否则可能引起法律问题。 总的来说,Kali Linux 2.0 结合 Vega 可以为安全专业人员提供一个强大的平台,用于执行 web 应用程序的安全评估。尽管安装过程中需要一些...

    linux写shell需要注意的问题(必看)

    如果脚本需要在其他用户下运行,还需考虑`sudo`或`setuid`权限问题。 9. **脚本执行环境**: 脚本的执行环境可能影响其行为。`#!/bin/bash`或`#!/bin/sh`作为第一行的shebang指定解释器,确保脚本在预期的Shell...

    test_special_char.rar_linux 串口_linux 测试_串口 测试 linux_串口测试程序

    特殊字符在串口通信中可能会引起解析问题,例如控制字符(如CR、LF、ESC)和非打印字符,因此测试它们至关重要。测试串口对特殊字符的处理能力有助于确保在实际应用中,如数据传输、远程控制等场景,能够稳定可靠地...

    ceph安装手册.txt

    - 配置`ceph`用户的sudo权限,允许其无需密码即可执行root权限命令:通过命令`echo "ceph ALL=(root) NOPASSWD:ALL" &gt; /etc/sudoers.d/ceph`实现。 - 为了便于远程管理,需要在所有节点之间配置SSH免密登录。 #### ...

Global site tag (gtag.js) - Google Analytics