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

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

    cd /home/test_acount
    
#!/bin/bashcat_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.shchattr +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的权限!

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

  1. linux中的root命令,在linux终端中执行root命令

    Linux终端中如果要执行root命令该怎么做呢?下面由学习啦小编为大家整理了linux终端中执行root命令的方法,希望对大家有帮助! 在linux终端中执行root命令的方法 使用sudo命令,命 ...

  2. Linux用某一用户创建文件,Linux创建用户,并赋予管理指定目录的权限

    Linux创建用户,并赋予管理指定目录的权限 一.创建用户 1.创建用户: useradd 用户名 2.设置密码: passwd userName 随后会提示输入密码 二.赋予权限 Linux给用户和 ...

  3. linux 文件夹换所属用户,linux普通用户su root切换提示没有文件或目录的解决方法...

    1. 首先进入单用户模式: 1). ubuntu : 上述情况可以在grub界面选择第二项修复,但没有grub可以参考: 1.重启ubuntu,随即长按shirft进入grub菜单: 2.选择reco ...

  4. linux普通用户su root切换提示没有文件或目录

    linux普通用户su root切换提示没有文件或目录 用root无法远程和本地登录 普通用户可以远程登录,但是无法切换root 解决办法: 重启服务器进入单用户模式: 在grub上相应要启动的内核上 ...

  5. Linux中su无法切换到目录,linux普通用户su root切换提示没有文件或目录的解决方法...

    1. 首先进入单用户模式: 1). ubuntu : 上述情况可以在grub界面选择第二项修复,但没有grub可以参考: 1.重启ubuntu,随即长按shirft进入grub菜单: 2.选择reco ...

  6. 宝塔面板使用WWW用户执行计划任务命令 解决laravel日志权限问题 宝塔设置计划任务执行用户

    宝塔面板使用WWW用户执行计划任务命令 解决laravel日志权限问题 宝塔设置计划任务执行用户 问题背景 宝塔面板的计划任务默认执行用户是root,如果任务里有打印日志的操作,则自动创建的log文件 ...

  7. 12c rac在安装grid软件执行root.sh脚本的时候出现PRCT-1431,CLSRSC-180

    今天在安装12c  rac数据库在安装grid软件执行root.sh脚本的时候出现以下报错: PRCT-1431 : The Oracle ASM Dynamic Volume Manager com ...

  8. linux下普通用户执行root权限脚本

    1.安装expect yum install -y expect 2.示例 a.admin切换root用户脚本 #!/usr/bin/expect set passwd "123456&qu ...

  9. linux切换用户执行脚本

    在我们日常运维中,在一个用root权限执行的脚本中,需要经常切换到不同用户执行对应的命令,因此如下总结了如何在root用户有执行权限的脚本中如何切换到不同用户执行对应的命令或者脚本的几种方式: 1. ...

  10. linux收回用户执行权限,Linux之文件权限管理命令

    一.查看文件属性. 1.命令ls -l filename 查看长格式形式查看文件详细属性. ls -l file1 ##查看文件file1的详细属性 结果: - |rw-r--r--| 1 |kios ...

最新文章

  1. 基于.NET实现数据挖掘--朴素贝叶斯算法
  2. excel不能编辑如何解锁_偷梁换柱之EXCEL编辑保护和VBA隐藏代码保护的解锁
  3. 初探EntityFramework——空Code First模型
  4. LeetCode 345. Reverse Vowels of a String
  5. iphone连上wifi却上不了网_我想问问为何我的手机连上家里的wifi,可以用,但是将网线连接路由器与主机电脑时,电脑却上不了网...
  6. c-free5.0运行程序错误_web前端之异常/错误监控
  7. abp vnext_SQL Server vNext – Microsoft是否喜欢Linux?
  8. Mac安装Homebrew教程
  9. (day 26 - 广度优先搜索 )剑指 Offer 32 - III. 从上到下打印二叉树 III
  10. 程序猿的中秋节——浪漫至死不渝!!
  11. python33个保留字基本含义_Python保留字总结
  12. [代码审计]信呼协同办公系统2.2存在文件上传配合云处理函数组合拳RCE
  13. 【渝粤题库】陕西师范大学292161社会保障概论 作业(专升本)
  14. calc() 工作原理
  15. 树莓派驱动低成本双目VR摄像头
  16. 自问自答学ArrayList,看这篇就够了,详解问答
  17. 英语语法总结--特殊词精讲
  18. 拼团系统开发|全民拼购商业模式解读
  19. 鸿蒙使用linux内核微内核,浅谈鸿蒙操作系统的微内核
  20. Spring Cloud Nacos整合 Seata 实现分布式事务

热门文章

  1. 手机安全卫士(四)----- Splash界面
  2. activitimq集群搭建_activemq集群的搭建
  3. 负载均衡——三角传输
  4. android连接wifi不能上网,手机wifi连接上但不能上网怎么办
  5. 多项式曲线拟合 c语言6,多项式曲线拟合
  6. 50个程序员的网站!建议收藏
  7. 抓取百度页面html,百度蜘蛛不抓取页面的解决方法
  8. 个性化网站建设的一般流程
  9. 第六届中国多式联运合作与发展大会暨多式联运示范成果展在京举办
  10. 利用手机模拟器进行apk抓包分析