Experimentieren mit Git, Ich habe Gitlab für ein selbst gehostetes Repository eingerichtet und es sieht gut aus.Kann Gitlab/Gitolite korrekten Benutzernamen/E-Mail erzwingen
Die eine Sache, die mich nervt, ist, dass es scheint, dass jeder wie jeder andere Commits machen kann (zB: ein Commit vortäuschen).
also: Ich habe meine Benutzer-Setup in Gitlab haben mit einem öffentlichen Schlüssel Zugang
- User1
- User2
Jetzt nur die Benutzer drücken kann - ihre privaten SSH-Schlüssel verwenden - aber es scheint, Es gibt nichts zu stoppen User2 optimieren ihre gitconfig zu verpflichten unter dem Namen User1 und drängen das?
Die Geschichte in Gitlab und git -show die Committer zeigt, wie alles, was der gitconfig Text User1 war. Ich möchte, dass Gitlab den Benutzernamen, der dem schiebenden SSH-Schlüssel zugeordnet ist, stattdessen in den Verlauf stempelt, damit ich weiß, wessen SSH-Schlüssel verwendet wurde.
Das Szenario ist das Repo würde in einer Teamumgebung verwendet werden und es scheint nur ratsam, keine gefälschten Commits zu erlauben.
Ich habe einige Lesung getan und verstehen, dass in der Regel könnte man den Workflow ändert ein gesegnetes Repository haben und haben nur Committer vertraut, die das Push - aber in diesem Stadium beim Lernen git ich in einem zentralisierten bleiben will/SVN-Typ-Workflow.
Ist dies mit Haken möglich?
Es gibt eine similar question beantwortet für Gitosis aber auch das scheint nur den Committer aus einer Reihe von Benutzern zu erzwingen, die User1 Spoofing als User2 nicht stoppt - soweit ich das beurteilen kann.
PS: Vielleicht stelle ich die falsche Frage - gibt es einen Weg in Gitlab zu entdecken, welcher SSH-Schlüssel (und somit echter Benutzer) verwendet wurde, um Code in den Repo zu schieben? Es scheint nicht so von dem, was ich finden kann.
Ich habe das versucht und es funktioniert fast, aber ich bekomme einen seltsamen Wert für $ GL_USER. Der Hook läuft aber mit "_remote: no commit found with Vorname_lastname_gmail_com_1345598530 als Committer Name_". Ich weiß nicht, wo diese letzte Reihe von Zahlen herkam - irgendein inneres Gitlab-Ding? Gitlab scheint nichts anderes als [ihre Web-Hooks] zu unterstützen (https://github.com/gitlabhq/gitlabhq/issues/476), also wird das vielleicht nicht für Gitlab funktionieren? – fiat
Nach etwas mehr Graben ist der $ GL_USER-Wert von _firstname_lastname_gmail_com_1345598530_ die Bezeichnerspalte der 'keys'-Tabelle in der gitlab-Datenbank, die die ssh-Benutzerschlüssel speichert. Es scheint automatisch generiert und nicht über die Benutzeroberfläche einstellbar zu sein. – fiat
@fiat Ich bestätige: 'GL_USER' wird mit dem Namen des öffentlichen Schlüssels, von Gitlab auf diese Weise benannt und von gitolite registriert. – VonC