Linux普通用户执行root权限脚本且没有读写权限

需求:让Linux上普通用户执行一个脚本,非 root 用户不能读到这个脚本中的内容!
但是为了安全与管理分权,脚本需要给非 root 用户去执行这个脚本中的内容。

  • 以root用户登陆进入/home/test_acount目录创建中间过渡脚本cmd.sh

    cd /home/test_acount
    
#!/bin/bash
  
cat_sh=`cat $1`
su - james -c "$cat_sh"
  • 改变权限,让其他用户没有读的权限
chmod 700 cmd.sh
  • 编辑/etc/sudoers文件

    sudoedit /etc/sudoers
    

    找到## Allow root to run any commands anywhere添加写入以下内容(其中test_account为最终执行脚本用户-只有执行权限,没有读取,写入等操作权限)

    czc   ALL=(ALL)  NOPASSWD:/home/test_acount/cmd.sh
    
  • 然后在/home/test_acount/创建一个only_run_deploy.sh脚本(用于运行deploy.sh)

    echo 开始执行脚本!
    sh /home/test_acount/test_dir/deploy.sh
    echo 脚本执行完毕!
    
  • 改变权限 让所有用户没有任何权限且不能修改

    chmod 000 /home/test_acount/only_run_deploy.sh
    
    chattr +i /home/test_acount/only_run_deploy.sh
    
  • 在其他任何用户运行

    # 执行脚本
    sudo /home/test_acount/cmd.sh only_run_deploy.sh
    

这样我们在czc用户下可以root的身份运行test_acount账户目录下的/home/test_acount/test_dir/deploy.sh脚本,且czc帐号没有查看和操作/home/test_acount/test_dir/deploy.sh的权限!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小跟班大智慧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值