Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet SERVIDORES PARA INTERNET Aula 03: Atualização, usuários e permissões AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Conteúdo desta aula ATUALIZAÇÃO DO SISTEMA 1 GERENCIAMENTO DE USUÁRIOS E GRUPOS 3 PRÓXIMOS PASSOS FERRAMENTAS DE ATUALIZAÇÃO 2 PERMISSÕES DE ACESSO 4 PROPRIEDADES DOS ARQUIVOS 5 AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Atualização do sistema • Manter um sistema sempre atualizado deve ser umas das prioridades do administrador do sistema. • Principais benefícios: • Correção de bugs; • Segurança (correção de vulnerabilidades conhecidas); • Utilização de novas features. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Sistemas de gerenciamento de pacotes de alto nível • A maioria dos sistemas operacionais Unix-like oferecem um mecanismo centralizado para encontrar e instalar software. • No passado, muitos programas Linux eram distribuídos em código-fonte. • Hoje em dia, a maioria dos distribuidores Linux usam programas pré-compilados ou conjuntos de programas chamados pacotes. • Os pacotes fornecem os componentes básicos de um sistema operacional, juntamente com bibliotecas compartilhadas, aplicativos, serviços e documentação. • As ferramentas de gerenciamento de pacotes ajudam a instalar, atualizar e remover pacotes. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Sistemas de gerenciamento de pacotes de alto nível • A maioria dos sistemas de pacotes são construídos em torno de coleções de arquivos de pacote. • Um arquivo de pacote geralmente é um arquivo que contém binários compilados e outros recursos que compõem o software, juntamente com scripts de instalação. • Os pacotes também contêm valiosos metadados, incluindo suas dependências, uma lista de outros pacotes necessários para instalá-los e executá-los. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de pacotes por sistema operacional Sistema operacional Formato Ferramentas Debian .deb apt, apt-cache, apt-get,dpkg Ubuntu .deb apt, apt-cache, apt-get,dpkg CentOS .rpm yum Fedora .rpm dnf FreeBSD Ports, .txz make, pkg AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Pacotes RPM O comando rpm instala os “pacotes” de arquivos .rpm a partir de qualquer origem. Comandos básicos: rpm –i arquivo.rpm (install) rpm –e arquivo (remove) rpm –U arquivo (upgrade, remove old) rpm –F arquivo (update, keep old) rpm -qa | grep “arquivo" (lista os pacotes instalados) rpm -qa --last (lista os pacotes instalados em ordem de instalação dos pacotes) rpm -qf /path/to/filet (procura de qual pacote determinado arquivo se origina) AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Sistemas de gerenciamento de pacotes de alto nível • RPM, YUM (para sistemas Red Hat) e APT (para sistemas Debian) têm muitas semelhanças: • Podem instalar e remover pacotes; • As informações sobre os pacotes instalados são mantidas em um banco de dados; • Possui a funcionalidade básica de linha de comando, enquanto ferramentas adicionais podem fornecer interfaces mais amigáveis; • Podem recuperar pacotes da internet. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Sistemas de gerenciamento de pacotes de alto nível • Sistemas de gerenciamento de pacotes como o YUM (Yellowdog Updater Modified) e o APT (Debian Advanced Packaging Tool) compartilham vários objetivos: • Simplificar a localização e o processo de cópia dos pacotes; • Automatizar o processo de atualização ou a atualização de sistemas; • Facilitar o gerenciamento das dependências entre pacotes). AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de usuários e grupos • O controle de usuários e grupos é um elemento central da administração do sistema Linux. • O usuário do sistema é um ser humano ou uma conta usada por aplicativos específicos identificados por um número de identificação numérico exclusivo chamado ID de usuário (UID). • Os usuários de um grupo podem ter permissões de leitura, permissões de gravação, permissões de execução ou qualquer combinação de permissões de leitura/gravação/execução para arquivos pertencentes a esse grupo. • O Linux suporta listas de controle de acesso (ACLs) para arquivos e diretórios que permitem definir permissões para usuários específicos fora do proprietário. • Um grupo é uma unidade organizacional que associa usuários em conjunto para um propósito comum, que pode ser permissões de leitura, permissão de escrita ou execução de permissão para arquivos pertencentes a esse grupo; AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de usuários e grupos • Semelhante ao UID, cada grupo está associado a um ID de grupo (GID); • Cada usuário é um membro de exatamente um grupo primário e zero ou mais grupos suplementares; • Por padrão, quando um arquivo é criado, o proprietário do arquivo é seu criador e o grupo do arquivo é o grupo principal do criador; • Um grupo suplementar serve para conceder, a um determinado grupo de usuários, o acesso a um determinado grupo de arquivos pertencentes a este grupo. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de usuários • Para gerenciamento de usuário, os seguintes comandos são usados: useradd, usermod, userdel, ou passwd. Os arquivos afetados são o /etc/passwd que armazena informações de contas de usuário e o /etc/shadow, que armazena informações de conta de usuário de forma segura. • Criando usuários: • Definindo uma senha para o usuário: useradd username root@localhost ~]# useradd estacio passwd username root@localhost ~]# passwd estacio Changing password for user estacio. New password: AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de usuários • Ao adicionar um usuário, uma nova entrada no arquivo /etc/passwd foi criada com os atributos do usuário. Uma entrada no /etc/passwd possui o seguinte formato: username – Nome de usuário (Login de acesso); password – Senha criptografada (O x indica que a senha está armazenada no arquivo /etc/shadow); uid – ID do usuário; gid –ID do grupo inicial; comment – Normalmente o nome completo; home_dir – Diretório home; shell – O shell padrão. username:password:uid:gid:comment:home_dir:shell AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de usuários [root@localhost ~]# tail -5 /etc/passwd vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin estacio:x:500:500::/home/estacio:/bin/bash • Exemplo das últimas cinco linhas do arquivo /etc/passwd de um servidor Linux. Observe a entrada para o usuário estacio e seus atributos: • estacio foi atribuído ao UID 500 (os UID padrão de 0 a 499 são reservados para contas de sistema). • A letra x sinaliza que as senhas de estão criptogradas e o hash está armazenado no /etc/shadow. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de grupos • Os grupos são uma ferramenta útil para permitir a cooperação entre diferentes usuários. • Há um conjunto de comandos para o funcionamento por grupos, tais como groupadd, groupmod, groupdel, ou gpasswd. • Os arquivos afetados incluem o /etc/group que armazena as informações da conta do grupo e /etc/gshadow, que armazenaas informações seguras da conta do grupo. • Criando grupos: groupadd grupo [root@localhost ~]# groupadd redes AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de grupos • O arquivo /etc/grupo contém os atributos do grupo. Contém uma entrada neste arquivo para cada grupo. Uma entrada no /etc/grupo possui o seguinte formato: name – Nome do grupo; password – Senha criptografada (Se vazio, nenhuma senha seré requerida); gid – ID do grupo; users_list – Todos os usuários contidos no grupo serparados por vírgula. O grupo redes foi criado com um GID (ID de grupo) exclusivo 501 e não contém nenhum usuário. name:password:gid:user1,user2,...,userN [root@localhost ~]# grep redes /etc/group redes:x:501: AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de grupos • Para adicionar um usuário ao um grupo: • Consultando novamente os atributos do grupo redes, agora o usuário estacio pertence ao grupo redes. gpasswd -a username grupo_para_editar [root@localhost ~]# gpasswd -a estacio redes Adding user estacio to group redes [root@localhost ~]# grep redes /etc/group redes:x:501:estacio AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciamento de grupos • Para alterar a senha de um grupo: • Observe os atributos do grupo no arquivo /etc/gshadow: gpasswd groupname [root@localhost ~]# gpasswd redes Changing the password for group redes New Password: Re-enter new password: [root@localhost ~]# grep redes /etc/gshadow redes:$6$s.wvj6.WFS$ghqvV0DCgztaOdtjkEQSU3cdwXQxP/E1PCgcTqVcjVeGsXXBgOn97O AAx12DyqUDCIAPn/evFdT2gvXKYr58R1::estacio AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Utilizando o usuário estacio (logado com esta conta) criado anteriormente, tente chegar no diretório /root e observe o resultado: [root@localhost ~]# su – estacio [estacio@localhost ~]$ cd /root/ -bash: cd: /root/: Permission denied • O comando su -estacio foi utilizado para “entrar” bash deste usuário, semelhante ao realizar o login no bash com esta conta. • O erro ao navegar para o diretório /root, foi uma demonstração dos recursos de segurança do Linux. O Linux, como o UNIX, é um sistema multiusuário e as permissões de arquivos são uma maneira de proteção do sistema contra adulteração maliciosa. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Uma maneira de obter entrada quando você tiver permissão negada é inserir o comando su - . Isso ocorre porque quem conhece a senha de root tem acesso completo ao sistema. • No entanto, mudar para o superusuário nem sempre é conveniente ou recomendado, uma vez que é fácil cometer erros e alterar arquivos de configuração importantes como um superusuário. [estacio@localhost ~]$ su - Password: [root@localhost ~]# AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Todos os arquivos e diretórios são "propriedade" da pessoa que os criou. • No exemplo a seguir vamos criar o arquivo material.txt com o comando touch. • O usuário estacio criou o arquivo material.txt, isso significa que materila.txt pertence ao usuário estacio. • Utilize o comando ls –ltr para consultar os atributos do arquivo material.txt. [estacio@localhost ~]$ touch material.txt [estacio@localhost ~]$ ls -ltr material.txt -rw-rw-r--. 1 estacio estacio 0 May 7 10:48 material.txt AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • O controle de acesso aos sistemas de arquivos nativo do Linux é implementado usando-se um conjunto de propriedades, mantidas separadamente para cada arquivo. Essas propriedades são chamadas coletivamente de modo de acesso ou simplesmente de modo de um arquivo. O modo controla o acesso por essas três classes de usuários: • Usuário (User) • O usuário que é o proprietário do arquivo. • Grupo (Group) • O grupo que é o proprietário do arquivo. • Outros (Other) • Todos os outros usuários do sistema. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Para cada uma das classes de usuários, o modo de acesso define três tipos de permissões: Permissão Abreviatura Permissão de arquivo Permissão de diretório Leitura r Examinar o conteúdo do arquivo Listar o conteúdo do diretório Escrita w Escrever ou modificar o arquivo Criar e remover arquivos no diretório. Execução x Rodar o arquivo como um programa Acessar o diretório (com cd para dentro dele) AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Essas três permissões se aplicam às três classes diferentes de usuários: usuário, grupo e outros. Cada uma tem permissões de leitura, escrita e execução: -rw-rw-r--. 1 estacio estacio 0 May 7 10:48 material.txt -rwxrwxr-x. 1 estacio estacio 0 May 7 11:15 programa.sh drwxrwxr-x. 2 estacio estacio 4096 May 7 11:17 diretorio lrwxrwxrwx. 1 estacio estacio 9 May 7 11:43 teste -> /tmp/link R - arquivo pode ser lido W - arquivo pode ser escrito para X - arquivo pode ser executado (se for um programa) - (traço) - a permissão específica não foi atribuída AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Todas as permissões são binárias AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • As permissões podem ser exibidas pelo comando ls -rw-rw-r--. 1 estacio estacio 0 May 7 10:48 material.txt -rwxrwxr-x. 1 estacio estacio 0 May 7 11:15 programa.sh drwxrwxr-x. 2 estacio estacio 4096 May 7 11:17 diretorio lrwxrwxrwx. 1 estacio estacio 9 May 7 11:43 teste -> /tmp/link u s e r g r u p o o u t r o s d = um diretório // - (traço) = um arquivo regular // l - link simbólico AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Adicionalmente, há mais três bits que controlam atributos especiais para arquivos executáveis e diretórios: • SUID • SGID • Sticky AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • SUID • Aplica-se apenas a arquivos executáveis; • Os processos criados a partir de arquivos com o bit SUID ligado serão executados com o usuário que é dono do arquivo; • Permite alterar temporariamente as permissões do usuário (e.g. passwd); • Também pode ocasionar falhas de segurança. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • SGID • Funciona de forma similar ao bit SUID, porém se aplica ao grupo; • Também afeta diretórios, neste caso novos arquivos criados dentro de um diretório com o bit SGID ligado terão o mesmo grupo que este diretório. Exemplo: • Se o diretório /home/estacio tiver o grupo redes e tiver a SGID habilitada, então, todos os arquivos neste diretório serão criados tendo como grupo proprietário redes. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Sticky • O uso do bit sticky em arquivos tornou-se obsoleto; • Quando aplicado a diretórios, oferece uma camada adicional de segurança; • Apenas o dono do arquivo, o dono do diretório ou o usuário root podem remover ou renomear um arquivo dentro de um diretório com o bit sticky ligado; • O diretório /tmp normalmente tem o bit sticky ligado. AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso – Representação Simbólica (textual) AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissõesde acesso – Representação Simbólica (textual) Representando as permissões em texto: • O bit SUID é representado por um s na posição do x da permissão do dono; • O bit SGID é representado por um s na posição do x da permissão do grupo; • O bit sticky é representado por um t na posição do x da permissão de outros. • Exemplo: [root@localhost ~]# stat /bin/mount File: `/bin/mount' Size: 77336 Blocks: 152 IO Block: 4096 regular file Device: fd00h/64768d Inode: 130984 Links: 1 Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2017-05-07 15:30:54.929000002 -0300 Modify: 2014-10-15 07:38:25.000000000 -0300 Change: 2017-04-21 22:20:46.549000101 -0300 AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • As permissões de acesso a arquivos e diretórios são alteradas através do comando chmod, o qual aceita especificação de modo de acesso octal ou simbólica (textual). • Opções: • Exemplos: chmod [permissões] [diretório/arquivo] -v: modo verbose -c: semelhante ao verbose, mas só mostra as alterações -R: modo recursivo chmod +x programa.sh chmod 644 programa.sh AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Você pode modificar as permissões para uma ou mais classes de usuários (user, group, other). No exemplos a seguir vamos utilizar o modo textual: • u= user // g=grup // o= other (ugo) • u+x – adiciona permissão de execução para o dono; • go-w – remove permissão de escrita para o grupo e outros; • o+t – adiciona o bit sticky; • a=rw – define permissão de leitura e escrita para todos. chmod +w material.txt chmod u+rw, g+w, o-rwx material.txt chmod +x programa.sh AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso – Representação Octal AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso – Representação Octal 4 - Indica permissão de leitura; 2 - Permissão de escrita; 1 - Indica permissão de execução; 0 - Indica sem permissões. • Concede a permissão de leitura (classe usuário) ao arquivo material.txt • Concede a permissão de execução (todas as classes) ao arquivo programa.sh chmod +400 material.txt chmod +111 programa.sh chmod a+w programa.sh AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Permissões de acesso • Configurações de permissões mais comuns Configuração Numérico Significado -rw ------- (600) Somente o proprietário tem permissões de leitura e gravação. -rw-r-r- (644) Somente o proprietário tem permissões de leitura e gravação; O grupo e outros apenas leitura. -rwx ------ (700) Somente o proprietário tem permissões de leitura, gravação e execução. -rwxr-xr-x (755) O proprietário pode ler, escrever e executar; O grupo e outros têm apenas permissão para ler e executar. -rwx - x - x (711) O proprietário pode ler, escrever e executar permissões; O grupo e outros têm apenas executar. -rw-rw-rw- (666) Todos podem ler e gravar no arquivo. (Tenha cuidado com essas permissões.). -rwxrwxrwx (777) Todos podem ler, escrever e executar. (Novamente, esta configuração de permissões pode ser perigosa.). AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciar a propriedade dos arquivos • A modificação de parâmetros de propriedade pode se tornar necessária ao se mover arquivos. • Ao se configurar grupos de trabalho ou ao se trabalhar no diretório de um usuário como root. • Isso é feito com comando chown, o qual é capaz de modificar a propriedade de usuários e grupos. O comando chgrp modifica a propridade de grupos. • Sintaxe do comando chwon: chown [opções] usuário-proprietário arquivos chown [opções] usuário-proprietário. Arquivos chown [opções] usuário-proprietário.grupo-proprietário arquivos chown [opções] .grupo-proprietário arquivos AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciar a propriedade dos arquivos • • Altera o dono do arquivo material.txt para o usuário estacio. • Altera o dono do arquivo material.txt para o usuário estacio.redes chown –v estacio material.txt chown –v estacio.redes material.txt AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Gerenciar a propriedade dos arquivos • Para alterar apenas o grupo de um arquivo/diretório utiliza-se o comando chgrp • Sintaxe Exemplo: # chgrp -Rv sales sales chgrp [options] group-owner files AULA 3: SISTEMAS DE ARQUIVOS E COMANDOS LABORATÓRIO PRÁTICO AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet Atividades de laboratório – Adicionando usuários • Verificar o conteúdo dos arquivos: /etc/passwd /etc/shadow /etc/group • Criar um usuário chamado linux • Criar um grupo chamado server • Aterar a senha de linux para e$t@Ci0 • Colocar o usuário linux no grupo server • Rever os arquivos do /etc/passwd, /etc/shawdow e /etc/group AULA 04: ATUALIZAÇÃO, USUÁRIOS E PERMISSÕES Servidores para internet VAMOS AOS PRÓXIMOS PASSOS? Agendador de tarefas; Quotas de disco no Linux. AVANCE PARA FINALIZAR A APRESENTAÇÃO.
Compartilhar