FreeTstar

loving Freedom + + loving Linux

  • 首页
  • Archive
  • 关于
  • 杂七杂八
  • 留言板
Twitter Sina RSS

GNU/Linux中的su

发布于 2011年06月9日 由 freetstar
13 条评论发表评论

su是switch user的缩写,为了从某个用户环境中切换到另一个用户环境中,比如说su – root是切换到root用户,并且使用root用户的环境变量,而su root是切换到root用户,但使用的是当前用户的环境变量,再多的就不再赘述.

su的存在方便了用户,但是也有安全隐患,su的滥用可能导致安全隐患.


本文主要体验利用PAM来限制su的行为


测试环境:ubuntu10.10

查看当前用户的情况

在Ubuntu系统中,默认安装时第一个用户被添加到admin组,我安装ubuntu时的用户是freetstar,用id命令查看freetstar所在的用户组

┌┌(freetstar@freetstar-lap)┌(3657/pts/1)┌(01:02pm:06/09/11)

┌-└┌(%:~)┌- id

uid=1000(freetstar) gid=1000(freetstar) groups=1000(freetstar),4(adm),20(dialout),24(cdrom),29(audio),30(dip),46(plugdev),110(netdev),111(lpadmin),119(admin),122(sambashare),125(libvirtd)

第一步:测试正常情况下的su操作

┌┌(freetstar@freetstar-lap)┌(3671/pts/8)┌(01:23pm:06/09/11)┌-

└┌(%:/var/log)┌- sudo passwd root

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

#说明,首先利用sudo给root用户设置密码

┌┌(freetstar@freetstar-lap)┌(3673/pts/8)┌(01:28pm:06/09/11)┌-

└┌(%:/var/log)┌- su – root

Password:

┌┌(root@freetstar-lap)┌(23/pts/8)┌(01:28pm:06/09/11)┌-

└┌(#:~)┌-

#su到root用户
┌(freetstar@freetstar-lap)┌(3674/pts/8)┌(01:31pm:06/09/11)┌-
└┌(%:/var/log)┌- sudo tail -f auth.log
……
Jun  9 13:30:15 freetstar-lap su[15097]: Successful su for root by freetstar
Jun  9 13:30:15 freetstar-lap su[15097]: + /dev/pts/7 freetstar:root
Jun  9 13:30:15 freetstar-lap su[15097]: pam_unix(su:session): session opened for user root by freetstar(uid=1000)
#查看auth信息,显示freetstar这个用户su到root用户成功
第二步:修改认证模块,只是注释掉这两个认证模块
sudo vim /etc/pam.d/su
# auth       required   pam_wheel.so
# auth       sufficient pam_wheel.so trust
第一行表示需要是wheel用户组的用户才可以执行su操作
第二行表示su时不需要提供密码

保存退出,尝试登录root用户,

┌┌(freetstar@freetstar-lap)┌(3662/pts/7)┌(01:39pm:06/09/11)┌-

└┌(%:~/Downloads)┌- su  - root

Password:

su: Permission denied

#提示被拒

┌┌(freetstar@freetstar-lap)┌(3675/pts/8)┌(01:38pm:06/09/11)┌-

└┌(%:/var/log)┌- sudo tail -f auth.log

……

Jun  9 13:39:28 freetstar-lap su[15097]: pam_unix(su:session): session closed for user root

Jun  9 13:39:32 freetstar-lap su[15407]: pam_authenticate: Permission denied

Jun  9 13:39:32 freetstar-lap su[15407]: FAILED su for root by freetstar

Jun  9 13:39:32 freetstar-lap su[15407]: – /dev/pts/7 freetstar:root

#提示失败

第三步:设置”wheel组”

Wheel本来的意义是让只有在Wheel组中的用户才有权限去执行su命令,但在现在的Linux发行版中,几乎没有了Wheel这样一个组


基本上只有BSD发行版才默认启用Wheel组.关于Linux中的wheel,看Richard大神怎么说的:here

在这里不用太麻烦地去添加wheel组,再usermod的将当前用户添加到wheel组中.我们只

需要重新修改认证模块的配置文件


sudo vim /etc/pam.d/su
auth       required   pam_wheel.so group=admin
auth       sufficient pam_wheel.so trust
#将默认的wheel组改成admin组,admin组即Ubuntu下的管理组


重新尝试su


┌┌(freetstar@freetstar-lap)┌(3687/pts/7)┌(01:50pm:06/09/11)┌-

└┌(%:~/Downloads)┌- su  - root

Password:

┌┌(root@freetstar-lap)┌(23/pts/7)┌(01:56pm:06/09/11)┌-

└┌(#:~)┌-

#成功了


auth.log就不再贴了,基本上和第一步的日志一样

这里有一个小问题:root用户默认不再admin组里,所以为了让root用户也可以无障碍su,需要将root用户添加到admin组中


Tips:

1 任何使用su成功与否的信息都会在日志中有记录

2 谨慎修改,修改不当会造成无法开机进入系统


欢迎疑问,求疑问




分类:linux前沿
VPS搭建OpenVPN教程
vps之间快速部署WordPress博客

13 则回应给 “GNU/Linux中的su”

  1. afaty CHINA Mozilla Firefox Linux 说道:
    2011年06月20日 12:50 下午

    虽然这样改很cool,但我还是觉得还是通过修改/etc/sudoers文件来实现更好一点。
    我个人不喜欢改/etc/pam.d/下的文件。
    另外,修改任何文件之前建议先给文件做备份,如:cp /etc/pam.d/su /etc/pam.d/su.orig,便于恢复。

    [回复]

    freetstar CHINA Google Chrome Linux 回复:
    六月 20th, 2011 at 1:32 下午

    不知道改了以后auth.log里还会不会有记录,没有实验过..

    对,修改之前先做备份,哈哈,

    [回复]

  2. Yean UNITED STATES Mozilla Firefox Windows 说道:
    2011年06月18日 10:30 上午

    学习了,要是删掉那个注释符,就更容易理解了 哈哈

    [回复]

  3. 凡尘飞扬 CHINA Google Chrome Windows 说道:
    2011年06月14日 11:27 下午

    处于安全考虑,应该禁止或者限制普通用户使用su

    [回复]

    freetstar CHINA Google Chrome Linux 回复:
    六月 14th, 2011 at 11:38 下午

    @凡尘飞扬, 是滴

    [回复]

  4. 远走高飞 Google Chrome Windows 说道:
    2011年06月14日 5:10 下午

    友情帮顶~

    [回复]

  5. 大智若鲁 CHINA Mozilla Firefox Windows 说道:
    2011年06月13日 7:59 下午


    正在制作ubuntu衍生版

    [回复]

  6. walfred CHINA Google Chrome Windows 说道:
    2011年06月13日 12:01 下午

    su -
    这个不错,可以带走环境变量

    [回复]

    freetstar CHINA Google Chrome Linux 回复:
    六月 13th, 2011 at 2:33 下午

    @walfred, 恩阿,

    [回复]

  7. Mucid CHINA Mozilla Firefox Windows 说道:
    2011年06月9日 11:50 下午

    貌似Linux发行版基本所有的用户都可以su。

    bsd就严格很多,一开始必须是wheel组。

    但是我给bsd安装su之后,只要可以sudo的用户,即使wheel这个组被删了也依旧可以su。

    但是我是基本不用su的,觉得太随意,命令也冗杂,不是很安全的说^)^

    [回复]

    freetstar CHINA Google Chrome Linux 回复:
    六月 10th, 2011 at 12:00 上午

    @Mucid, 应该是的,默认都没有限制的.

    可能是不是sudo的pam模块的问题,是不是配置文件

    [回复]

  8. 婉秋 CHINA Mozilla Firefox Linux 说道:
    2011年06月9日 3:08 下午

    要是能用fedora或者debian做例子就好,ubuntu的设置好像和他们不太一样,在用debian的时候有发觉,具体差别在哪我就不知道了 :roll:

    [回复]

    freetstar CHINA Google Chrome Linux 回复:
    六月 9th, 2011 at 3:12 下午

    @婉秋, ubuntu比较流行,但是确实改的和其他的不一致…其实最好的方法是去看他的配置文件..

    [回复]

发表评论 取消回复

电子邮件地址不会被公开。 必填项已用 * 标注

*

*


疑问 开心 悲伤 邪恶 惊叹 微笑 脸红 笑 惊讶 惊奇 迷惑 酷 憨笑 生气 阴险 转眼球 眨眼 主意 箭头 中立 哭 大笑

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-spam image

点击取消回复
第 1 页,共 1 页1
  • 欢迎订阅

  • Github

  • 近期评论

    • freetstar CHINA Mozilla Firefox Linux 发表在《留言板》
    • _Fly CHINA Google Chrome Linux 发表在《使用e4rat加速你的linux启动速度(ext4文件系统专用)》
    • walfred Mozilla Firefox Windows 发表在《留言板》
    • freetstar CHINA Mozilla Firefox Windows 发表在《用landslide创建html5 slide》
  • Spread Firefox Affiliate Button
  • 我的豆瓣

  • 链接表

    • 51开源社区
    • Adam's
    • delectate's blog
    • Don's
    • fl
    • ghostunix
    • Jasey Wang
    • Jerry's Blog
    • Moolight@Ericyue
    • OSMSG
    • panda
    • Pity is the Bomp
    • PT ubuntu
    • Tao Zhu
    • ubuntuhome
    • WOW!ubuntu
    • zhangzhfang
    • 丕字的blog
    • 傻东の学习笔记
    • 奶牛的blog
    • 孤风颠影
    • 弯柚博客
    • 熊猫党军委主席
    • 靖 轩
    • 马力哥
    • 黑孩儿
  • 我的支付宝

  • 功能

    • 登录
    • 文章 RSS
    • 评论 RSS
    • WordPress.org
© FreeTstar. WordPress 强力驱动 | Nest Theme by YChong