Administração de servidores Linux

2,738 views

Published on

Apresentação de suporte à formação "Administração de servidores Linux".
INOVIPC - Instituto Politécnico de Coimbra

Published in: Technology

Administração de servidores Linux

  1. 1. GNU/LINUX   WHERE  THERE  IS  A  SHELL,  THERE  IS  A  WAY  
  2. 2. ADMINISTRAÇÃO  DE   SERVIDORES  LINUX     João  Sá   COIMBRA  //  OUTUBRO  2013  
  3. 3. TUX   João  Sá   joaosa@gmail.com   facebook.com/joaosa   twi4er.com/joaosa  
  4. 4. TÓPICOS   ! ! ! ! ! ! ! ! ! Conceitos   Introdução   O  sistema  de  ficheiros   Comandos  e  operações  fundamentais   Privilégios  e  gestão  de  utilizadores   Gestão  de  pacotes   Configurações  de  rede  e  conectividade   Gestão  de  processos   Serviços  de  rede  e  administração   João  Sá  //  2013  
  5. 5. #1  |  CONCEITOS  
  6. 6. FILOSOFIA  UNIX/LINUX   João  Sá  //  2013  
  7. 7. UNIX  philosophy   !  !  !  !  !  !  !  Small  is  beautiful.   Make  each  program  do  one  thing  well.   Build  a  prototype  as  soon  as  possible.   Choose  portability  over  efficiency.   Store  data  in  flat  text  files.   Use  software  leverage  to  your  advantage.   Use  shell  scripts  to  increase  leverage  and   portability.   !   Avoid  captive  user  interfaces.   !   Make  every  program  a  filter.  
  8. 8. 1   everything   is  a  file  
  9. 9. 1   everything   is  a  file   !   everything  is  a  stream  of  bytes   !   the  filesystem  is  used  as  a  universal  namespace  
  10. 10. 2   small   single-­‐purpose  programs  
  11. 11. 3   configuration   is  a  text  file  
  12. 12. 4   chain  programs  together   comple  tasks to  perform     x
  13. 13. 5   avoid     captive  user  interfaces
  14. 14. no  news   is  good  news  
  15. 15. HISTÓRIA  E  CONTEXTUALIZAÇÃO   João  Sá  //  2013  
  16. 16. João  Sá  //  2013  
  17. 17. 1991 LINUS  TORVALDS   FINLÂNDIA   LINUX MINIXUNIX 0.01 João  Sá  //  2013  
  18. 18. Linus  Torvalds   João  Sá  //  2013  
  19. 19. João  Sá  //  2013  
  20. 20. http://www.youtube.com/watch?v=XNJlBf1LiwU   João  Sá  //  2013  
  21. 21. João  Sá  //  2013  
  22. 22. SOFTWARE  LIVRE  E  OPEN  SOURCE   João  Sá  //  2013  
  23. 23. João  Sá  //  2013  
  24. 24. João  Sá  //  2013  
  25. 25. Richard  Ma4hew  Stallman   rms  
  26. 26. LICENCIAMENTO   João  Sá  //  2013  
  27. 27. http://www.gnu.org/copyleft/gpl.txt   João  Sá  //  2013  
  28. 28. João  Sá  //  2013  
  29. 29. http://www.apache.org/licenses/LICENSE-­‐2.0   http://www.php.net/license/3_01.txt   http://docs.python.org/2/license.html   https://www.mozilla.org/MPL/2.0/   João  Sá  //  2013  
  30. 30. A  EVOLUÇÃO  DO  LINUX   João  Sá  //  2013  
  31. 31. http://futurist.se/gldt/   João  Sá  //  2013  
  32. 32. 476  dos  500   supercomputadores   mais  rápidos  do  mundo  correm  linux   http://www.top500.org/statistics/list/   João  Sá  //  2013  
  33. 33. 95.2%  dos  top500   http://www.zdnet.com/20-­‐great-­‐years-­‐of-­‐linux-­‐and-­‐supercomputers-­‐7000018681/   João  Sá  //  2013  
  34. 34. alguns  lugares  “inesperados”   onde  encontrar  linux   Departamento  de  Defesa  dos  EUA   João  Sá  //  2013  
  35. 35. alguns  lugares  “inesperados”   onde  encontrar  linux   Serviço  Postal  dos  EUA   João  Sá  //  2013  
  36. 36. alguns  lugares  “inesperados”   onde  encontrar  linux   Tribunais  Federais  dos  EUA   João  Sá  //  2013  
  37. 37. alguns  lugares  “inesperados”   onde  encontrar  linux   Bolsa  de  Nova  Iorque   João  Sá  //  2013  
  38. 38. alguns  lugares  “inesperados”   onde  encontrar  linux   Parlamento  Francês   João  Sá  //  2013  
  39. 39. alguns  lugares  “inesperados”   onde  encontrar  linux   Google   João  Sá  //  2013  
  40. 40. alguns  lugares  “inesperados”   onde  encontrar  linux   IBM   João  Sá  //  2013  
  41. 41. alguns  lugares  “inesperados”   onde  encontrar  linux   CERN   João  Sá  //  2013  
  42. 42. alguns  lugares  “inesperados”   onde  encontrar  linux   Amazon   João  Sá  //  2013  
  43. 43. alguns  lugares  “inesperados”   onde  encontrar  linux   MicrosoW   João  Sá  //  2013  
  44. 44. PRINCIPAIS  DISTRIBUIÇÕES   João  Sá  //  2013  
  45. 45. http://distrowatch.com/   http://en.wikipedia.org/wiki/List_of_Linux_distributions   João  Sá  //  2013  
  46. 46. Algumas  ideias  fundamentais   Associado  ao  sistema  operaXvo  Linux  surgem  alguns  conceitos  que  convém  clarificar   Linux  é  o  kernel  de  muitos  sistemas  operaXvos,  sendo  um  deles  o  GNU/Linux   Linus  Torvalds  é  o  criador  do  kernel  Linux   Richard  Stallman  é  o  fundador  do  projecto  GNU,  para  criar  um  sistema  operaXvo  “livre”   do  Xpo  UNIX.  As  noções  de  freeware  e  shareware  estão  distantes…   1   Open Source 2   Free Software 3   GNU 4   GPL 5   Kernel 6   Linus Torvalds 7   UNIX 8   Richard Stallman 9   Freeware 10   Shareware João  Sá  //  2013  
  47. 47. #2  |  INTRODUÇÃO  
  48. 48. INSTALAÇÃO   João  Sá  //  2013  
  49. 49. https://www.virtualbox.org/   http://www.debian.org/   João  Sá  //  2013  
  50. 50. 1   Criação  de  uma  nova  máquina  virtual  -­‐  VirtualBox   João  Sá  //  2013  
  51. 51. 2   Criação  de  uma  nova  máquina  virtual  (disco)  -­‐  VirtualBox   João  Sá  //  2013  
  52. 52. 3   Criação  de  uma  nova  máquina  virtual  (imagem  de  instalação)  -­‐  VirtualBox   João  Sá  //  2013  
  53. 53. 4   Primeiro  ecrã  de  instalação  -­‐  Debian  Linux   João  Sá  //  2013  
  54. 54. 4   Processo  de  instalação  -­‐  Debian  Linux   João  Sá  //  2013  
  55. 55. 5   Primeiro  arranque  -­‐  GRUB  em  modo  texto  -­‐  Debian  Linux   João  Sá  //  2013  
  56. 56. 5   Primeiro  arranque  -­‐  GRUB  em  modo  gráfico  -­‐  Debian  Linux   João  Sá  //  2013  
  57. 57. 6   Ecrã  de  login  após  arranque  -­‐  modo  texto  -­‐  Debian  Linux   João  Sá  //  2013  
  58. 58. 6   Ecrã  de  login  após  arranque  -­‐  modo  gráfico  -­‐  Debian  Linux   João  Sá  //  2013  
  59. 59. A  SHELL  E  O  KERNEL   João  Sá  //  2013  
  60. 60. João  Sá  //  2013  
  61. 61. shell   kernel   João  Sá  //  2013  
  62. 62. ACESSO  A  UMA  SHELL   João  Sá  //  2013  
  63. 63. João  Sá  //  2013  
  64. 64. João  Sá  //  2013  
  65. 65. # sh   bash   csh   ksh   zsh  
  66. 66. SUPER-­‐UTILIZADOR   João  Sá  //  2013  
  67. 67. # $   super-­‐utilizador     [  root  ]     utilizador  regular   João  Sá  //  2013  
  68. 68. #3  |  O  SISTEMA  DE  FICHEIROS  
  69. 69. Sistema  de  ficheiros   /  é  a  raíz  ou  root   do  filesystem   Alguns  ficheiros   têm  uma   localização  pré-­‐ definida   (com  variações   entre  diferentes   distribuições)   João  Sá  //  2013  
  70. 70. Sistema  de  ficheiros   /etc   /home /tmp /dev /proc /bin /sbin /var /usr   /lib /root /boot /lost+found -  -  -  -  -  -  -  -  -  -  -  -  -  Configurações Diretorias dos utilizadores Ficheiros temporários Dispositivos Informação sobre o sistema Comandos de utilizador Comandos de sistema Logs e dados da alguns daemons Programas Bibliotecas Home do superutilizador (root) Ficheiros de arranque Ficheiros perdidos (recuperados) João  Sá  //  2013  
  71. 71. linux   filesystems   minix msdos ext vfat ext2 ntfs ext3 proc ext4 iso9660 ReiserFS nfs XFS smb João  Sá  //  2013  
  72. 72. $ ls   cd   pwd   mv   cp  
  73. 73. $ mkdir   rmdir   rm   cat   echo  
  74. 74. WILDCARDS   João  Sá  //  2013  
  75. 75. Wildcard( Significado* ?" Qualquer(caractere(único:(na(posição(em(que(se( encontra(o(?( *" Quaisquer(caracteres(na(posição(onde(se( encontra(o(*(e(daí(para(a(frente( [caracteres]" Qualquer(caractere(que(pertença(à(lista( [!caracteres]" Qualquer(caractere(que(não(pertença(à(lista( João  Sá  //  2013  
  76. 76. LINKS  SIMBÓLICOS   João  Sá  //  2013  
  77. 77. $  ln  -­‐s  orig  link   link   orig     -­‐rw-­‐r-­‐-­‐r-­‐-­‐  2  joaosa  users  181  Out    5  00:08  orig   lrwxrwxrwx  1  joaosa  users      4  Out    5  00:08  link  -­‐>  orig     João  Sá  //  2013  
  78. 78. $  ln  orig  orig2   orig   orig2     -­‐rw-­‐r-­‐-­‐r-­‐-­‐  2  joaosa  users  181  Out    5  00:08  orig   -­‐rw-­‐r-­‐-­‐r-­‐-­‐  2  joaosa  users  181  Out    5  00:08  orig2     João  Sá  //  2013  
  79. 79. #4  |  COMANDOS  
  80. 80. stdin   stdout   stderr  
  81. 81. REDIRECCIONAMENTOS   João  Sá  //  2013  
  82. 82. $  comando  >   output   $  comando  <   input   João  Sá  //  2013  
  83. 83. $  comando  >   output   $  comando  >>   output   output   output   João  Sá  //  2013  
  84. 84. $  comando  1>   output   $  comando  1>>   output   output   output   João  Sá  //  2013  
  85. 85. $  comando  2>   error   $  comando  2>>   error   error   error   João  Sá  //  2013  
  86. 86. $  comando  &>   output   error   $  comando  &>>   output   error   output   error   João  Sá  //  2013  
  87. 87. PIPES   João  Sá  //  2013  
  88. 88. P    I    P    E   $  comando1      comando2   $ cat /etc/services | more $ cat /etc/services | sort $ cat /etc/services | grep tcp | wc -l
  89. 89. COMANDOS   João  Sá  //  2013  
  90. 90. $ cat   more   less   grep   wc  
  91. 91. $ tail   head   tac   sort   cut  
  92. 92. EDITORES  DE  TEXTO   João  Sá  //  2013  
  93. 93. emacs                                                                                                                                                    vim   http://www.gnu.org/software/emacs/   http://www.vim.org/   João  Sá  //  2013  
  94. 94. nano   http://www.nano-­‐editor.org/   João  Sá  //  2013  
  95. 95. COMPRESSÃO  E  ARQUIVO   João  Sá  //  2013  
  96. 96. gzip  /  bzip2  /  xz   gunzip  /  bunzip2  /  unxz   João  Sá  //  2013  
  97. 97. tar  –cvf  file.tar  *   tar  –xvf  file.tar   João  Sá  //  2013  
  98. 98. tar  –czvf  file.tar.gz  *   tar  –zxvf  file.tar.gz   João  Sá  //  2013  
  99. 99. decompression  speed  (fast  >  slow)   gzip,  zip  >  7z/xz  >  rar  >  bzip2     compression  speed  (fast  >  slow)   gzip,  zip  >  bzip2  >  7z/xz  >  rar     compression  ratio  (better  >  worse)   7z/xz  >  rar,  bzip2  >  gzip  >  zip     availability  (unix)   gzip  >  bzip2  >  zip  >  7z/xz  >  rar     availability  (windows)   zip  >  rar  >  7z/xz  >  gzip,  bzip2   João  Sá  //  2013  
  100. 100. MECANISMOS  DE  AJUDA   João  Sá  //  2013  
  101. 101. $  man  comando   $  comando  –h   $  comando  -­‐-­‐help   João  Sá  //  2013  
  102. 102. VARIÁVEIS  DE  AMBIENTE   João  Sá  //  2013  
  103. 103. $  env     TERM=xterm-­‐256color   SHELL=/bin/bash   USER=joaosa   MAIL=/var/mail/joaosa   PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/ games:/usr/games   PWD=/home/joaosa/work   LANG=pt_PT.UTF-­‐8   HOME=/home/joaosa   João  Sá  //  2013  
  104. 104. $  export  MY_VAR="Olá  malta”   $  echo  $MY_VAR   Olá  malta   João  Sá  //  2013  
  105. 105. #5  |  PRIVILÉGIOS  E  UTILIZADORES  
  106. 106. GERIR  UTILIZADORES   João  Sá  //  2013  
  107. 107. #  adduser   #  deluser   #  useradd   #  userdel   #  usermod   #  passwd   João  Sá  //  2013  
  108. 108. GERIR  GRUPOS   João  Sá  //  2013  
  109. 109. #  addgroup   #  delgroup   #  groupadd   #  groupdel   #  groupmod   João  Sá  //  2013  
  110. 110. Ficheiros  e  permissões   1 2 3 4 5 6 7 8 1ª  coluna  :  permissões   5ª  coluna:  tamanho   2ª  coluna  :  número  de  directorias   6ª  coluna:  data  da  úlXma  modificação   3ª  coluna:  uXlizador  (“dono”)   7ª  coluna:  hora  da  úlXma  modificação   4ª  coluna:  grupo   8ª  coluna:  nome  do  ficheiro   João  Sá  //  2013  
  111. 111. Ficheiros  e  permissões   outros   grupo   UXlizador  (“dono”)   owner group other  “dono”    grupo    outros   r – read w – write x – execution [ leitura ] [ escrita ] [ execução ] João  Sá  //  2013  
  112. 112. Alterar  as  permissões  //  chmod   Comando  chmod   Sintaxe  chmod modo ficheiro       u g o a (user) (group) (others) (all) + Atribuir privilégio - Retirar privilégio r (read) w (write) x (execute) João  Sá  //  2013  
  113. 113. Alterar  as  permissões   Comando  chmod   Exemplos   $ chmod +r ficheiro.txt $ chmod u+rwx ficheiro.txt $ chmod u-x ficheiro.txt $ chmod o-x ficheiro.txt $ chmod g-x,o-x ficheiro.txt $ chmod ug+rw ficheiro.txt João  Sá  //  2013  
  114. 114. Modificar  o  uXlizador  e  o  grupo   Comando  chown   Sintaxe  chown utilizador:grupo ficheiro Serve para modificar o utilizador e o grupo - proprietários do ficheiro     Exemplos   # chown joaosa:joaosa /tmp/fich.txt # chown anasilva:users /tmp/fich.txt # chown –R root:root /etc João  Sá  //  2013  
  115. 115. ACESSO  REMOTO:  SSH   João  Sá  //  2013  
  116. 116. http://www.openssh.org/   João  Sá  //  2013  
  117. 117. http://www.chiark.greenend.org.uk/~sgtatham/putty/  
  118. 118. #6  |  GESTÃO  DE  PACOTES  
  119. 119. RPM   §  RPM  Package  Manager   §  Antes  designado  Red  Hat  Package  Manager   §  Ficheiros  com  extensão  .rpm   §  §  §  Existe  também  um  programa  (gestor  de  pacotes)   com  o  mesmo  nome   Contém  uma  versão  compilada  de  um  programa   para  instalação   Existem  também  ficheiros  SRPM  (source)   João  Sá  //  2013  
  120. 120. DEB   §  Pacotes  uXlizados  pelo  Debian   §  Ficheiros  com  extensão  .deb   §  §  §  UXlizado  em  distribuições  derivadas,  como  o   Ubuntu   O  programa  para  gestão  de  pacotes  DEB  designa-­‐se   por  dpkg   Existem  também  ferramentas  de  mais  alto  nível,   como  o  apt–  Advanced  Packaging  Tool  ou  o   ap?tude   João  Sá  //  2013  
  121. 121. apt-­‐get   Exemplo  para  instalação  de  um  browser  em  modo   texto    #  apt-­‐get  install  links     Exemplo  para  instalação  da  shell  fish    #  apt-­‐get  install  fish   João  Sá  //  2013  
  122. 122. tar.gz   §  GZ:  gzip  (GNU  zip)   Formato  de  compressão  popular  em  Linux   §  TAR:  tape  archive   UXlizado  inicialmente  para  gerir  tapes,  é  actualmente   uXlizado  para  combinar  múlXplos  ficheiros  num  único   arquivo   §  Um  arquivo/ficheiro  .tar  pode,  depois  de   criado,  ser  comprimido,  dando  origem  a  um   ficheiro  .tar.gz   João  Sá  //  2013  
  123. 123. Instalação  de  soDware   §  A  parXr  de  pacotes  binários   §  A  parXr  do  código  fonte   João  Sá  //  2013  
  124. 124. Instalar   • rpm –i pacote-versao.i386.rpm Actualizar   • rpm –U pacote-versao.i386.rpm Desinstalar   • rpm –e pacote Listar  os  ficheiros  de  determinado  pacote   • rpm –qpl pacote-versao.i386.rpm Saber  a  que  pacote  pertence  um  ficheiro   • rpm –qf /bin/ls João  Sá  //  2013  
  125. 125. Instalar   • apt-get install pacote Actualizar  todos  os  pacotes  instalados   • apt-get update Desinstalar   • apt-get remove pacote Listar  os  pacotes  instalados   • dpkg -l Listar  os  ficheiros  instalados  por  determinado  pacote   • dpkg –L pacote João  Sá  //  2013  
  126. 126. #7  |  CONFIGURAÇÕES  DE  REDE  
  127. 127. DISPOSITIVOS  E  INTERFACES   João  Sá  //  2013  
  128. 128. COMANDO  IFCONFIG   João  Sá  //  2013  
  129. 129. FICHEIROS  DE  CONFIGURAÇÃO   João  Sá  //  2013  
  130. 130. ROTAS  E  O  COMANDO  ROUTE   João  Sá  //  2013  
  131. 131. LIGAÇÕES  TCP  E  UDP:  NETSTAT   João  Sá  //  2013  
  132. 132. DNS   João  Sá  //  2013  
  133. 133. COMANDOS  DE  REDE   João  Sá  //  2013  
  134. 134. #8  |  GESTÃO  DE  PROCESSOS  
  135. 135. PROCESSOS  E  SINAIS   João  Sá  //  2013  
  136. 136. processo   é  uma  instância  de  um   programa  em  execução,  no   entanto,  um  programa  pode   criar  vários  processos  
  137. 137. COMANDOS   João  Sá  //  2013  
  138. 138. $ ps   pstree   top   kill   nice  
  139. 139. # renice   pgrep   pkill   killall   jobs  
  140. 140. FOREGROUND  E  BACKGROUND   João  Sá  //  2013  
  141. 141. $ bg   fg   jobs   nohup   sleep  
  142. 142. #9  |  SERVIÇOS  DE  REDE  
  143. 143. RUNLEVELS   João  Sá  //  2013  
  144. 144. SCRIPTS  DE  ARRANQUE   João  Sá  //  2013  
  145. 145. CRONTAB   João  Sá  //  2013  
  146. 146. #10  |  SHELL  SCRIPTS  
  147. 147. GNU/LINUX   WHERE  THERE  IS  A  SHELL,  THERE  IS  A  WAY  

×