在linux shell脚本中root切换到普通用户执行脚本或命令

原创 2016年06月01日 10:36:31

需求:

    安装deb包,设置程序安装后启动,不需要root权限启动程序 | 不能用root权限启动

    其他开机启动选项


方法:root临时降低权限   

secUser=`who am i | awk '{print $1}'`
#echo $secUser

su $secUser -c <指令> > /dev/null 2>&1  &   #这一条命令的执行权限是临时的,只在本条语句起作用

id -u  #  结果为0,还是root用户权限
 

附: su --help

  -c, --command COMMAND         pass COMMAND to the invoked shell
  -h, --help                    display this help message and exit
  -, -l, --login                make the shell a login shell
  -m, -p,
  --preserve-environment        do not reset environment variables, and
                                keep the same shell
  -s, --shell SHELL             use SHELL instead of the default in passwd


版权声明:本文为博主原创文章,未经博主允许不得转载。

linux shell脚本中切换用户执行命令方法

经常在写shell脚本时,会碰到要以另外一个用户来执行相关命令,其方法简单记下:   1、执行单个命令:su - user -c "command" 如:下面命令是以test用户在/...
  • TLMS_
  • TLMS_
  • 2017年05月26日 15:35
  • 1745

如何在shell下切换用户执行命令?

如何在shell下切换用户执行命令? su - dev -c "ls" ? “su -”切换用户,并且当前目录页切换到相应用户的根目录。“dev”是用户名“-c"...
  • lazy_p
  • lazy_p
  • 2014年11月27日 16:46
  • 6344

shell 脚本之切换用户

用su - 用户 -c 命令格式来执行. 有时候需要切换到root用户做一些操作,如果你的用户没有添加sudo权限,那么在脚本中实现就需要使用expect命令了,具体实现如下:#!/usr/bin...
  • Augusdi
  • Augusdi
  • 2015年05月13日 14:47
  • 15248

linux 普通用户登录后,执行 shell脚本切自动输入密码切换到root

#!/bin/bash expect -c " spawn su - expect \":\" send \"yourpassword\r\" interact " 当然安全性会降低,root用户的密...

1 Linux普通到root用户切换

1  Linux普通到root用户切换 1.1 Linux中的用户切换:su和su - 的区别 大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行...

linux 开机以某一个用户执行脚本

1 . 编辑:/etc/rc.local有些很特殊的情况 /etc/rc.local 不会被执行,可以 编辑 /etc/init.d/rc.local see link: http://www....

Linux终端执行shell脚本,提示权限不够的解决办法

今天在Linux尝试搭建dynamips的工作环境,在执行shell脚本时遇到个小问题 有一个名为start.sh的脚本文件,内容如下: #!/bin/bash ./dynamips.bin -H 7...

Linux中的用户切换(root授权)

Linux是一个多用户系统,但是其中只有一个超级用户root,root用户拥有许多的特权,例如可以执行一些系统命令,查看/etc/shadow等一些配置文件。而普通用户一般只能够在自己的home里面进...

Linux 从普通用户切换到root,两种方式的区别

 1、Linux中的用户切换:su和su - 的区别 大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户...

安卓下执行需要root权限的shell命令

需安卓系统已root String cmd = "busybox chmod 666 /dev/tty1";//要执行的shell命令 try { Process pro...
  • vipycm
  • vipycm
  • 2014年09月15日 09:23
  • 1540
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在linux shell脚本中root切换到普通用户执行脚本或命令
举报原因:
原因补充:

(最多只允许输入30个字)