Mudanças entre as edições de "Servidor de Aplicações em Contêineres"
Ir para navegação
Ir para pesquisar
Linha 11: | Linha 11: | ||
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. <br /> | 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. <br /> | ||
− | < | + | <syntaxhighlight lang=c> |
− | #!/bin/bash | + | #!/bin/bash |
− | cut -d: -f1 /etc/passwd > /home/scripts/username | + | cut -d: -f1 /etc/passwd > /home/scripts/username |
− | while IFS=, read -r matricula nome sobrenome | + | while IFS=, read -r matricula nome sobrenome |
− | do | + | do |
− | echo "Usuario $nome $sobrenome de matricula $matricula" | + | 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') | + | 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") | + | usuariolocal=$(cat username |grep "^$ldap") |
− | if [ "$usuariolocal" = "$ldap" ]; then | + | if [ "$usuariolocal" = "$ldap" ]; then |
− | echo "O usuário $usuariolocal já existe no sistema!." | + | echo "O usuário $usuariolocal já existe no sistema!." |
− | echo " " | + | echo " " |
− | else | + | else |
− | echo "Criando usuario $ldap para o aluno $nome $sobrenome" | + | echo "Criando usuario $ldap para o aluno $nome $sobrenome" |
− | 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 |
− | echo "Usando a matricula $matricula como senha do usuario $ldap." | + | echo "Usando a matricula $matricula como senha do usuario $ldap." |
− | echo "$ldap:$matricula" |chpasswd | + | echo "$ldap:$matricula" |chpasswd |
− | echo "Obrigando usuario a mudar senha no proximo login." | + | echo "Obrigando usuario a mudar senha no proximo login." |
− | chage -d 0 $ldap | + | chage -d 0 $ldap |
− | echo "Adicionando usuario $ldap ao grupo alunos" | + | echo "Adicionando usuario $ldap ao grupo alunos" |
− | addgroup $ldap alunos | + | addgroup $ldap alunos |
− | echo "Mudando a permissao da pasta /home/alunos/$ldap" | + | echo "Mudando a permissao da pasta /home/alunos/$ldap" |
− | chmod -R 700 /home/alunos/$ldap | + | chmod -R 700 /home/alunos/$ldap |
− | echo "Mudando grupo dono da pasta /home/alunos/$ldap." | + | echo "Mudando grupo dono da pasta /home/alunos/$ldap." |
− | chown -R $ldap:alunos /home/alunos/$ldap | + | chown -R $ldap:alunos /home/alunos/$ldap |
− | echo "Dando permissão de leitura aos usuários do grupo professores." | + | echo "Dando permissão de leitura aos usuários do grupo professores." |
− | setfacl -m g:professores:r /home/alunos/$ldap | + | setfacl -m g:professores:r /home/alunos/$ldap |
− | echo "Conta $ldap do usuario $nome $sobrenome criada" | + | echo "Conta $ldap do usuario $nome $sobrenome criada" |
− | echo " " | + | echo " " |
− | fi | + | fi |
− | done < novos | + | done < novos |
− | < | + | <code> |
Edição das 15h42min 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.
<syntaxhighlight lang=c>
- !/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