因此,我为4名开发人员的小团队设置了一个流浪环境。我正在使用Ubuntu/Precise32盒子,并创建了一个shell脚本,用于配置许多apt-get和cp调用。这样的事情:如何组织流浪外壳条款中的用户?
#!/bin/bash
#filename: provision.sh
sudo apt-get update
apt-get install debconf-utils -y > /dev/null
debconf-set-selections <<< "mysql-server mysql-server/root_password password myPassword"
debconf-set-selections <<< "mysql-server mysql-server/root_password_again password myPassword"
sudo apt-get install -y vim apache2 mysql-server-5.5 mysql-client git sqlite python-pip phpmyadmin
sudo pip install virtualenv
sudo pip install Django==1.4
sudo a2enmod rewrite
sudo service apache2 restart
echo "Copying hosts ..."
sudo cp /vagrant/hosts /etc/
echo "Copying .gitconfig ..."
sudo cp /vagrant/.gitconfig /home/vagrant/
echo "Copying .bashrc ..."
sudo cp /vagrant/.bashrc /home/vagrant/
echo "Copying .bash_aliases ..."
sudo cp /vagrant/.bash_aliases /home/vagrant/
sudo ln -fs /usr/share/phpmyadmin /var/www
if [ ! -d "/vagrant/projects" ]; then
echo "Creating folder /vagrant/projects"
mkdir /vagrant/projects
fi
cd /vagrant/projects
#git clone myServer:/git/project.git
#can't clone because the user is vagrant. tries ssh [email protected] asking for a password
现在我想克隆一些git存储库(从我们自己的服务器),如果他们不存在。但在规定内,活跃用户是流浪的,我不想在我们的git服务器或任何其他可以使用的服务器上创建流浪用户。
团队中的每个开发人员都已在其他服务器上拥有其ssh帐户。那么我应该在所有的流浪箱中创建所有的用户吗?如果是这样,他们怎么能ssh到其他服务器没有密码?
我不希望开发人员(包括我自己)在自己的流浪盒(如adduser,ssh-copy-id等等)上进行用户管理。我想提供一切,如克隆git存储库,也许rsync'ing,但我希望能够为不同的流浪者箱子设置正确的用户。
我希望能够从外壳规定做到这一点:
如果流浪箱1 =>创建已经有我们的服务器密码的ssh访问用户developer1
如果流浪箱2 =>创建用户developer2已经有我们的服务器密码的ssh访问
如果流浪箱3 =>创建已经有我们的服务器密码的ssh访问用户developer3
如果流浪箱4 =>创建用户developer4已经有无密码的SSH访问我们的服务器
谢谢!
非常感谢。由于我没有很快得到答案,这就是我所做的: 我在我们的所有服务器中创建了一个名为vagrant的用户。此用户没有启用passoword登录以确保安全。我把ssh密钥放在我的流浪盒里,这样流浪的用户就可以访问我们的服务器。这不是我最初想要的,但我认为它更有意义。现在每个开发者都使用流浪用户。当他们提交信息来自他们的.gitconfig文件。所以在设置vagrant之后,他们必须编辑它们的.gitconfig.example文件并将其复制为.gitconfig和这样的东西。 – 2014-11-13 09:38:55