因此,我爲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