标签: amazon-web-services

如何将具有 SFTP/FTP 访问权限的用户添加到 Amazon EC2 Centos 上的“/var/www/html/website_abc”文件夹?

可能重复:
Linux 目录权限

我正在与一些第三方开发人员合作,我想授予 SFTP(或 FTP)访问他们正在处理的网站的根文件夹的权限,'/var/www/html/website_abc'以便他们可以将文件上传到那里。请注意,我在同一个 EC2 实例上托管我的其他网站,例如'/var/www/html/website_xyz'.

只是为了强调我在 1 个 EC2 实例上使用多个网站,网站的结构如下:

/var/www/html/
/var/www/html/website_abc
...
/var/www/html/website_xyz

我的目标如下:

  • 用户“adeveloper”可以访问“/var/www/html/website_abc”,并且只能访问“/var/www/html/website_abc”
    • 我想用户 'adeveloper' 将使用 'adeveloper@[my elastic IP]' 作为登录 SFTP(或 FTP)的用户名,对吗?
  • 用户“adeveloper”无权访问“/var/www/html/”或我的 EC2 实例中的任何其他目录
  • 私钥文件呢?
    • 我是否将我的私钥文件传递给第三方开发人员 - 这样做是否可取?
    • 有没有办法为他们生成不同的私钥文件或允许他们使用用户名和密码登录?

我已经进行了搜索,但大多数人都在谈论如何通过 SFTP 访问 EC2,而我已经能够使用 WinSCP。

说明:

  • 我需要“开发人员”才能上传/var/www/html/website_abc具有“写”权限的内容
  • 我需要“adeveloper”对 下的任何文件/目录没有“写”权限/var/www/html/,理想情况下甚至没有“读”权限
  • 然而,这里似乎有一个大问题:
    • /var/www/html/已经拥有权限 777,因为这是我的 DocumentRoot 文件夹。那么,如何阻止“adeveloper”访问我的其他网站?

部分解决 了我使用 OpenSSH 设法实现了我的目标(我在 /var/www/html/website_abc/ 中创建了 .ssh 文件夹并生成私钥并将其提供给第三方开发人员)。我还了解到我永远不应该提供 AWS 给我的私有密钥文件。仍在学习 chroot。

centos ftp sftp amazon-ec2 amazon-web-services

19
推荐指数
1
解决办法
9万
查看次数

EC2 更新我现有的 AMI

我正在使用Elastic Load Balancing对我的Auto Scaling Group进行负载平衡,为此我有一个私有AMI来保存我的应用程序服务器 (Tomcat) 和我作为战争部署到它的 Web 应用程序......现在一切正常......什么如果我需要在我的AMI上更改我的 tomcat 配置。这不需要启动我的 AMI --> 登录 + 更改 Tomcat 配置 --> 创建新的 AMI --> 删除旧的 AMI 我不认为创建新的 AMI 是一个解决方案,因为它需要更新我的 Auto Scale组以添加我的新 AMI

有没有一种方法可以在不创建新 AMI 的情况下更新现有 AMI 中的数据?我只想拥有相同的 AMI ID

load-balancing amazon-ami amazon-ec2 amazon-web-services autoscaling

19
推荐指数
1
解决办法
3万
查看次数

Heartbleed 是否会影响 AWS Elastic Load Balancer?

Heartbleed OpenSSL 漏洞 ( http://heartbleed.com/ ) 影响 OpenSSL 1.0.1 到 1.0.1f(含)

我使用 Amazon Elastic Load Balancer 终止我的 SSL 连接。ELB 易受攻击吗?

openssl amazon-web-services amazon-elb heartbleed

19
推荐指数
1
解决办法
3920
查看次数

将版本化 S3 存储桶恢复到特定时间点

假设我为我的存储桶启用了 S3 版本控制:http : //docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html

然后,假设某人(例如,初级员工)弄乱了 S3 存储桶(意外删除了一些文件等)

然后如何将整个版本化存储桶恢复到特定时间点?我相信考虑到 S3 的 API,这应该是可能的,但我宁愿不必自己编写这样的脚本,因为害怕遗漏一些东西(我不是 AWS 专家)。

这个问题有没有好的解决方案?我使用 S3 存储桶作为我的 Rails 应用程序的图像存储,因此我可以将其用作 rake 任务的基于 Ruby 的东西将是理想的选择。

amazon-s3 ruby-on-rails amazon-web-services

19
推荐指数
1
解决办法
1万
查看次数

如何根据基于时间的计划启动和停止 AWS EC2 实例

是否有一种简单的方法可以在每天的给定时间启动和停止 AWS EC2 实例?这可以为我的开发和测试服务器节省大量资金。

amazon-ec2 amazon-web-services

19
推荐指数
3
解决办法
3万
查看次数

从 ECR 拉取 docker:dind 时,Docker 从 GitLab CI 登录 AWS ECR 失败,并显示“dial tcp: Lookup docker on xxxx:53: no such host”

我正在致力于将用于 GitLab CI/CD 构建和部署的 Docker 镜像集合从 Dockerhub 移植到 AWS 公共 ECR。除了我们用作 Docker-in-Docker 服务的标准 Docker 镜像之外,一切都按其应有的方式运行。从 Dockerhub 拉取时可以正常工作的相同镜像在从公共 ECR 拉取时无法登录。

.gitlab-ci.yml

    build-push:
      stage: package
      image: public.ecr.aws/x/x
      services:
      - public.ecr.aws/x/docker-dind:20.10
Run Code Online (Sandbox Code Playgroud)
$ aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_DOCKER_REGISTRY_URL
> Logging in to Docker registry...
> error during connect: Post http://docker:2375/v1.24/auth: dial tcp: lookup docker on 8.8.8.8:53: no such host
Run Code Online (Sandbox Code Playgroud)
$ cat /etc/hosts
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services gitlab docker amazon-ecr

19
推荐指数
3
解决办法
5万
查看次数

如何在 Route53 中为 GoDaddy 域设置 MX 记录?

似乎无法在 AWS 论坛上找到这个问题的答案,既不是在 Route53 手册中,也不是在 Stackoverflow/Serverfault 上以一种有意义的方式……而且 GoDaddy 的支持肯定没有得到答案:

如何在 Route53 中为 GoDaddy 域设置 MX 记录?

我的顶点记录和 Route53 上的所有 CNAME 记录都正常工作,指向我在 EC2 上的应用程序。但我希望能够登录到http://login.secureserver.net来检查我的基于 Web 的电子邮件是否有此域。

如果相关,GoDaddy 的域“电子邮件信息中心”会返回......

如果系统无法验证您的电子邮件地址或 MX 记录不正确,域设置可能无效。有关其他信息,请参阅管理域名的 DNS。

类型主机 IP 地址
名称服务器 ns-AAA.awsdns-47.com XXX.XXX.XX3.X22
名称服务器 ns-BBB.awsdns-55.net XXX.XXX.XX5.X86
名称服务器 ns-CCCC.awsdns-24.org XXX.XXX.XX6.X97
域名服务器 ns-DDDD.awsdns-11.co.uk XXX.XXX.XX8.92

GoDaddy 电子邮件服务器设置列为...

服务器标准端口 您的开放端口    
传入服务器 (POP3):
pop.secureserver.net 110, 995 (SSL) 110, 995 (SSL)
传出服务器 (SMTP): 
smtpout.secureserver.net 80, 3535, 25, 465 (SSL) 80, 3535, 25, 465 (SSL)

在 Route53 的 AWS 控制台中,是否只是创建一个带有...的 MX …

domain-name-system godaddy amazon-web-services mx-record amazon-route53

18
推荐指数
2
解决办法
6万
查看次数

EBS 支持哪些 AWS 功能?

我最近阅读了一篇文章AWS:好的、坏的和丑陋的,其中提到他们已经放弃了所有 EBS 支持的 AWS 功能。哪些功能是由 EBS 支持的显式(EBS 支持的 EC2 实例)或隐式(AWS Web 控制台)?

amazon-ec2 amazon-ebs amazon-web-services

18
推荐指数
2
解决办法
2663
查看次数

如何在 AWS Elastic Beanstalk 中升级到最新的 AMI?

我正在 AWS Elastic Beanstalk 上运行一个应用程序,如果我想使用最新的 AMI,看起来我需要创建一个新环境。

如果我知道最新的 AMI id 是什么,我可以在环境配置中更新它。

有什么地方可以找到最新的 Elastic Beanstalk AMI 的 ID,或者更好的是,是否可以在推出新版本时自动将实例替换为新版本?

amazon-web-services elastic-beanstalk

18
推荐指数
1
解决办法
7247
查看次数

/etc/security/limits.conf 软 nproc 限制似乎被忽略

我的 MongoDB 数据库在负载下遇到问题,日志中出现以下错误:

[initandlisten] pthread_create failed: errno:11 Resource temporarily unavailable
[initandlisten] can't create new thread, closing connection
Run Code Online (Sandbox Code Playgroud)

我得出的结论是,我需要提高 1024 的“ulimit -u”或“最大进程”设置,并且使用率可能已经超过了启动的 Web 前端(不知道如何检查) .

我编辑了 /etc/security/limits.conf 以添加最后两行(前两行已经存在):

*                soft    nofile          350000
*                hard    nofile          350000
*                soft    nproc           30000
*                hard    nproc           30000
Run Code Online (Sandbox Code Playgroud)

然后我重新启动了系统(顺便说一句,我应该这样做,还是重新启动 mongod 服务就足够了?)

重新启动后,查看 mongod 进程的进程限制,似乎软限制已被忽略:

$ cat /proc/2207/limits
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608 …
Run Code Online (Sandbox Code Playgroud)

linux ulimit amazon-web-services limits mongodb

18
推荐指数
1
解决办法
7万
查看次数