免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lsstarboy
打印 上一主题 下一主题

[FreeBSD] 使用sudo还是su?其中的安全隐患要如何掌控? [复制链接]

论坛徽章:
39
白银圣斗士
日期:2015-11-24 10:40:40酉鸡
日期:2015-03-20 14:15:44寅虎
日期:2015-03-20 14:13:59午马
日期:2015-03-20 14:13:16白羊座
日期:2015-03-20 14:12:54金牛座
日期:2015-03-20 14:12:09双子座
日期:2015-03-20 14:11:57巨蟹座
日期:2015-03-20 14:11:44狮子座
日期:2015-03-20 14:11:29亥猪
日期:2015-03-20 14:16:24戌狗
日期:2015-03-20 14:16:40申猴
日期:2015-03-20 14:17:05
1 [报告]
发表于 2015-06-27 09:36 |显示全部楼层
1、su和sudo都可能带来哪些安全隐患?
su,sudo都是执行都带root权限,很多公司都是开发人员部署业务环境的,根本不理解linux权限管理.
他们宁愿使用root登录,也不愿意遇到权限这等让他们头疼的问题,估计是windows用习惯了.我就接触过很多这样的开发人员.
不管是su还是sudo,都是可以篡改其他用户数据的,这个风险其实是很大的,所以宁可麻烦,也不要给不熟悉,不是核心人员su或sudo权限的账号,尤其是线上服务器的.隐约可以想到同城的悲剧.

2、你在实际工作中,是使用sudo更多一些还是su更多一些?
使用sudo更多,能用sudo解决的,觉不用su.而且很少使用`-s`,`-i`参数

3、你希望sudo进入基本系统吗?
当然希望

4、什么样的场合需要多人共用root密码?
很少吧.真正的业务服务器基本没这个需求.严格一点的,连sudo权限也不给的.

5、其他你认为su和sudo的优缺点。
`话题背景`里基本都说了,我再啰嗦下.
su直接切换到root账号下,以后所有命令都是root账号执行.优点就是一次切换,以后就不用考虑是不是root权限的问题.
sudo -s, -i 和此类似. sudo就是要提醒用户,正在使用root权限执行命定,但是用了 -s,-i之后,这个特性就没了.
这也是个人不喜欢使用sudo -s,-i,的原因.虽然他一次切换root权限下,以后的命令都可以不用加sudo了,但是也带来了一个隐患,有时候没注意,
就把不需要root权限执行的命令也再root权限下执行了.尤其是使用了zsh的某些设置,没有明显的root,非root权限的显示.
使用sudo也遇到一些问题,sudo -s会加载当前环境配置,如果直接用sudo执行一些当前环境下的一下命令,会提示找不到命令,这时候只好用`sudo -s`再执行命令,这点就感觉挺麻烦的,
不知道是不是还有其他参数可以解决该问题.

论坛徽章:
39
白银圣斗士
日期:2015-11-24 10:40:40酉鸡
日期:2015-03-20 14:15:44寅虎
日期:2015-03-20 14:13:59午马
日期:2015-03-20 14:13:16白羊座
日期:2015-03-20 14:12:54金牛座
日期:2015-03-20 14:12:09双子座
日期:2015-03-20 14:11:57巨蟹座
日期:2015-03-20 14:11:44狮子座
日期:2015-03-20 14:11:29亥猪
日期:2015-03-20 14:16:24戌狗
日期:2015-03-20 14:16:40申猴
日期:2015-03-20 14:17:05
2 [报告]
发表于 2015-06-29 09:42 |显示全部楼层
回复 17# lsstarboy


    不是相对路径问题,是sudo账号配置的环境命令,使用sudo会找不到.比如,Ubuntu的登录账号,默然会把`ll` alias 到'ls -l',如果用`sudo ll` 就会提示找不到命令.
再比如,配置好android环境,就能执行`adb`,`aapt`等一系列命令,这些环境配置写在`/etc/profile`,`/etc/bash.bashrc`下,但是用'sudo'执行就会找不到命令. 我用的是`UBUNTU`,不知道其他发行版本是不是也是这样

论坛徽章:
39
白银圣斗士
日期:2015-11-24 10:40:40酉鸡
日期:2015-03-20 14:15:44寅虎
日期:2015-03-20 14:13:59午马
日期:2015-03-20 14:13:16白羊座
日期:2015-03-20 14:12:54金牛座
日期:2015-03-20 14:12:09双子座
日期:2015-03-20 14:11:57巨蟹座
日期:2015-03-20 14:11:44狮子座
日期:2015-03-20 14:11:29亥猪
日期:2015-03-20 14:16:24戌狗
日期:2015-03-20 14:16:40申猴
日期:2015-03-20 14:17:05
3 [报告]
发表于 2015-06-29 09:43 |显示全部楼层
回复 16# lsstarboy


    Docker 是一个很好的解决方案

论坛徽章:
39
白银圣斗士
日期:2015-11-24 10:40:40酉鸡
日期:2015-03-20 14:15:44寅虎
日期:2015-03-20 14:13:59午马
日期:2015-03-20 14:13:16白羊座
日期:2015-03-20 14:12:54金牛座
日期:2015-03-20 14:12:09双子座
日期:2015-03-20 14:11:57巨蟹座
日期:2015-03-20 14:11:44狮子座
日期:2015-03-20 14:11:29亥猪
日期:2015-03-20 14:16:24戌狗
日期:2015-03-20 14:16:40申猴
日期:2015-03-20 14:17:05
4 [报告]
发表于 2015-06-29 10:11 |显示全部楼层
回复 21# lsstarboy


    有可能是为了安全考虑吧.但是`/etc/profile`,`/etc/bash.bashrc`这种全局的环境配置也不加载就有点不理解.不过现在也适用了,遇到这情况就在`sudo -s`下执行了

论坛徽章:
39
白银圣斗士
日期:2015-11-24 10:40:40酉鸡
日期:2015-03-20 14:15:44寅虎
日期:2015-03-20 14:13:59午马
日期:2015-03-20 14:13:16白羊座
日期:2015-03-20 14:12:54金牛座
日期:2015-03-20 14:12:09双子座
日期:2015-03-20 14:11:57巨蟹座
日期:2015-03-20 14:11:44狮子座
日期:2015-03-20 14:11:29亥猪
日期:2015-03-20 14:16:24戌狗
日期:2015-03-20 14:16:40申猴
日期:2015-03-20 14:17:05
5 [报告]
发表于 2015-06-29 10:28 |显示全部楼层
回复 23# lsstarboy


    恩,没多大关系,14楼说`一台服务器,一个管理员`让我想到了docker

论坛徽章:
39
白银圣斗士
日期:2015-11-24 10:40:40酉鸡
日期:2015-03-20 14:15:44寅虎
日期:2015-03-20 14:13:59午马
日期:2015-03-20 14:13:16白羊座
日期:2015-03-20 14:12:54金牛座
日期:2015-03-20 14:12:09双子座
日期:2015-03-20 14:11:57巨蟹座
日期:2015-03-20 14:11:44狮子座
日期:2015-03-20 14:11:29亥猪
日期:2015-03-20 14:16:24戌狗
日期:2015-03-20 14:16:40申猴
日期:2015-03-20 14:17:05
6 [报告]
发表于 2015-06-29 10:52 |显示全部楼层
回复 24# lsstarboy


    感谢.看了下`man sudoers`,找到了原因.确实默然是`env_reset`这个的原因
  1. Command environment
  2.      Since environment variables can influence program behavior, sudoers pro‐
  3.      vides a means to restrict which variables from the user's environment are
  4.      inherited by the command to be run.  There are two distinct ways sudoers
  5.      can deal with environment variables.

  6.      By default, the env_reset option is enabled.  This causes commands to be
  7.      executed with a new, minimal environment.  On AIX (and Linux systems
  8.      without PAM), the environment is initialized with the contents of the
  9.      /etc/environment file.  The new environment contains the TERM, PATH,
  10.      HOME, MAIL, SHELL, LOGNAME, USER, USERNAME and SUDO_* variables in addi‐
  11.      tion to variables from the invoking process permitted by the env_check
  12.      and env_keep options.  This is effectively a whitelist for environment
  13.      variables.
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP