本文作者:mai-lang-chai(Timeline Sec新成员) 本文共676字,阅读大约需要2分钟 0x00 简介 ---- Ruby on Rails是一个 Web 应用程序框架,是一个相对较新的...Web 应用程序框架,构建在 Ruby 语言之上。...0x01 漏洞概述 ---- 这个漏洞主要是由于Ruby on Rails使用了指定参数的render file来渲染应用之外的视图,我们可以通过修改访问某控制器的请求包,通过“../../../../...”来达到路径穿越的目的,然后再通过“{{”来进行模板查询路径的闭合,使得所要访问的文件被当做外部模板来解析。...修改Accept参数为任意文件地址,如: ../../../../../../etc/passwd{{ ? ? 其他利用方法,使用msf中的攻击模块: ? ?
sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。 sudo 允许一个已授权用户以超级用户或者其它用户的角色运行一个命令。...默认的安全策略记录在 /etc/sudoers 文件中。而安全策略可能需要用户通过密码来验证他们自己。也就是在用户执行 sudo 命令时要求用户输入自己账号的密码。...SHELL 所指定的shell ,或是 /etc/passwd 里所指定的 shell command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令 参考实例 切换到root用户: [root...@linux ~]# sudo su 指定用户执行命令: [root@linux ~]# sudo -u userb ls -l 以root权限执行上一条命令: [root@linux ~]# sudo...列出目前的权限: [root@linux ~]# sudo -l 列出 sudo 的版本资讯: [root@linux ~]# sudo -V
在生产中部署Rails应用程序时,开发人员可以从几个流行的应用程序服务器中进行选择,包括Puma,Unicorn和Passenger。...更新系统:sudo apt-get update && sudo apt-get upgrade安装依赖项 安装使用Ruby,构建Ruby模块和运行Rails应用程序所需的系统包: sudo apt-get...以root身份或使用sudo命令打开文件/etc/nginx/conf.d/mod-http-passenger.conf并验证以下两行是否存在且未注释: /etc/nginx/conf.d/mod-http-passenger.conf1...passenger_free_ruby;注意如果该文件尚不存在,则需要创建该文件并手动添加这些行。...粘贴passenger-config命令的输出以替换该passenger_ruby行。
,例如/tmp目录,然后将RVM脚本下载到一个文件中: cd /tmp 我们将使用该curl命令从项目的网站下载RVM安装脚本。...引导命令的反斜杠确保我们使用常规curl命令而不是任何已更改的别名版本。 我们将附加-s标志以指示该实用程序应该以静默模式与-S标志一起操作以覆盖其中一些以允许curl在失败时可以输出错误。...安装完成后,从安装目录中获取RVM脚本,这些脚本通常位于您的home/username目录中。...就像我们使用RVM脚本一样,我们可以移动到可写目录,通过将Node.js脚本输出到文件来验证它,然后使用less来读取它: cd /tmp \curl -sSL https://deb.nodesource.com...现在我们可以更新apt并使用它来安装Node.js: sudo apt update sudo apt install -y nodejs 此时,您可以开始测试Ruby on Rails安装并开始开发Web
准备 要学习本教程,您必须具备以下条件: Ubuntu 14.04 x64 具有sudo权限以deploy命名的非root用户 Rails应用程序托管在可以部署的远程git存储库中 (可选)为了提高安全性...警告:禁用root登录后,请确保您可以作为部署用户SSH连接到服务器,并在关闭您打开的root SSH会话以进行这些更改之前为该用户使用sudo。 本教程中的所有命令都应以deploy用户身份运行。...更新包索引文件: deploy@droplet:~$ sudo apt-get update 然后,安装Nginx: deploy@droplet:~$ sudo apt-get install curl...我们首先安装Rails gem,它将允许你的Rails应用程序运行,然后我们将安装bundler,它可以读取你的应用程序的Gemfile并自动安装所有必需的gem。...例如,将创建一个名为testapp_rails的目录。 我们只是克隆以检查我们的部署密钥是否正常工作,每次推送新更改时我们都不需要克隆或拉取我们的存储库。
介绍 当您准备部署Ruby on Rails应用程序时,需要考虑许多有效的设置。...由于Puma不是为用户直接访问而设计的,因此我们将使用Nginx作为反向代理,以缓冲用户与Rails应用程序之间的请求和响应。...准备 本教程假定您将在部署应用程序的用户上安装了安装了以下软件的Ubuntu 14.04服务器: 使用rbenv安装Ruby on Rails PostgreSQL与Rails 我们假设您的用户名为deploy...我们将使用vi: vi .rbenv-vars 您在此处设置的任何环境变量都可以由Rails应用程序读取。...我们现在创建并编辑该库存文件: sudo vi /etc/puma.conf 此文件中的每一行都应该是您要puma-manager管理的应用程序的路径。立即将路径添加到您的应用程序。
更新并安装依赖项 首先,我们要更新apt请用下面的的命令: sudo apt-get update 接下来,我们使用apt-get命令安装rbenv和Ruby所需的依赖项: sudo apt-get install...Ruby版本使用的文件。...通过rehash子命令,rbenv在该目录中维护填充程序,以匹配服务器上每个已安装的Ruby版本的每个命令。...然后通过将Node.js脚本输出到文件来验证,并用less读取: cd /tmp \curl -sSL https://deb.nodesource.com/setup_6.x -o nodejs.sh...卸载Ruby版本 当您下载更多版本的Ruby时,~/.rbenv/versions目录中可能会有很多残留文件。 使用ruby-build插件子命令自动执行删除。
3.解压缩 tarball: tar -xzvf ruby-2.3.0.tar.gz 4.移至解压缩的目录: cd ruby-2.3.0 5.从源代码配置和安装 Ruby: ..../configure make sudo make install 安装并创建 Rails 应用程序 使用gem( Ruby 的包管理框架)在服务器上安装Rails : sudo gem install...rails 在创建项目之前,请转到主目录: cd 以 example 命名新建一个 Rails 项目。...删除默认的 nginx 站点配置: sudo rm /etc/nginx/sites-enabled/default 为 Rails 应用程序创建新的 nginx 站点配置文件: /etc/nginx/...创建一个符号链接到 nginx 的sites-enabled目录以启用您的站点配置文件: sudo ln -s /etc/nginx/sites-available/example /etc/nginx
介绍 当您准备部署Ruby on Rails应用程序时,需要考虑许多有效的设置。...): Ruby on Rails, using rbenv PostgreSQL with Rails 我们假设您的用户名为 deploy 。...我们将使用vi: vi .rbenv-vars 您在此处设置的任何环境变量都可以由Rails应用程序读取。...,我们将生成一个脚手架控制器,以便我们的应用程序可以查看它: rails generate scaffold Task title:string note:text 现在运行此命令以更新生产数据库: RAILS_ENV...您已使用Nginx和Unicorn部署了Ruby在Rails应用程序的生产环境。 如果您希望改进生产Rails应用程序部署,您应该查看我们的如何使用Capistrano自动部署的教程系列。
介绍 Ruby on Rails,简称RoR,是一个用Ruby编写的非常流行的全栈Web应用程序开发框架。它允许您快速开发符合MVC(模型 - 视图 - 控制器)模式的Web应用程序。...sudo pkg install bash 我们需要为 /etc/fstab 添加一行,bash才能工作。使用ee或您喜欢的文本编辑器打开文件。...sudo ee /etc/fstab 将行fdesc /dev/fd fdescfs rw 0 0添加到文件末尾,如下所示。...sudo pkg install curl 移动到/tmp目录。 cd /tmp 从https://get.rvm.io中下载RVM安装程序脚本。...以退出提示。
我们应该运行更新以确保我们要安装的所有软件包都是最新的: sudo apt-get update 接下来,安装一些编译依赖项。...源文件创建一个临时文件夹: mkdir ~/ruby 移至新文件夹: cd ~/ruby 下载最新的稳定Ruby源代码。.../apt/passenger trusty main 按CTRL + x退出,输入y以保存文件,然后按ENTER确认文件位置。...root行是你要修改,以配合您的Rails应用程序的位置之一。如果您不想将域名分配给此应用程序,则可以跳过server_name行,使用您的IP地址。...因此,您可能需要重新运行命令以删除现有版本的Ruby并为Ruby二进制文件创建新的符号链接。它们列在本教程的第五步末尾。
安装完成后,您可以安装rbenv并使用它来安装Ruby, 首先,更新您的包列表: sudo apt update 接下来,安装安装Ruby所需的依赖项: sudo apt install autoconf...这可能会为每个gem的安装过程增加大量时间,因此请通过创建一个包含配置设置以关闭此功能的~/.gemrc文件来关闭本地文档生成: echo "gem: --no-document" > ~/.gemrc...Ruby版本使用的文件。...通过rehash子命令,rbenv在该目录中维护填充程序,以匹配服务器上每个已安装的Ruby版本的每个Ruby命令。...然后使用以下命令删除rbenv和所有已安装的Ruby版本: rm -rf `rbenv root` 注销并重新登录以将更改应用到shell。
Ruby on Rails 是一个快速开发的Web框架,Web设计人员和开发人员利用它能实现动态的全功能Web应用程序。...安装Passenger和依赖关系 1.安装使用Ruby,构建Ruby模块和运行Rails应用程序所需的系统包 sudo apt-get install build-essential libapache2...gem: sudo gem install fastthread 3.安装Ruby On Rails: sudo gem install rails 4....:/bin:/usr/games:/var/lib/gems/VERSION/bin" 6.在您的网站的公共文件夹中启动一个新的rails项目,以确保一切正常配置。...替换为你的应用程序名称: sudo rails new /var/www/html/example.com/public_html/application 配置Apache以使用Passenger 1.
什么是Ruby on Rails? Ruby on Rails是一个服务器端Web应用程序框架。它维护了一组策划组件和“约定优于配置”的理念,使得我们可以快速开发应用程序而无需大量样板。...在你开始之前 熟悉我们的入门指南并完成设置Linode主机名和时区的步骤。 本指南将尽可能使用sudo。完成“ 保护您的服务器 ”部分以创建标准用户帐户,加强SSH访问并删除不必要的网络服务。...apache2-doc apache2-utils 复制默认站点配置文件: sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2...nodejs 安装Ruby on Rails 使用Rubygems包管理器安装Rails: gem install rails --version=5.1.4 将您的Rails应用程序移动到您的Linode...将路径替换为您的Rails应用程序,Ruby解释器的路径(来自上一步),主机名或IP地址以及必要时的任何其他信息。
以管理员身份运行: visudo 然后搜索: Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin 将其改成: Defaults secure_path.../git # 如果你从源代码安装了Git,修改git的bin_path为/usr/local/bin/git sudo -u git -H editor config/gitlab.yml # Make...attack的示例配置文件 sudo -u git -H cp config/initializers/rack_attack.rb.example config/initializers/rack_attack.rb...gitlab config. # 默认的,gitlab-shell的配置文件是由你的gitlab主配置文件生成的。...-u git -H bundle exec rake gitlab:env:info RAILS_ENV=production 编译静态文件 sudo -u git -H bundle exec rake
使用Ruby版本管理器(RVM)安装Ruby 2.2.3。 获得最新版本的RVM。...redmine; sudo usermod -a -G rvm redmine sudo adduser redmine sudo 以redmine用户身份登录: su - passwd redmine...su redmine cd 以新用户身份下载Redmine tarball。...Redmine的配置文件中。...bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate RAILS_ENV=production
在Ruby on Rails应用程序中,它可以轻易地映射到表示层的Web服务器,应用程序层的Rails服务器和数据层的数据库。...从 app-server 上的 sammy 用户开始,切换到在第一步中创建的 tunnel 用户: sammy@app-server$ sudo su tunnel 使用以下标志和选项运行ssh命令,以在...保存并关闭该文件,然后重新加载systemd配置以确保它获取新的服务文件: sammy@app-server$ sudo systemctl daemon-reload 启用db-tunnel服务,以便在...重新加载systemd,以便它读取新的服务文件,然后启用并启动app-tunnel服务: sammy@web-server$ sudo systemctl daemon-reload sammy@web-server...在Web浏览器中访问 Web服务器 的公共IP以查看其运行情况: http://web-server_public_IP/tasks 结论 通过本教程,您已经在三层体系结构上部署了Rails应用程序,并保护了从
您可以作为具有sudo权限的用户在Ubuntu服务器上运行本教程。没有服务器的用户可以购买和使用腾讯云服务器或者直接在腾讯云实验室Ubuntu服务器上机安装Rails和Nginx 。...第一步,使用RVM安装Ruby 在我们做任何其他事情之前,我们应该进行快速更新,以确保我们下载到虚拟服务器的所有软件包都是最新的: sudo apt-get update 完成后,我们就可以开始在Ubuntu...Passenger为用户提供自动设置或自定义设置之间的选择。按1并输入以选择推荐的简易安装。...完成后,它将告诉您有关对nginx配置文件所做的更改以及如何在虚拟服务器上部署Ruby on Rails应用程序。 最后一步是启动nginx,因为它不会自动执行。...第八步,将Nginx连接到您的Rails项目 安装rails后,打开nginx配置文件 sudo nano /opt/nginx/conf/nginx.conf 将root设置为新rails项目的公共目录
如果系统上存在旧的Ruby1.8,先删除掉: sudo apt-get remove ruby1.8 下载Ruby源码,编译安装: mkdir /tmp/ruby && cd /tmp/ruby # 这里替换官方文档的下载地址为...://rubygems.org https://gems.ruby-china.org/ 3.Go 从Gitlab8.0开始,Git的HTTP请求由gitlab-git-http-server来处理。...# 配置redis使用socket来监听 sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.orig # 把'post'设置为0以禁止监听TCP..."双引号" sudo -u git -H editor config/database.yml # PostgreSQL MySQL都适用: # 修改database.yml的权限,确保git用户可以读取该文件...RAILS_ENV=production # 默认情况下,gitlab-shell的配置是根据Gitlab的配置生产的. # 你可以运行下面的命令查看和修改gitlab-shell的配置: sudo
[Cover] 学 Ruby 和 Rails 有一段时间了,后面准备也准备把站点换了。不过开始开发之前,我先把 Rails 部署的坑先踩了。...apt-get update $ sudo apt-get upgrade 现在开发过程中 Git 服务几乎是必不可少的,为了更好的使用它需要对服务器 .ssh 文件夹进行设置: $ sudo chown...软件环境配置 首先需要安装的就是 Ruby、Rails ,过程并没有太多的难度,具体说明可以参考 RubyChina。...=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db 安装最新的 Ruby、Rails $ rvm install 2.4.0 $ rvm use...etc/init 新建 puma 的应用管理文件: $ sudo vim /etc/puma.conf 文件里的每一行就是你希望puma-manager管理的一个应用的路径。
领取专属 10元无门槛券
手把手带您无忧上云