无法为其他用户 cd 到 AWS EC2 实例中的目录
Posted
技术标签:
【中文标题】无法为其他用户 cd 到 AWS EC2 实例中的目录【英文标题】:Cannot cd into directory in AWS EC2 instance for another user 【发布时间】:2018-05-12 12:52:11 【问题描述】:不确定这是否是发布此问题的最佳地点,如果不是,请指出正确的方向。
按照这些说明 - https://aws.amazon.com/blogs/big-data/running-r-on-aws/ - 我已在 AWS EC2 (Amazon Linux AMI) 实例上成功启动了 R、RStudio Server 和 Shiny Server。在初始化实例时,我按照说明通过在用户数据中添加代码行来创建用户和密码。
从我的主目录通过 ssh 进入我的实例后,我有以下内容:
[ec2-user@ip-012-34-56-78 home]$ ls
ec2-user johndoe shiny
我可以 cd 进入 ec2-user 目录,但是当我尝试 cd 进入 johndoe 目录时,我收到以下错误:
[ec2-user@ip-012-34-56-78 home]$ cd johndoe/
-bash: cd: johndoe/: Permission denied
有人知道我如何 cd 进入这个目录吗?我链接的文章没有提到它。
谢谢!
【问题讨论】:
【参考方案1】:ec2-user
没有该目录的权限。所以你有两个(或三个)选择:
sudo su -
成为 root。然后您就可以进入该目录并按照您认为合适的方式进行操作。
sudo chmod 755 /home/johndoe
这将使该目录在全世界都可读。
如果johndoe
用户是真实用户(即在/etc/passwd 中有一个条目),那么您可以sudo su - johndoe
成为该操作系统用户。
答案的相对优点取决于您希望系统中的安全性。如果您只需要查看,那么第一个或第三个答案可能是最好的,因为它们不是持久的变化。但是,如果您真的想通过ec2-user
使用该目录,那么您可能需要使用第二个答案。
【讨论】:
谢谢。我是这个 EC2 实例的唯一用户,我制作了 johndoe,以便我可以登录到 RStudio Server 并编写闪亮的应用程序。我不希望世界其他人能够看到或访问我保存在 johndoe 文件夹中的代码。听起来第一个答案对我来说应该足够了,谢谢! 我可以问一个后续问题吗 - 在我的 ec2-user 目录中有一个 ShinyApps 目录,在该目录中是我所有不同的闪亮应用程序。当我在 RStudio Server 中保存我的应用程序时,它们会保存到 home/johndoe/,然后我将它们移动到 home/ec2-user/ShinyApps,以便人们可以在线访问仪表板。我在 home/ec2-user/ShinyApps 中的代码安全吗? @Canovic - 我对环境的了解还不够,无法正确回答这个问题。您能否发布一个新问题,以便可能更熟悉 RStudio 的人回答? 正是我想要的。以上是关于无法为其他用户 cd 到 AWS EC2 实例中的目录的主要内容,如果未能解决你的问题,请参考以下文章