Gitea: Скрыть пользователей от общего просмотра

Созданный на 13 нояб. 2017  ·  60Комментарии  ·  Источник: go-gitea/gitea

  • Версия Gitea (или ссылка на фиксацию): 1.2.3
  • Версия Git: 2.15
  • Операционная система: CentOS
  • База данных (используйте [x] ):

    • [] PostgreSQL

    • [] MySQL

    • [] MSSQL

    • [x] SQLite

  • Можете ли вы воспроизвести ошибку на https://try.gitea.io :

    • [] Да (укажите пример URL)

    • [ ] Нет

    • [x] Не имеет отношения

  • Суть журнала:

Описание

Я думаю, что должна существовать опция конфигурации, чтобы запретить просмотр учетных записей пользователей из публичного просмотра. У меня есть учетные записи пользователей в моем экземпляре Gitea, которые я не хотел бы, чтобы другие видели. Возможно, это можно сделать с помощью шаблонов, но на данный момент я не уверен.

kinfeature revieweconfirmed

Самый полезный комментарий

Все еще хотел ...

Все 60 Комментарий

Определите «просмотр». Вы имеете в виду такие объявления, как /explore/users ? Как насчет того, чтобы они комментировали общественные вопросы, вы хотите, чтобы этот комментарий был скрыт? Следует ли не отображать фиксацию в публичном репо?

(кстати, ни один из двух последних случаев не имеет смысла :))

Я думаю, это предназначено для того, чтобы спрятаться от explore/users

@bkcsoft Да, я имею в виду /explore/users . По правде говоря, я совсем забыл об этой проблеме. Мне удалось решить эту проблему с помощью шаблона.

Чтобы полностью ответить на ваш вопрос, у меня есть пользователь root и другие пользователи "только для чтения", которых я не хочу отображать на странице /explore/users . Если у них нет коммитов, они по сути скрыты от публичного просмотра. Я хочу запретить кому-либо входить в систему с правами root или «только для чтения».

Примечание:

  • Под «только для чтения» я подразумеваю, что у меня есть учетные записи, которые имеют доступ только для чтения к репозиториям в моей основной учетной записи Gitea.

@demonpig не

@techknowlogick Вот и все.
Файл находится в: ${GITEA_HOME}/custom/templates/explore

{{template "base/head" .}}
<div class="explore users">
        {{template "explore/navbar" .}}
        <div class="ui container">
                Users not viewable.
        </div>
</div>
{{template "base/footer" .}}

@demonpig спасибо

Было бы неплохо иметь, помимо опции, которая скрывает всех пользователей от публичного просмотра, возможность скрыть определенных пользователей от публичного просмотра. Как и резервные локальные учетные записи, когда у вас включен ldap auth = /.

+1
Я только что столкнулся с той же проблемой - учетная запись только администратора, отличная от LDAP, отображается заметно на целевой странице. Это требует "творческих" попыток входа в систему ....

Да, это было бы неплохо. На данный момент мне нужно было 403 всех, кто посещает /explore/users через NGINX.

FWIW, похоже, этого хочет и сообщество gitea, и gogs.

https://github.com/gogits/gogs/issues/5080
https://github.com/gogits/gogs/issues/3248

Отказ в доступе только к / explore / users не решает проблему. Пользователей по-прежнему можно найти через API:

curl -X GET "http://gitea/api/v1/users/search" -H  "accept: application/json"

@shuhaowu Хороший улов! Совершенно забыл заблокировать доступ и к этой конечной точке.

Я бы хотел увидеть это, чтобы администратор не был таким заметным.

Чтобы уточнить, является ли эта проблема с REQUIRE_SIGNIN_VIEW равным true или false ?

@davidsiefert Я так не считаю. В принципе, можно ли добавить параметр конфигурации, который предотвратит отображение учетной записи root или всех других пользователей как из API, так и из конечных точек /explore/users ? Может быть, Gitea можно настроить / разработать таким образом, чтобы отображались только пользователи, которые совершили коммиты?

… Или тех, кто соглашается на публикацию.

Это было бы важной функцией для нас. Пользователи не должны видеть других пользователей.

+1 запрос на скрытие пользователей от других, кроме администратора (добавить флаг прав)

+1

Как это будет обрабатываться в API?

+1

+1

Эта проблема была автоматически помечена как устаревшая, поскольку в последнее время не было активности. Он будет закрыт, если в течение следующих 2 недель не будет никакой активности. Спасибо за ваш вклад.

Все еще хотел ...

да. Однозначно все еще хотел.

временное решение (просто скрывает параметры от просмотров) для тех, кто спешит, здесь: https://github.com/gogs/gogs/issues/5080#issuecomment -482657310

для тех, кто спешит сюда: защитные очки # 5080

@miqmago, как это мешает вручную набирать "/ explore / users" в браузере?
Я предполагаю, что исправление routes.go (около https://github.com/go-gitea/gitea/blob/master/routers/routes/routes.go#L247) обязательно, не так ли?

Также # 6530 был признан дубликатом.
Но я хотел бы подчеркнуть, что выпущенная функция частной организации, но с возможностью раскрытия всех пользователей даже из любой частной организации, должна рассматриваться как дыра в безопасности: wink:

Можно ли перерасти эту проблему в ветку 1.8.1?

Это не дыра в безопасности, поскольку критерием приема никогда не было сокрытие пользователей, которые являются частью скрытых организаций. Вот для чего этот билет.

Не дыра в безопасности

В порядке :)

Но можно ли добавить критерии, позволяющие скрыть пользователей из одной частной организации в другую? Может быть по желанию.
Или хотя бы необязательная блокировка маршрута "/ explore / users" и соответствующего шаблона ...
Я был бы рад увидеть это в 1.8.x. Извините, моих текущих навыков в го недостаточно, чтобы внести некоторый пиар :(

@igsol , ты прав, я обновил

С моей точки зрения, это должно быть что-то настраиваемое на панели администратора пользователя. Я тоже считаю, что это довольно сложно, и мне не известны все предлагаемые решения. Конечно, есть несколько сценариев: разрешение видеть всех пользователей из организации, к которой принадлежит пользователь, видеть всех пользователей, видеть только себя, общедоступных пользователей ...

@techknowlogick не знаю,

@miqmago Вот полезное сравнение того, что предлагает Gitea vs Gogs: https://docs.gitea.io/en-us/comparison/, а также сообщение в блоге о запуске, объясняющее различия в управлении проектами: https: / /blog.gitea.io/2016/12/welcome-to-gitea/

@igsol этот билет не попадет в выпуск 1.8.x из-за того, что проект содержит только исправления ошибок, в настоящее время мы работаем над выпуском 1.9.x.

в настоящее время работает над выпуском 1.9.x.

@techknowlogick Хорошо, понятно, НП.

Пока что я помогал себе, создав локальную частную сборку, применив свой довольно жестокий патч (что-то вроде упомянутого @miqmago , но проще). Главное реализовать этот тикет в конце :)

В любом случае спасибо всей команде за блестящую Гитею.

Выпущена 1.9.0. Есть ли шанс привлечь внимание к этому билету?

@igsol
Это и мое желание.

Помогло бы это?

https://github.com/go-gitea/gitea/pull/8340

Помогло бы это?

8340

Разве это не скроет всех пользователей от всеобщего обозрения?

Только если REQUIRE_SIGNIN_VIEW истинно и вы не вошли в систему.

Только если REQUIRE_SIGNIN_VIEW истинно и вы не вошли в систему.

Если REQUIRE_SIGNIN_VIEW истинно, он все равно скрыт. Во-вторых, он все равно скроет всех пользователей, что не является предметом запроса. Тем более, что некоторые пользователи хотят скрыть только одного пользователя, и я думаю, было бы немного излишним, если бы вы скрывали ВСЕХ пользователей, когда-либо созданных только из-за одной системной учетной записи.

Хорошо, извините.

Итак, можем ли мы обновить проблему.

Что нужно?

новый конфиг: ALLOW_VIEW_USERS?

Что нужно?

В идеале, с моей личной точки зрения, я бы хотел, чтобы каждый пользователь мог установить такую ​​настройку:

...
Скрыть аккаунт от общего просмотра []
...

Что будет между другими настройками, такими как _Скрыть адрес электронной почты_.

Также было бы неплохо включить его в настройки администратора, хотя я думаю, что дать каждому возможность принять решение - лучшее решение.

Если это будет реализовано, все репозитории этого пользователя должны стать частными, что является нетривиальным изменением, IMHO. Например, разветвленные репозитории должны быть общедоступными, если исходный репозиторий является общедоступным, поэтому в конечном итоге существование пользователя будет раскрыто.

Если это будет реализовано, все репозитории этого пользователя должны стать частными, что является нетривиальным изменением, IMHO. Например, разветвленные репозитории должны быть общедоступными, если исходный репозиторий является общедоступным, поэтому в конечном итоге существование пользователя будет раскрыто.

В идеале этот способ должен быть необязательным. Я вижу случаи использования, когда вы просто хотите _выключить_ (например, _не списки_ видео на YouTube) пользователя, что означает, что вы не хотите, чтобы этот пользователь отображался на видном месте, как если бы он был королем вашей Gitea, но у вас не будет проблем если он был спрятан где-то в джунглях вашей Гитеи. Этот пример верен для моего экземпляра.

В идеале этот способ должен быть необязательным. Я вижу случаи использования, когда вы просто хотите _выключить_ (например, _не списки_ видео на YouTube) пользователя, что означает, что вы не хотите, чтобы этот пользователь отображался на видном месте, как если бы он был королем вашей Gitea, но у вас не будет проблем если он был спрятан где-то в джунглях вашей Гитеи. Этот пример верен для моего экземпляра.

Но тогда эта проблема должна быть озаглавлена ​​«Отключить некоторых пользователей в Gitea». 😁

В идеале этот способ должен быть необязательным. Я вижу случаи использования, когда вы просто хотите _выключить_ (например, _не списки_ видео на YouTube) пользователя, что означает, что вы не хотите, чтобы этот пользователь отображался на видном месте, как если бы он был королем вашей Gitea, но у вас не будет проблем если он был спрятан где-то в джунглях вашей Гитеи. Этот пример верен для моего экземпляра.

Но тогда эта проблема должна быть озаглавлена ​​«Отключить некоторых пользователей в Gitea». 😁

Я думаю, что наиболее точным заголовком будет «Скрыть или исключить пользователей». Предоставление обоих вариантов было бы отличным решением.

Эти функции, конечно же, должны быть доступны и для организаций.

+1 для скрытых (всех) пользователей, когда я не вхожу в систему, Explorer + API, но когда я вхожу в систему, я хочу видеть (всех) пользователей.

Я использую MariaDB.
С помощью users.tmpl я не могу применить то, что хочу, потому что, когда я веду журнал, я тоже не вижу пользователей.
API всегда может перечислить всех пользователей.

Мне нужен отображаемый пользователь из общего просмотра, но не весь пользователь.

cd / etc / gitea
нано app.ini
REQUIRE_SIGNIN_VIEW: верно
Работайте очень хорошо! Но, этот вариант был крайним!
Аспект безопасности теперь соблюдается, но мы предпочли бы иметь возможность выбирать, быть видимым или нет, как общедоступный или частный пользователь.

+1, нам нужно скрыть вкладку ExplorerUser ИЛИ выбрать, какой пользователь (локальный или ldap) должен быть указан в списке ExplorerUser ... легко получить логин пользователя, а затем подобрать его ... или что-то еще
Спасибо за этот замечательный инструмент., Gitea

REQUIRE_SIGNIN_VIEW = верно

Кажется, добился цели.

@Braqoon Вы не читали разговор. Это не «трюк».

Было бы здорово, если бы это можно было реализовать.
Я хочу предоставить некоторые из моих (общедоступных) репозиториев для тех, кто не зарегистрирован в моем экземпляре gitea, но я не хочу показывать им всех моих зарегистрированных пользователей (включая администратора). Как упоминал @theAkito , просто REQUIRE_SIGNIN_VIEW = true не решит проблему.

Редактировать:
Хуже того, я только что проверил API-Call curl -X GET "http://gitea/api/v1/users/search" -H "accept: application/json" как упомянул @shuhaowu. Даже незарегистрированные пользователи могут легко выяснить важную информацию, такую ​​как is_admin или last_login . С точки зрения безопасности это абсолютно недопустимо.

Я полностью согласен с тем, что было бы очень полезно по возможности скрыть пользователей, у которых нет публичного репо. Допустим, я добавляю пользователей, которые комментируют проблемы в частных проектах, было бы идеально, если бы их можно было сделать невидимыми в списке для изучения!

Будет здорово, что не показывать пользователей, у которых нет публичного репо

Я вижу здесь много комментариев, но нет спецификаций или предложений по его настройке.

Разумная конфигурация, которая могла бы сохранить текущую систему и предлагать предлагаемые ограниченные представления, скорее всего, приведет к реализации.

Например, предлагаемый блок конфигурации:

[explore.users]
REQUIRE_SIGNED_IN=false ; set to true to only allow signed in users to see this page
ONLY_SHOW_USERS_WITH_PUBLIC_REPOS=false ; set to true to only show users with public repos
...

и так далее.

Тогда это было бы просто реализовать.

@zeripath изложенный вами подход кажется мне разумным и должен охватывать большинство случаев раскрытия информации, если реализованные изменения конфигурации также влияют на API-Access.

Со своей стороны мы считаем этот вопрос серьезным вопросом безопасности.

Gitea утекает важную личную информацию: имя, фамилию, логин, адрес электронной почты, дату создания (когда они присоединились к нашей организации).

В нашем случае Gitea использует аутентификацию LDAP и в основном утекает информацию обо всех наших членах без какого-либо способа ограничить / остановить эту утечку.

REQUIRE_SIGNIN_VIEW нельзя использовать, так как он нарушает работу общедоступных репозиториев. Блокировка конечной точки / api / v1 / users / search нарушает возможность добавления пользователя в репозиторий.

Было бы здорово иметь хотя бы способ ограничить утечку для аутентифицированных пользователей.

@fluboi сейчас вы можете ограничить доступ API для аутентифицированных пользователей

РЕДАКТИРОВАТЬ: похоже, нет настройки только для API: /

Вызывает разочарование то, что люди постоянно комментируют эту проблему, не предлагая спецификации или предлагаемой конфигурации или не комментируя недостатки или улучшения предлагаемой мной спецификации здесь: (https://github.com/go-gitea/gitea/issues/2908 # issuecomment-670616617)

Если бы на мой комментарий, работая вместе о том, что необходимо и что будет работать, было бы больше отклика и внимания, это было бы реализовано несколько месяцев назад.

В настоящее время я предложил PR, чтобы закрыть это, но я не знаю, достаточно ли этого.

Спасибо за вашу работу @zeripath и извините за мой предыдущий неутешительный комментарий.
Насколько я понимаю, ваш PR отвечает нашим потребностям.
Еще раз спасибо

Если бы на мой комментарий было больше отклика и внимания, работая вместе

Я думаю, что причина не в лени или злонамеренном умысле, а в отсутствии понимания бэкэнда и, возможно, даже языка, на котором он написан. Насколько я видел, большинство людей здесь не имеют никакого представления о Go, поскольку они есть просто пользователи этого сервера, а не разработчики.
Я не могу слишком много говорить обо всех этих людях, которых я не знаю, но могу сказать за себя:
Я не разбираюсь в бэкэнде Gitea и не хочу связываться с Go, потому что мне не нравится язык, а программистов Go уже существует, так что нет необходимости делать что-то еще в жизни без надобности. Например, если бы бэкэнд был написан на Nim, я бы с радостью внес свой вклад, возможно, даже решил эту проблему сам, поскольку Nim на самом деле доставляет удовольствие и чистое удовольствие, в то время как Go для меня лично - чистая рутина и раздражение. Однако, если бы это было так, вероятно, все нынешние участники ушли бы, потому что они предпочли бы остаться с Go.

Я также думаю, что это не имеет большого смысла для людей, добавляющих случайные идеи относительно реализации, если они не имеют представления о структуре и / или языке серверной части. Вероятно, лучше всего, если наиболее осведомленные примут решение о реализации, особенно в отношении ориентированных на безопасность функций, которые обычно важны, чтобы они были реализованы правильно и не обязательно красиво.

Конечно, это проект с открытым исходным кодом, и вы или любой другой участник не обязаны что-либо реализовывать, за исключением, может быть, крупных спонсоров, которые спонсируют только эти преимущества. Думаю, мы все это понимаем.
Однако люди здесь вмешиваются, объясняя свою проблему, подчеркивая ее важность, в надежде, что руководство Gitea решит эту проблему как можно скорее, вместо множества других проблем в этом репозитории, которые вместо этого решаются. Итак, все люди здесь просят не делать больше работы, а просто изменить фокус проблемы. Просто: выбросьте другую проблему и вместо этого решите эту.

Вот почему я думаю, что здесь уместно вмешаться, подчеркнув важность этой проблемы, даже если у человека, публикующего комментарий, нет времени, интереса или просто нет знаний, чтобы помочь с реализацией. Большинство людей здесь просто пользователи, как и я.

Я думаю, что причина не в лени или злонамеренном умысле, а в отсутствии понимания бэкэнда и, возможно, даже языка, на котором он написан. Насколько я видел, большинство людей здесь не имеют никакого представления о Go, поскольку они есть просто пользователи этого сервера, а не разработчики.

Я не могу с этим согласиться. Я разработчик, но не использую Go, и я не нашел времени, чтобы ознакомиться с базовым кодом и тем, как работает приложение, поэтому было бы непродуктивно комментировать реализацию, а затем я только передал свои потребности пользователя!
Но я ДЕЙСТВИТЕЛЬНО ценю проделанную работу (поддержка других проектов с открытым исходным кодом, я знаю, что это непростая задача, и отзывы пользователей не всегда такие, как вы ожидаете!).

Пожалуйста, продолжайте тему, если вам нечего добавить по конкретной проблеме, не комментируйте.

Небольшое примечание, и будем надеяться, что это завершение не по теме обсуждения: никому из участников Gitea не платят за разработку новых функций или исправление ошибок, мы все делаем это в свободное время, поэтому, если кто-то не желает спонсировать конкретную функцию или разработку, каждый, включая участников Gitea, может свободно разрабатывать все, что им нравится, и «руководство» Gitea не может сказать, что нужно делать другим участникам, когда они посвящают свое свободное время этому проекту, разрабатывая функции, которые им нужны, или получают от этого удовольствие.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги