В противном случае вы могли бы использовать gksu
вместо sudo
для запуска программ графического интерфейса, но, как было сказано в примечаниях выше, это устарело, и вместо этого следует использовать pkexec
.
По умолчанию это не поддерживает программы графического интерфейса. Поэтому вам нужно настроить их для запуска. После настройки вы сможете запускать их из командной строки, используя:
pkexec bleachbit
Для настройки вам нужно отредактировать \ создать файл /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy
. Например, используя nano
...
pkexec nano /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy
Затем для указанных программ вам необходимо добавить в файл следующее содержимое ...
Run gedbi
Authentication is required to run gedbi
no
no
auth_admin_keep
/usr/sbin/gedbi
TRUE
Run bleachbit
Authentication is required to run bleachbit
no
no
auth_admin_keep
/usr/sbin/bleachbit
TRUE
Вы можете добавить дополнительные программы таким образом, или, если хотите, есть скрипт bash для автоматического добавления дополнительных программ в файл конфигурации .
Это очень легко сделать с гитолитом . Менее чем через час вы получите легко настраиваемый и безопасный многопользовательский git-сервер.
У меня есть статья на моем сайте
.Лучшим решением для меня была настройка WebDAV.
sudo a2enmod sudo dav_fs
sudo a2enmod dav
добавьте новый файл в /etc/apache2/sites-available
и назовите его, например, git.yourserver.com
. Отредактируйте его и добавьте следующие строки:
<VirtualHost *:80>
DocumentRoot /var/www/git.yourserver.com/repos
ServerName git.yourserver.net
Options Indexes FollowSymLinks MultiViews
<Location />
DAV On
AuthType Basic
AuthName "git repos"
AuthUserFile /var/www/git.yourserver.net/password.dav
Require valid-user
</Location>
</VirtualHost>
/var/www/git.yourserver.com
и каталог repos
inside id sudo chown www-data /var/www/git.yourserver.com/repos
sudo htpasswd -c /var/www/git.yourserver.com/password.dav user_login
и введите пароль для пользователя с именем user_login
sudo chown root:www-data /var/www/git.yourserver.com/password.dav
sudo chmod 640 /var/www/git.yourserver.com/password.dav
Теперь, sudo a2ensite git.yourserver.com
и sudo service apache2 restart
.
/var/www/git.yourserver.com/repos
и создайте каталог, например, myrepo.git
cd myrepo.git
git --bare init
git update-server-info
Теперь выйдите из системы с вашего удаленного сервера и перейдите в локальный каталог, в котором вы хотите редактировать свои файлы.
git clone http://user_login:user_password@git.yourserver.com/myrepo.git
и вы закончили. Если вы хотите отправить свои зафиксированные изменения на сервер:
git push origin master
Вы можете создать столько пользователей, сколько захотите, используя sudo htpasswd
. Только не забудьте использовать переключатель -c
при добавлении большего количества пользователей, потому что старый файл будет удален.
Для всех моих настроек Git-сервера я использую Gitolite , который обеспечивает гранулярность безопасности доступа «на ветвь». Настройка довольно проста, если вы делаете это на удаленном сервере, это так же просто, как запуск интерактивного скрипта. В дополнение к этому «простому в настройке» характеру, он также имеет пакет в Natty и Maverick
sudo apt-get install gitolite
. Это не обеспечит веб-интерфейс, такой как Github или Gitweb, - но вы можете легко настроить и установите их на что-то вроде Gitolite.
Вы можете использовать руководство для установки сервера Git, как предложено aking1012 вы или вы можете просто установить SSH-сервер на свой экземпляр EC2 (возможно, было бы разумно защитить его и изменить порт по умолчанию).
Git может работать без сервера: вы инициируете свой репозиторий, а затем получаете доступ к нему с удаленного компьютера через SSH. Таким образом, такие инструкции на сервере Ubuntu должны сделать это:
GIT_DIR=project.git git init
cd project.git
git --bare update-server-info
cp hooks/post-update.sample hooks/post-update
Наконец, установите SSH на свой сервер:
sudo apt-get install ssh-server
Теперь вы должны настроить SSH для его защиты.
Пришло время разместить ваш проект в сети (данные, которые у вас уже есть на вашем компьютере разработчика):
git push ssh://<username>@<remote-git-hostname>/path/to/project.git master
И теперь вы можете начать клонирование. Вы переходите на свою машину разработки:
git clone ssh://<username>@<remote-git-hostname>/path/to/dir.git
Проверьте этот отличный ресурс на Git .
А чтобы сгенерировать ваши ssh-ключи для более безопасной аутентификации, вы можете прочитать эту статью о SSH-аутентификации .
ssh-server
является псевдонимом openssh-server, по крайней мере, в Ubuntu 10.04.
– Community
29.10.2019, 03:17
~/.ssh/config
для обработки имени пользователя / адреса хоста, ввода ключа, портов и тому подобного.
– BrainSlugs83
29.10.2019, 03:19
http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way можно немного изменить в соответствии с вашими целями . Аналогичный учебник http://blog.agdunn.net/?p=277 .
Мне нравится Гитолит . В книге Pro Git есть раздел , но я рекомендую прочитать всю книгу.
Что касается требования для нескольких пользователей:
Gitolite позволяет указывать разрешения не только для репозитория (как это делает Gitosis), но также для имен веток или тегов в каждом репозитории. То есть вы можете указать, что определенные люди (или группы людей) могут выдвигать только определенные «ссылки» (ветви или теги), но не другие.
BLOCKQUOTE>
Обязательно следуйте официальной документации: https://help.ubuntu.com/community/Git (раздел Настройка Git и управления проектами )
Мне также нравится подход gitolite для управления пользователями и безопасностью. У меня есть сервер AMI Git + gitolite для EC2, который в настоящее время тестируется. Не стесняйтесь попробовать; документация доступна здесь:
blockquote>Используя этот подход, вы можете иметь центральный сервер Git с частными репозиториями, работающими в считанные минуты. Если вы не знакомы с ними, существует кривая изучения гитолита и EC2.