公共访问
匿名的读取权限该怎么实现呢?也许除了内部私有的项目之外,你还需要托管一些开源项目。或者因为要用一些自动化的服务器来进行编译,或者有一些经常变化的服务器群组,而又不想整天生成新的 SSH 密钥 — 总之,你需要简单的匿名读取权限。
或许对小型的配置来说最简单的办法就是运行一个静态 web 服务,把它的根目录设定为 Git 仓库所在的位置,然后开启本章第一节提到的 post-update
挂钩。这里继续使用之前的例子。假设仓库处于 /opt/git
目录,主机上运行着 Apache 服务。重申一下,任何 web 服务程序都可以达到相同效果;作为范例,我们将用一些基本的 Apache 设定来展示大体需要的步骤。
首先,开启挂钩:
$ cd project.git
$ mv hooks/post-update.sample hooks/post-update
$ chmod a+x hooks/post-update
post-update
挂钩是做什么的呢?其内容大致如下:
$ cat .git/hooks/post-update
#!/bin/sh
#
# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".
#
exec git-update-server-info
意思是当通过 SSH 向服务器推送时,Git 将运行这个 git-update-server-info
命令来更新匿名 HTTP 访问获取数据时所需要的文件。
接下来,在 Apache 配置文件中添加一个 VirtualHost 条目,把文档根目录设为 Git 项目所在的根目录。这里我们假定 DNS 服务已经配置好,会把对 .gitserver
的请求发送到这台主机:
<VirtualHost *:80>
ServerName git.gitserver
DocumentRoot /opt/git
<Directory /opt/git/>
Order allow, deny
allow from all
</Directory>
</VirtualHost>
另外,需要把 /opt/git
目录的 Unix 用户组设定为 www-data
,这样 web 服务才可以读取仓库内容,因为运行 CGI 脚本的 Apache 实例进程默认就是以该用户的身份起来的:
$ chgrp -R www-data /opt/git
重启 Apache 之后,就可以通过项目的 URL 来克隆该目录下的仓库了。
$ git clone http://git.gitserver/project.git
这一招可以让你在几分钟内为相当数量的用户架设好基于 HTTP 的读取权限。另一个提供非授权访问的简单方法是开启一个 Git 守护进程,不过这将要求该进程作为后台进程常驻 — 接下来的这一节就要讨论这方面的细节。
http://git-scm.com/book/zh/%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84-Git-%E5%85%AC%E5%85%B1%E8%AE%BF%E9%97%AE
相关推荐
主要介绍亚马逊接SP-API口申请PII权限相关,这部分是针对对数据库、文件服务器和桌面/开发人员端点的公共访问所使用的网络保护控制。 使用的时候一定要根据自己搭建环境进行更改,不要直接复制。
数据库访问公共类
this.dgDataGridView = this.dataGridView1; this.EidtPanel = pEdit; this.ModuleID = "1"; this.TableName = "Item"; this.PageTool = ldhPageTool1; this.IsDelete = true;...//如果为true的话,不把数据返回,...
轻量级数据访问类,采用反射工厂模式支持多种数据库的访问,实现了数据库的常规访问、存储过程调用、事务处理等功能。可用于不同用途的数据库系统开发。 代码和使用文档均为本人自己编写,仅用于交流研究,若有错误...
通过这种方式,业务逻辑层只需调用公共数据库访问层提供的接口,即可完成对数据的处理,降低了代码的重复性,提高了可维护性。 在实际开发中,三层架构结合实体和公共数据库访问层,可以有效地组织代码,实现低耦合...
1. `public`:公共访问修饰符,允许所有类访问。 2. `private`:私有访问修饰符,只允许在同一类内部访问。 3. `protected`:受保护访问修饰符,允许同一类或其子类访问。 4. `internal`:程序集访问修饰符,只允许...
杜彩公共杜彩语言的公共访问目录以下目录可用于公共编辑: 词汇项目文字摘录翻译范例语法基本指南以下目录不可用于公共编辑,但可以自由请求: 高级语法指南“ CruseirosGuïtsaul Aive-a Ducaia”(Cruseiro杜卡...
ChatGLM6B默认的部署程序仅支持单用户访问,多用户则需要排队。测试过相关的几个Github多用户工程,但是其中一些仍然不满足要求。本程序实现多用户同时访问Chat GLM的部署接口,包括http、websocket(流式输出,...
(公共访问) 初始步骤 注意:建议为其中一个子网分配名称“公共”。 步骤1 转到路由表。 名称退出表(公共) 选择公共表。 选择“路线”选项卡,然后单击“编辑路线” 。 目标: 0.0.0.0/0并指向: igw-xxxx ...
在IT行业中,公共访问平台的设计和测试是至关重要的,尤其是对于名为"A Different Vibe"(ADV)这样的项目。本文将深入探讨如何利用ADV平台进行测试,以便为公共访问提供稳定且用户友好的服务。我们将主要关注HTML...
1. **public**:公共访问修饰符,允许任何地方的任何类访问。如果一个类、接口或方法被声明为public,那么它们可以在程序的任何地方被调用。 2. **protected**:受保护的访问修饰符,允许在同一包内以及不同包的...
1. **public**:公共访问权限,任何地方都可以访问。 2. **protected**:受保护的访问权限,允许同一包内的类和所有子类访问。 3. **默认(无修饰符)**:默认访问权限,只允许同一包内的类访问。 4. **private**:...
具有Vivacity的protobuf消息架构的公共访问回购 介绍 这是用于交换关于检测道路上物体(例如汽车,行人,骑自行车的人)的数据的方案。 该模式已公开提供,以鼓励跨行业的协作和数据的开放交换。 它还旨在: 通过...
公共访问修饰符是最不安全的访问修饰符,因为它允许任何人访问声明的成员。 在 Java 中,访问修饰符的使用是非常重要的,因为它们可以确保类、构造函数、变量、方法或数据成员的安全性和可访问性。合理地使用访问...
Alfred工作流程可帮助您将本地图像或图像从剪贴板上传到云存储提供商(现在支持 , 和 ),并获取公共访问URL。 为什么要创建这个? Markdown是编写文档并产生美观外观的一种出色语言。 但是,当您在文档中插入本地...
1. **公共访问(public)**:公共访问修饰符允许任何类的任何成员(包括方法和变量)在任何地方被访问。如果一个类、接口、方法或变量声明为public,那么它们可以在程序的任何地方被引用。 2. **默认访问(default...
- **public**:公共访问修饰符,可以在任何地方被任何类访问。 - **private**:私有访问修饰符,只能在定义它的同一个类内部访问。 - **protected**:受保护访问修饰符,可以被同一包内的类和所有子类访问。 - *...
- 公共访问权限是最宽松的,允许任何地方的任何代码访问具有此权限的类、接口、字段或方法。 - 类可以声明为public,表示该类可以在任何包中被访问。 - 如果一个方法或字段标记为public,那么它们可以在程序的...
4. **public**:公共访问权限是最宽松的,任何地方都可以访问。一般用于提供公共接口或需要跨包调用的类、方法和变量。 **继承**是面向对象编程的一个核心概念,它允许一个类(子类)继承另一个类(父类)的属性和...
- **public**:公共访问修饰符,定义的类、接口、方法或变量可以在任何地方被访问。 - **private**:私有访问修饰符,只能在同一个类内部访问。这是最高级别的访问限制。 - **protected**:受保护访问修饰符,...