/var/www 目录归root:root其所有,这意味着没有人可以使用它并且完全没有用。既然我们都想要一个实际工作的 Web 服务器(并且没有人应该以“root”身份登录),那么我们需要解决这个问题。
只有两个实体需要访问。
PHP/Perl/Ruby/Python都需要访问文件夹和文件,因为它们创建了许多文件夹和文件(即/uploads/)。这些脚本语言应该在 nginx 或 apache 下运行(或者甚至是像 FastCGI for PHP 这样的其他东西)。
开发商
他们如何获得访问权限?我知道有人在某个地方以前做过这件事。然而,有数十亿个网站,您会认为会有更多关于此主题的信息。
我知道 777 是所有者/组/其他的完全读/写/执行权限。因此,这似乎不需要正确,因为它为随机用户提供了完全权限。
需要使用哪些权限,/var/www以便:
所有人都可以在那里读取、创建和运行文件(和目录)吗?
如果我是对的,Ruby 和 PHP 脚本不会直接“执行”-而是传递给解释器。所以不需要对/var/www...中的文件执行权限?因此,似乎正确的许可chmod -R 1660将使
这样对吗?
更新 1:我刚刚意识到文件和目录可能需要不同的权限 - 我在上面谈论文件,所以我不确定目录权限需要是什么。
更新 2:文件夹结构/var/www发生了巨大变化,因为上述四个实体之一总是添加(有时删除)多个级别的文件夹和子文件夹。他们还创建和删除其他 3 个实体可能需要读/写访问权限的文件。因此,权限需要对文件和目录都做上述四件事。由于它们都不需要执行权限(请参阅上面有关 ruby/php 的问题),我认为rw-rw-r-- …
这是输出df -k:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 10317860 7059008 2734732 73% /
none 847584 0 847584 0% /dev/shm
/dev/xvdb 153899044 192068 145889352 1% /mnt/ephemeral
Run Code Online (Sandbox Code Playgroud)
我正在使用 Centos EBS 启动映像。
我已经阅读了有关此的各种问题,但他们告诉要安装新驱动器。但我认为该驱动器已经安装在/dev/xvdb. 我对么?
我可以用这个吗:
mkswap -f /dev/xvdb
#add in /etc/fstab
/dev/xvdb swap swap defaults 0 0
swapon /dev/xvdb
Run Code Online (Sandbox Code Playgroud)
它会起作用吗?
我必须运行这个命令来初始化gitosis:
sudo -H -u git gitosis-init < /home/ec2-user/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
但这要求我输入 ec2-user 的密码:
$ sudo -H -u git gitosis-init < id_rsa.pub
[sudo] password for ec2-user:
Run Code Online (Sandbox Code Playgroud)
我没有密码,因为我使用默认的 .pem 密钥文件登录。
我知道我可以以 git 用户身份登录并执行此操作,但是还有其他方法吗?
更新:
使用 Linux AMI 12.09(微实例),在区域 us-east-1(弗吉尼亚北部)
amazon-ec2 ×2
linux ×2
centos ×1
chmod ×1
git ×1
partition ×1
password ×1
permissions ×1
sudo ×1
swap ×1