首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脚本更改权限的权限?

脚本更改权限的权限?
EN

Unix & Linux用户
提问于 2015-07-22 04:36:42
回答 3查看 1.1K关注 0票数 1

我有一个直接访问某些磁盘的VMWare VM。为了运行(没有运行vmware作为su,这有它自己的问题),我需要改变设备的所有权。我已经使用尼莫手动完成了这一工作,因此我知道需要执行什么。

为此编写了一个shell脚本,我编写了

代码语言:javascript
复制
chown john:john /dev/disk/by-id/blahblah  /dev/anotherblah  /dev/lastoneblah

我将其保存为文件drive-owner,设置执行位,然后在根shell中将其所有者更改为root,并设置+s特殊模式标志。

根据ls的说法,结果是-rwsr-sr-x

如果我从一个正常的(非根) shell运行,我会从chown获得错误,不允许操作。它运行时没有来自根壳的抱怨。

我似乎错过了自动运行脚本作为根的部分。我认为这就是"setuid“权限和+s是如何指定它的的目的和功能。

我遗漏了什么?

EN

回答 3

Unix & Linux用户

发布于 2015-07-22 05:00:28

出于安全考虑,shell脚本忽略Setuid和setgid标志。

票数 1
EN

Unix & Linux用户

发布于 2015-07-22 07:25:33

按照这些步骤:

  • 试试sudo
  • 试试chmod +x script_path
  • 如果安全性不重要,请运行chmod 777 script_path
票数 1
EN

Unix & Linux用户

发布于 2015-07-22 07:34:11

@希尔德里德在上面的评论中注意到了这一点。我会把它扩展到一个答案,因为我认为它是正确的,强烈推荐的答案。

超级命令

…允许指定的用户像根用户一样执行脚本(或其他命令);或者它可以在执行命令之前根据每个命令设置uid、gid和/或辅助组。它旨在成为使脚本setuid安全的替代方案。Super还允许普通用户提供命令供其他用户执行;这些命令使用提供命令的用户的uid、gid和组执行。

(强调我的)。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/217520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档