Tópicos em Sistemas Operacionais (LINUX) Prof:. Msc. Arimatéia Junior [email protected] Fortaleza-2011 Objetivos gerais Administrador do sistema; Estruturas do Linux; Usuários; Distribuição do Linux. Administrador do sistema Uma das principais diferenças pra quem esta migrando do Windows são as permissões de cada tipo de usuário. Enquanto no Windows um usuário comum pode executar quaisquer aplicação, no Linux cada usuário tem atribuído a si, suas permissões. Administrador do sistema Antes de iniciar no Linux: 1. Quando entrar pela primeira vez no GNU/Linux (ou qualquer outro UNIX), a primeira coisa que verá será a palavra login: escrita na tela. 2. Existem diferentes usuários com diferentes permissões Tipos de usuários Usuário especial, Super usuário ou usuário root Permissões: -Executa qualquer ação. É caracterizado pelo símbolo # Tarefas: 1. Criar usuários; 2. Instalar e desinstalar aplicativos; 3. Configurar dispositivos; 4. Disponibilizar recursos do sistema, particularmente para cada usuário; Tipos de usuários Usuário Comum Permissões: -Executa ações limitadas. É caracterizado pelo símbolo $ Tarefas: 1. Criar diretórios; 2. Criar arquivos; 3. Mover, copiar, deletar arquivos ; Visualização de usuários Só existem estes dois tipos de usuário?? Não o próprio SO, cria usuários para executar algumas chamadas de sistema. Visualizando usuários existentes <visualizador> /etc/passwd Visualização de usuários Só existem estes dois tipos de usuário?? Não o próprio SO, cria usuários para executar algumas chamadas de sistema. Visualizando usuários existentes <visualizador> /etc/passwd Usuários Linux Uma das coisas que torna seguro o sistema operacional GNU/Linux (na verdade, qualquer sistema baseado no Unix), é a sua exigência de que cada coisa tenha dono e permissões de uso. Assim, para que seja possível restringir ou permitir o acesso e o uso de determinados recursos a uma ou mais pessoas, é necessário que cada uma tenha um usuário devidamente criado no sistema operacional. Por que criar usuários? 1. Com uma conta, uma pessoa poderá ter os seus próprios diretórios, personalizar o seu desktop, ter atalhos e configurações para os seus programas preferidos, entre outros. 2. Deve-se criar usuários no GNU/Linux meramente para permitir a sua utilização por cada pessoa. Entendendo os usuários 1. Para se criar um novo usuário deve-se estar “logado” com usuário raiz. IMPORTANTE: PARA CADA USUÁRIO TEM SUA PRÓPRIA CONTA E TAL, FICA LOCALIZADA EM UM ARQUIVO DE NOME PASSWD. E SEU PATH É /ETC/PASSWD 2. Esse arquivo tem várias informações sobre o usuário: Entendendo os usuários As informações contidas no passwd são: - - o seu nome de login (ou seja, o nome que é necessário digitar para entrar no sistema); senha (neste caso, a informação da senha pode estar criptografada ou em outro arquivo); - UID (User IDentification), ou seja, número de identificação do usuário; - GID (Group IDentification), isto é, número de identificação do grupo do usuário; informações adicionais sobre o usuário (nome completo, dados de contato, etc); diretório "home", ou seja, o diretório principal de cada usuário; shell do usuário, uma espécie de programa que interpretará os comandos que o usuário digitar. Entendendo os usuários As informações contidas no passwd são: junior:x:1000:1000:Jnior,,,:/home/junior:/bin/bash junior: é neste ponto que fica localizado o nome de login do usuário, neste caso, junior. Esse nome não pode ser igual a outro já existente no sistema e, geralmente é limitado a 32 caracteres. Todavia, dependendo da configuração aplicada, o nome pode ser "case sensitive", ou seja, diferencia letras maiúsculas de minúsculas. Assim, 'wester' será diferente de 'wEster', por exemplo; Entendendo os usuários junior:x:1000:1000:Jnior,,,:/home/junior:/bin/bash x: essa posição indica a senha do usuário. A letra x informa que a senha está armazenada e protegida dentro do arquivo/etc/shadow. Se houver um asterisco (*) no lugar, significa que a conta está desativada. Todavia, se não houver nada, significa que não há senha para esse usuário. Em alguns casos, embora isso não seja recomendável, a senha pode estar inserida diretamente ali, mas criptografada; Entendendo os usuários junior:x:1000:1000:Jnior,,,:/home/junior:/bin/bash 1000: esse campo indica o número UID (User IDentification) do usuário, mas você pode estar se perguntando o que é isso. Como o próprio nome informa, é número que serve para identificar o usuário. Em geral, o sistema pode suportar UIDs que vão de 0 a 4.294.967.296, embora alguns sistemas limitem esse número a valores inferiores. Normalmente, o UID 0 é atribuído pelo próprio GNU/Linux ao usuário root. Entendendo os usuários junior:x:1000:1000:Jnior,,,:/home/junior:/bin/bash 1000: esse é o campo que indica o GID (Group IDentification) do usuário, isto é, o número de identificação do grupo do qual ele faz parte. Assim como no UID, geralmente o usuário 0 é indicado para o grupo do usuário root. Note, no entanto, que um mesmo usuário pode fazer parte de mais de um grupo (geralmente, o GNU/Linux permite a participação do usuário em até 32 grupos). Entendendo os usuários junior:x:1000:1000:Jnior,,,:/home/junior:/bin/bash Jnior: esse campo é muito interessante, pois permite a inclusão de informações adicionais sobre o usuário. Também chamado de GECOS (General Electric Comprehensive Operating System) em alusão a uma funcionalidade existente em um sistema operacional Unix que tinha esse nome, esse campo serve para, por exemplo, cadastrar o nome completo do usuário, seu endereço, seu telefone ou o seu ramal, etc. Cada informação é separada da outra por uma vírgula, Entendendo os usuários junior:x:1000:1000:Jnior,,,:/home/junior:/bin/bash /bin/bash : esse é o campo que informa qual o shell (interpretador de comandos) de login que o usuário utilizará. O GNU/Linux trabalha com vários, entre eles, o bash, o sh e o csh. Caso nenhum shell seja informado, o sistema utilizará o bash como padrão. Criando usuários Deve-se estar logado no usuário raiz, para isso tem-se 02 modos: 1º Já se tem uma senha root Su root SENHA 2º Não se tem uma senha root: Sudo passwd root Nova senha SENHA Criando usuários Para isso, você pode abrir um terminal e utilizar o comando adduser (dependendo do seu sistema, o comando pode ser somente/também useradd), que é aplicado da seguinte forma: adduser opções usuário Você pode usar vários parâmetros (veja uma lista completa digitando man adduser no terminal), entre eles: Algumas opções adduser -disabled-login usuário: faz com que a conta do usuário seja criada sem a solicitação de uma senha (ou seja, não executa o comando passwd). No entanto, a conta não poderá ser usada até que o usuário defina sua senha de acesso; adduser -group grupo: com esse parâmetro, ao invés de uma conta de usuário, um grupo é criado. Para essa tarefa também pode-se utilizar o comando addgroup; Eliminando usuários Se você precisa apagar um usuário, saiba que o procedimento é fácil. Basta digitar o comando userdel seguido do nome do usuário. Por exemplo: Userdel usuario Alterando e controlando senhas Usa-se o comando passwd. Se qualquer usuário quiser alterar a sua própria senha, basta digitar apenas passwd em um terminal. Quando isso ocorrer, o sistema pedirá que o usuário digite a sua senha atual e, em seguida, pedirá a nova seqüência, que deve ser informada duas vezes, para confirmação. Passwd usuario opcoes Algumas opções -e: faz com que a senha do usuário expire, forçando-o a fornecer uma nova combinação no próximo login; -k: permite a alteração da senha somente se esta estiver expirada; -x dias: faz com que a senha funcione apenas pela quantidade de dias informada. Depois disso, a senha expira e o usuário deve trocá-la; -n dias: indica a quantidade mínima de dias que o usuário deve aguardar para trocar a senha; Alterando informações dos usuários Se você pode criar e apagar contas de usuários, pode também alterá-las. Isso é feito facilmente com o comando usermod, cujo funcionamento é semelhante ao comando adduser: usermod opções usuário Tópicos em Sistemas Operacionais (LINUX) Prof:. Msc. Arimatéia Junior [email protected] Fortaleza-2011