首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动对接和setuid权限

启动对接和setuid权限
EN

Ask Ubuntu用户
提问于 2015-07-31 20:35:27
回答 1查看 797关注 0票数 1

好吧,这至少让我忙了一天,从昨晚开始。我正在尝试做一些非常简单的事情:运行一个bash脚本,它创建了几个文件夹并运行了一个docker容器,但是使用了upstart。但我得到了许可错误:

  • 创建文件夹的权限错误取决于它定义为setuid的用户
  • 无论如何,我得到了错误的cannot enable tty mode on non tty input

我尝试过将setuid与用户vuvu一起使用,或者只是将其置之不理。如果我不使用setuid,我就会得到cannot enable tty mode on non tty input,如果我使用设置为admin的用户,我会得到这个错误以及cannot create directory 'log/1438359854': Permission denied

下面是我的visudo输出:

代码语言:javascript
复制
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) NOPASSWD:ALL
%adm    ALL=(ALL) NOPASSWD:ALL
vuvu    ALL=(ALL:ALL) NOPASSWD:ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

我已经将用户vuvu作为admin的一部分,而当它作为adm的一部分而不起作用时。

我的新贵很简单:

代码语言:javascript
复制
description "Job docker_some_api.conf created by create_init.py"
author "create_init.py"
start on runlevel [2345]
stop on runlevel [!2345]
setuid vuvu
chdir /home/myuser/Docker/docker_some_api/
script
        exec /home/myuser/Docker/docker_some_api/run.sh
end script

这个shell脚本很简单(我只是简单地运行了ubuntu):

代码语言:javascript
复制
sudo docker run -t -i ubuntu

似乎什么都不起作用,我现在真的很沮丧。你们能帮忙吗?

EN

回答 1

Ask Ubuntu用户

发布于 2015-08-01 16:09:06

找到了!!

问题是指定-t,它永远不能工作,因为它分配的是一个伪TTY。systemd的一个类似问题是已报告,但这个问题是针对暴发户的。

所以我要做的就是改变到这个样子:

代码语言:javascript
复制
sudo docker run -i ubuntu

现在看起来很容易,永远不要在没有意识到它们所做的事情的情况下复制选项。

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

https://askubuntu.com/questions/655180

复制
相关文章

相似问题

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