首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SUID不适用于Bash

SUID不适用于Bash
EN

Stack Overflow用户
提问于 2014-07-28 17:50:43
回答 1查看 2.2K关注 0票数 0

我编写了一个简单的bash脚本,对主目录进行备份,e将其放入/var/ backup中。由于该目录是受保护的,所以我将脚本写为root,然后设置SUID。

代码语言:javascript
复制
armando@ubuntu:~/scripts/bash $ ll
-rwsr-xr-x 1 root    root    2596 Jul 28 10:43 homebackup.sh*

即便如此,当脚本试图写入/var/backups时,我仍然会得到“拒绝权限”错误。为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-28 18:02:16

在Linux和大多数其他现代UNIX家庭系统中,setuid位只被识别为直接二进制可执行文件,而不是脚本。

这是出于设计和安全考虑。您可以通过为您的setuid脚本构建一个编译过的包装器,或者使用一个现有的工具(例如sudo,通过配置来避免在将特定脚本调用为所需的用户时需要密码)来解决这个问题。

this comprehensive discussion on UNIX StackExchange

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

https://stackoverflow.com/questions/25001206

复制
相关文章

相似问题

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