Linux使用指定用户运行程序

其实关于降权运行,也就这么一句: su - user -c "xxxxxx",也没必要写一篇文章来解释,但是出于安全考虑,以及对之前出现的aria2权限过高的问题,写一篇详细解释的文章。

1.降权运行程序的方法:

先查看下su命令的解释:

su -help

用法:

su [选项] [-] [USER [参数]...]

将有效用户 id 和组 id 更改为 USER 的 id。 单个 - 视为 -l。如果未指定 USER,将假定为 root。

选项:

 -m, -p, --preserve-environment  不重置环境变量  -g, --group <组>             指定主组  -G, --supp-group <组>        指定一个辅助组  -, -l, --login                  使 shell 成为登录 shell  -c, --command <命令>            使用 -c 向 shell 传递一条命令  --session-command <命令>        使用 -c 向 shell 传递一条命令                                  而不创建新会话  -f, --fast                      向shell 传递 -f 选项(csh 或 tcsh)  -s, --shell <shell>             若 /etc/shells 允许,则运行 shell  -h, --help     显示此帮助并退出  -V, --version  输出版本信息并退出

根据提示,我们只需要如下操作即可:

su - user -c "xxxxxx" //user为用户名,xxxxxx为执行的命令

这样我们就把程序运行用户切换为非root用户了,这样提高了安全性。

2.关于ShadowsocksR降权运行

之前我一直没这个意识,一个安装脚本的执行全部通过root来完成,包括安装,运行,自启,使整个程序权限都为root权限,这样做非常危险,毕竟root用户啥都能干,但是鉴于这两年使用shadowsocks以来,的确没发生过什么通过shadowsocks获取到系统权限导致系统出现问题的情况,其实最主要还是我们运行的小鸡上很少会出现生产环境,毕竟主要功能也就是扶墙罢了,所以可能出现问题,大不了重装系统解决,使得我有这个意识的是之前出现的一个问题,服务器安装Aria2之后,由于是通过root用户运行,并且Aria的WebUI可以自己设置下载路径,所以问题来了,一些别有用心的用户,把公钥文件下载到/root/.ssh文件夹,这样就可以直接通过密钥验证来登陆服务器?恐怖吧,如果Aria2权限降低些,也就恐怕不会出现这个问题了。所以对于运行权限来说,我们最好保持最小化原则。能用即可,不是万不得已,不要使用root运行。

我们可以这样做:

root安装程序,新建用户,chown把所有者全部改为新用户,通过su切换新用户运行命令。 说到这里,很多人就纳闷了,那为啥不直接使用普通用户安装运行程序呢? 这就涉及到sudo命令,所以能做的时候,尽量通过sudo来安装程序,不要直接切换为root用户运行,不出问题还好,出问题获取的是整个系统的权限。

» 本文链接:Linux使用指定用户运行程序 » 转载请注明来源:刺客博客 » VPS推荐:Hostdare 65折 年付16美元的GIA 洛杉矶Crea机房

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构

今咱们来聊聊JVM 堆外内存泄露的BUG是如何查找的前言内存泄露Bug现场查找线索总结

36040
来自专栏IT技术精选文摘

解Bug之路-记一次JVM堆外内存泄露Bug的查找

14630
来自专栏美团技术团队

LsLoader——通用移动端Web App离线化方案

背景 由于JavaScript(以下简称JS)语言的特性,前端作用域拆分一直是前端开发中的首要关卡。从简单的全局变量分配,到RequireJS实现的AMD模块方...

470170
来自专栏IMWeb前端团队

再见2015 再见cmd

本文作者:IMWeb yisbug 原文出处:IMWeb社区 未经同意,禁止转载 2015年已经快要过去了,你是否还在使用有着十几年历史的cmd命令行...

33390
来自专栏点滴积累

OpenStack(企业私有云)万里长征第六步——OpenStack网络及虚拟机存储位置

一、前言 昨天又装了一遍OpenStack。码农这项工作就如同人生,永远有你想不到的意外在等着你,时而是惊喜时而是悲伤。在装的过程中倒是很顺利,只是在安装完成之...

431100
来自专栏美团技术团队

Redis高负载下的中断优化

Redis 服务端的总体请求量从年初最开始日访问量百亿次级别上涨到高峰时段的万亿次级别,给运维和架构团队都带来了极大的挑战。

1.2K110
来自专栏解Bug之路

解Bug之路-串包Bug

笔者很热衷于解决Bug,同时比较擅长(网络/协议)部分,所以经常被唤去解决一些网络IO方面的Bug。现在就挑一个案例出来,写出分析思路,以飨读者,希望读者在以后...

8910
来自专栏软件测试经验与教训

看图说话:持久式XSS(跨站)漏洞示例

读书与实践是获取知识的主要渠道,学习的权力只掌握在每个人自己手中,让学习成为一种生活的习惯,这比任何名牌大学的校徽重要得多!

26220
来自专栏搜云库

HBase 深入浅出

HBase 深入浅出 HBase 在大数据生态圈中的位置 提到大数据的存储,大多数人首先联想到的是 Hadoop 和 Hadoop 中的 HDFS 模块。大家熟...

459100
来自专栏张戈的专栏

Nginx发布1.9.0版本,新增支持TCP代理和负载均衡的stream模块

昨天在公司微信群,CTO 分享了这个消息,对运维来说以后基于 TCP 协议的后端业务的高可用又多了一个新的选择,实在是棒极了! 一直以来,Nginx 并不支持 ...

31050

扫码关注云+社区

领取腾讯云代金券