Linux ElasticBeanstalk-将ec2用户添加到另一个组
我有一个cron作业,需要在我的ec2实例上的Linux ElasticBeanstalk-将ec2用户添加到另一个组,linux,amazon-web-services,amazon-ec2,amazon-elastic-beanstalk,Linux,Amazon Web Services,Amazon Ec2,Amazon Elastic Beanstalk,我有一个cron作业,需要在我的ec2实例上的ec2 user下运行,它需要能够写入我的web应用程序的标准日志文件。但是,日志文件属于webapp(按照正常情况) 我已成功更改日志文件的权限,以便所有者和组都可以访问这些日志文件webapp:webapp。但是,当我试图将ec2用户添加到webapp组时,我遇到了麻烦 我可以在SSH中使用sudo usermod-a-G webapp ec2 user很好地执行此操作,但是当我尝试通过EB容器命令添加此命令时,我收到一个错误,提示必须有一个tt
ec2 user
下运行,它需要能够写入我的web应用程序的标准日志文件。但是,日志文件属于webapp
(按照正常情况)
我已成功更改日志文件的权限,以便所有者和组都可以访问这些日志文件webapp:webapp
。但是,当我试图将ec2用户
添加到webapp
组时,我遇到了麻烦
我可以在SSH中使用sudo usermod-a-G webapp ec2 user
很好地执行此操作,但是当我尝试通过EB容器命令添加此命令时,我收到一个错误,提示必须有一个tty才能运行sudo
。在不使用sudo的情况下运行该命令会导致/bin/sh:usermod:command not found
任何人都知道通过Elastic Beanstalk部署配置将
ec2用户添加到webapp
组的任何其他方法。您不应该使用sudo,部署脚本由root用户运行
此外,这是一个服务器命令,请在命令部分而不是容器命令部分执行
commands:
01_set_user_role:
command: "usermod -a -G webapp ec2-user"
在上下文中(在.ebextensions/yourconf.config中)
不确定sudoers文件的问题,但通常将用户添加到组(而不是手动执行命令)的更简洁的方法是使用.ebextensions
文件的users
部分。例如,在.ebextensions/something.config
中:
users:
ec2-user:
groups:
- webapp
我不能肯定这是否是一个答案,因为我需要它的具体项目已经从我手中夺走了,但在阅读了网站上的文档后,似乎很有可能。谢天谢地,你确切地问了我在搜索什么。请考虑接受正确的答案。
container_commands:
001-enableroot:
command: echo Defaults:root \!requiretty >> /etc/sudoers #disables error related to needing a tty for sudo, allows running without cli
users:
ec2-user:
groups:
- webapp