Mudanças entre as edições de "Servidor de Aplicações em Contêineres"
Linha 13: | Linha 13: | ||
<blockquote style="color: black; border: solid thin gray;"> | <blockquote style="color: black; border: solid thin gray;"> | ||
− | #!/bin/bash | + | #!/bin/bash <br /> |
− | cut -d: -f1 /etc/passwd > /home/scripts/username | + | cut -d: -f1 /etc/passwd > /home/scripts/username <br /> |
− | while IFS=, read -r matricula nome sobrenome | + | while IFS=, read -r matricula nome sobrenome <br /> |
− | do | + | do<br /> |
− | echo "Usuario $nome $sobrenome de matricula $matricula" | + | echo "Usuario $nome $sobrenome de matricula $matricula"<br /> |
− | ldap=$(ldapsearch -h 200.135.37.117 -b "dc=cefetsc,dc=edu,dc=br" -x "(&(cn=$nome)(sn=$sobrenome))" | sed -n 's/dn: uid=\(.*\),ou=Alunos,dc=cefetsc,dc=edu,dc=br/\1/p') | + | ldap=$(ldapsearch -h 200.135.37.117 -b "dc=cefetsc,dc=edu,dc=br" -x "(&(cn=$nome)(sn=$sobrenome))" | sed -n 's/dn: uid=\(.*\),ou=Alunos,dc=cefetsc,dc=edu,dc=br/\1/p')<br /> |
− | usuariolocal=$(cat username |grep "^$ldap") | + | usuariolocal=$(cat username |grep "^$ldap")<br /> |
− | if [ "$usuariolocal" = "$ldap" ]; then | + | if [ "$usuariolocal" = "$ldap" ]; then<br /> |
− | echo "O usuário $usuariolocal já existe no sistema!." | + | echo "O usuário $usuariolocal já existe no sistema!."<br /> |
− | echo " " | + | echo " "<br /> |
− | else | + | else<br /> |
− | echo "Criando usuario $ldap para o aluno $nome $sobrenome" | + | echo "Criando usuario $ldap para o aluno $nome $sobrenome"<br /> |
− | useradd -m -d /home/alunos/$ldap -s /bin/bash -c "$nome $sobrenome" $ldap | + | useradd -m -d /home/alunos/$ldap -s /bin/bash -c "$nome $sobrenome" $ldap<br /> |
− | echo "Usando a matricula $matricula como senha do usuario $ldap." | + | echo "Usando a matricula $matricula como senha do usuario $ldap."<br /> |
− | echo "$ldap:$matricula" |chpasswd | + | echo "$ldap:$matricula" |chpasswd<br /> |
− | echo "Obrigando usuario a mudar senha no proximo login." | + | echo "Obrigando usuario a mudar senha no proximo login."<br /> |
− | chage -d 0 $ldap | + | chage -d 0 $ldap<br /> |
− | echo "Adicionando usuario $ldap ao grupo alunos" | + | echo "Adicionando usuario $ldap ao grupo alunos"<br /> |
− | addgroup $ldap alunos | + | addgroup $ldap alunos<br /> |
− | echo "Mudando a permissao da pasta /home/alunos/$ldap" | + | echo "Mudando a permissao da pasta /home/alunos/$ldap"<br /> |
− | chmod -R 700 /home/alunos/$ldap | + | chmod -R 700 /home/alunos/$ldap<br /> |
− | echo "Mudando grupo dono da pasta /home/alunos/$ldap." | + | echo "Mudando grupo dono da pasta /home/alunos/$ldap."<br /> |
− | chown -R $ldap:alunos /home/alunos/$ldap | + | chown -R $ldap:alunos /home/alunos/$ldap<br /> |
− | echo "Dando permissão de leitura aos usuários do grupo professores." | + | echo "Dando permissão de leitura aos usuários do grupo professores."<br /> |
− | setfacl -m g:professores:r /home/alunos/$ldap | + | setfacl -m g:professores:r /home/alunos/$ldap<br /> |
− | echo "Conta $ldap do usuario $nome $sobrenome criada" | + | echo "Conta $ldap do usuario $nome $sobrenome criada"<br /> |
− | echo " " | + | echo " "<br /> |
− | fi | + | fi<br /> |
− | done < novos | + | done < novos<br /> |
</blockquote> | </blockquote> |
Edição das 15h40min de 29 de março de 2017
Sistema Operacional hospedeiro: CoreOS stable (1298.6.0);
Forma de execução das aplicações: Em contêineres Docker.;
Versão do Docker: 1.12.6 64 bits;
O CoreOS
O CoreOS é um sistema operacional de código aberto voltado à execução de contêineres. Seu objetivo é permitir a execução de aplicações em qualquer ambiente.
Scripts para criação de usuários
Devido à falta de informações suficientes providas pelo LDAP, não foi possível usar os usuários de rede dos alunos. De maneira a agilizar a criação e remoção de contas, foram criados scripts para realizar essa função.
- !/bin/bash
cut -d: -f1 /etc/passwd > /home/scripts/username
while IFS=, read -r matricula nome sobrenome
do
echo "Usuario $nome $sobrenome de matricula $matricula"
ldap=$(ldapsearch -h 200.135.37.117 -b "dc=cefetsc,dc=edu,dc=br" -x "(&(cn=$nome)(sn=$sobrenome))" | sed -n 's/dn: uid=\(.*\),ou=Alunos,dc=cefetsc,dc=edu,dc=br/\1/p')
usuariolocal=$(cat username |grep "^$ldap")
if [ "$usuariolocal" = "$ldap" ]; then
echo "O usuário $usuariolocal já existe no sistema!."
echo " "
else
echo "Criando usuario $ldap para o aluno $nome $sobrenome"
useradd -m -d /home/alunos/$ldap -s /bin/bash -c "$nome $sobrenome" $ldap
echo "Usando a matricula $matricula como senha do usuario $ldap."
echo "$ldap:$matricula" |chpasswd
echo "Obrigando usuario a mudar senha no proximo login."
chage -d 0 $ldap
echo "Adicionando usuario $ldap ao grupo alunos"
addgroup $ldap alunos
echo "Mudando a permissao da pasta /home/alunos/$ldap"
chmod -R 700 /home/alunos/$ldap
echo "Mudando grupo dono da pasta /home/alunos/$ldap."
chown -R $ldap:alunos /home/alunos/$ldap
echo "Dando permissão de leitura aos usuários do grupo professores."
setfacl -m g:professores:r /home/alunos/$ldap
echo "Conta $ldap do usuario $nome $sobrenome criada"
echo " "
fi
done < novos