M i n i - C u r s o d e I n t r o d u ç ã o a o G N U / L i n u x AULA 6 Bruno L. Albrecht Felipe A. Chies Lucas F. Zawacki PET Computação UFRGS Março/Abril 2008
A d m i n i s t r a c a o B á s i c a Arquivos de configuração fstab, mtab passwd, shadow, group apt/sources.list grub.conf xorg.conf Tópicos Especiais NFS SAMBA
A r q u i v o s d e C o n f i g u r a c a o Não mostraremos todos!!! fstab, mtab passwd, shadow, group menu.lst sources.list rc?.d xorg.conf
/ e t c / f s t a b File System TABle: contém informações sobre onde as partições e dispositivos devem ser montados e como. Utilizado pelo comando mount; Tabela daquilo que tentará ser montado durante a inicialização do sistema; Composto de 6 colunas (dispositivo, ponto de montagem, sistema de arquivo, opções de montagem, dump, fsck): /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec 0 0 Comando: mount -a [Recarrega o fstab]
/ e t c / m t a b Mounted TABle: tabela dos sistemas de arquivos atualmente montados; Quando damos um comando mount, ele coloca automaticamente nosso dispositivo recém-montado nessa tabela; Nota: no LiveCD fica um pouco esquisito, devido ao fato de ser um LiveCD (ele precisa enganar o Kernel);
/ e t c / p a s s w d O arquivo /etc/passwd representa uma lista de usuários reconhecidos pelo sistema; O sistema consulta o arquivo em tempo de login para determinar o UID e o diretório inicial de um usuário, etc...; Contém sete campos: login, marcador de senha, UID, GID, informações pessoais, diretório inicial (home) e shell de login. ana:x:1000:1000:ana cristina,pet,,:/home/ana:/bin/bash Comando: $ id
/ e t c / s h a d o w Arquivo que contém as senhas dos usuários criptografadas, sendo que só é legível pelo root; Possui 9 campos: login, senha criptografada, data da última mudança de senha, dias mínimos para mudar de senha, dias máximos, alerta de troca de senha, número de dias após expirar a conta que a senha será desabilitada e data de expiração da conta; Datas são escritas em dias após 01/01/1970 (e não segundos, como o UNIX Time); ana: $1$rRL/dvX8$EW9AUtPvI3aaqgSwx3kA30:13818:0:9999 9:7:::
/ e t c / g r o u p Arquivo que contém os grupos do sistema e os usuários que fazem parte listados; Grupos são importante, pois definem permissões mais expressivas Usuários podem pertencer a mais de um grupo; São 4 campos: nome do grupo, senha (existe o arquivo /etc/gshadow), GID e lista de membros; adm:x:4:ana Comando: $ groups
/ b o o t / g r u b / m e n u. l s t Arquivo de configuração do GRUB; As vezes é preciso editá-lo a mão, para passar parâmetros para o kernel que possibilitem o boot; É neste arquivo que escolhemos qual o Sistema Operacional que será carregado automaticamente no boot; Notação (exemplo): /dev/hda1 (hd0,0) /dev/hda2 (hd0,1) /dev/hdb1 (hd1,0) /dev/hdb2 (hd1,1)
/ e t c / a p t / s o u r c e s. l i s t Arquivo de configuração do apt-get; É lá onde coloca-se a lista dos repositórios a serem procurados por pacotes (Administração/Canais de Software é um frontend para este arquivo); Exemplo: deb http://security.ubuntu.com/ubuntu feistysecurity main restricted [Pacotes] deb-src http://security.ubuntu.com/ubuntu feistysecurity main restricted [Fontes] man sources.list
/ e t c / r c?. d Arquivos de inicialização (/etc/rc?.d) São chamados pelo init, que coordena o processo de inicialização e configuração do ambiente para o usuário. Nível 5: Nível multiusuário com interface gráfica -> /etc/rc5.d Lá podemos colocar links para novos scripts de inicialização; Exemplo: S20ssh
/ e t c / X 1 1 / x o r g. c o n f Arquivo de configuração do X; Lá alteramos as configurações do nosso monitor, placa de vídeo, teclado, mouse, etc; Geralmente, faremos alguma alteração lá quando nosso Linux não conseguir detectar corretamente (plug-and-play) algum dispositivo. Maiores informações: man xorg.conf
/ h o m e / $ U S E R /. b a s h r c Configuraçãoes da shell do usuário. Carregadas toda vez que o usuário abre uma shell. Configurações comuns a todos os usuários são feitas em /etc/profile
chfn Muda os dados pessoais do usuário; A d m i n i s t r a c a o d e U s u a r i o s # adduser login Adiciona um usuário; # passwd login Modifica a senha de um usuário; # deluser remove-home login Remove um usuário e seu diretório home do sistema;
N F S N e t w o r k F i l e S y s t e m O NFS é um protocolo desenvolvido pela Sun que permite o compartilhamento de arquivos através da rede. É uma forma prática e estável de se fazer compartilhamento entre computadores UNIX. Para iniciar o NFS, três serviços são necessários: # /etc/init.d/portmap start # /etc/init.d/nfs-common start # /etc/init.d/nfs-kernel-server start
N F S - C o m p a r t i l h a n d o A configuração é feita através do arquivo /etc/exports, um compartilhamento por linha. Formato de um compartilhamento: <caminho> <IPs permitidos> <opções> # Exemplo de Compartilhamento: /home/arthur 192.168.0.* (ro) /publico 192.168.0.* (rw) /home/trabalhos 192.168.0.3 (ro)
N F S - O p ç õ e s Algumas opções: ro # read only. rw # read and write. async # Modo assíncrono, não espera resposta do cliente, em redes de 100 Mb faz taxa ir de 6 a 7MB/s para 11 MB/s. noacess # Bloqueia acesso a subdiretórios....
N F S - M o n t a n d o Para acessar um arquivo que está sendo compartilhado por um computador (cujo ip é 192.168.0.1 por ex.) montamos o compartilhamento com o comando mount: # mkdir /mnt/arquivos # mount -t nfs 192.168.0.1:/arquivos /mnt/arquivos Para desmontar o compartilhamento: # umount /mnt/arquivos É importante sempre desmontar, para evitar que o cliente continua acessando o servidor e ele esteje ausente. O programa trava.
N F S - A u t o m a t i z a n d o Podemos facilitar a montagem, ou até mesmo automatizá-la no boot, através do /etc/fstab 192.168.0.1:/arquivos /mnt/arquivos nfs noauto, users, exec 0 0 Formato: Caminho ponto de montagem sistema de arquivos opções
N F S - A u t o m a t i z a n d o Agora podemos montar nosso compartilhamento com o comando: $ mount /mnt/arquivos Note o $. A opção user permite que usuários normais montem. A opção noauto bloqueia a montagem automática e a opção exec permite execução de arquivos dentro de dentro do compartilhamento.
N F S M a i s o p ç õ e s Por padrão, sistemas NFS são montados com a opção hard, que faz com que caso o servidor caia, os programas clientes travem caso o procurem. Para ativar a opção soft com mount: #mount -t nfs -o soft 192.168.0.1/... Para ativar através da fstab coloque soft como uma das opções:... noauto, users, exec, soft 0 0
N F S - P e r m i s s õ e s As permissões dos arquivos continuam as mesmas. Ou seja, caso desejamos acessar a pasta compartilhada /home/arthur do servidor, precisamos acessá-la com um usário arthur... Sim... não é muito seguro... O root não tem acesso por padrão (considerado 'outros usários'). É preciso ativar a opção no_root_squash Para ativar os novos compartilhamentos sem reiniciar os serviços: exportfs -a -v
S a m b a - I n t r o d u ç ã o O SAMBA permite compartilhamento de serviços (arquivos, diretório, impressão) entre redes Unix e Windows. O SAMBA é uma das soluções em ambiente UNIX capaz de interligar redes heterogênea. Implementa o protocolo SMB (Server Message Block)/CIFS (Common Internet File System), equivalentes a implementação NetBEUI no Windows.
S a m b a Com o SAMBA, é possível: construir domínios completos; controle de acesso a nível de usuário; Compartilhamento; montar um servidor WINS; servidor de domínio; Impressão; etc;
S a m b a Para instalar: sudo apt-get install samba smbclient smbfs Pode ser executado em dois modos: inetd: apenas nmbd é carregado! daemon: smbd e nmbd são carregados! /etc/init.d/samba start (inicia) /etc/init.d/samba stop (interrompe) /etc/init.d/samba restart (reinicia)
S a m b a - C o n f i g u r a ç ã o Arquivos de configuração: /etc/samba/smb.conf Onde praticamente todas configurações são realizadas! /etc/samba/smbpasswd Os usuários e senhas utilizados pelo SAMBA são armazenadas separadamente dos usuários e senhas locais.
S a m b a - C o n f i g u r a ç ã o Configurando o smb.conf: Cada seção é definida por um [ ]. Existem quatro palavras reservadas para seções especiais: [global] : define configurações globais. [homes] : opções sobre os homes dos usuários. [printers] : opções sobre controle de impressoras. [profile] : define um perfil quando o samba é utilizado como um PDC* de domínio.
S a m b a - C o n f i g u r a ç ã o Configurando [global]: [global] workgroup = YOURWORKGROUP security = user encrypt passwords = yes guest account = guest
S a m b a - C o n f i g u r a ç ã o Deve-se adicionar qual o servidor WINS: Caso já exista um servidor na rede: wins server = IP address of WINS server Caso deseja-se que o Samba seja o servidor: wins support = yes WINS e DNS são ambos serviços de resolução de nomes para redes TCP/IP. Enquanto WINS resolve nomes NetBIOS, DNS resolve nomes de domínio.
S a m b a - C o n f i g u r a ç ã o Configurando Networking browser: local master = yes os level = 99 domain master = yes preferred master = yes
S a m b a - C o n f i g u r a ç ã o Adicionando segurança: Para permitir que apenas certos IPs possuam acesso ao servidor, utilizamos a opção: hosts allow = 192.168.1. 127. Pode-se restringir o acesso ao Samba a interfaces de rede específicas: interfaces = eth1
S a m b a C o n f i g u r a ç ã o Adicionando um compartilhamento: Para adicionarmos um novo compartilhamento criamos uma nova seção cujo nome será o nome do compartilhamento na rede: [tmp] path=/tmp writeable=yes Podemos testar nossa sintaxe com: $ testparm
S a m b a - A d i c i o n a n d o U s u á r i o s Podemos adicionar usuários ao Samba desde que já exista uma conta Unix de mesmo nome. Podemos adicionar o usuário ao arquivo smbpasswd digitando: # smbpasswd -a testuser New SMB password: <enter password here> Retype new SMB password: <re-enter password> Added user testuser. Estes passos devem ser seguidos para cada usuário que desejamos adicionar!
S a m b a - C o n f i g u r a n d o C l i e n t e s Para que uma máquina Windows possa acessar o Samba é necessário: A máquina consiga dar ping por nome na máquina Unix. Procure o mesmo servidor WINS, ou configurada para usar a máquina com Samba como servidor WINS. Ser membro do mesmo Workgroup. Estar acessando com um usuário válido!
S a m b a - T e s t a n d o!!! É a hora da verdade! Se a configuração estiver correta e o Samba ativado, poderemos ver nossa máquina Unix pelo Windows através dos Meus locais de rede! Também somos capazes visualizar a rede local com o comando smbtree, ou graficamente através do xsmbrowser.
S a m b a - C o n f i g u r a ç õ e s A v a n ç a d a s Adicionando mais um compartilhamento: [pet] comment= Home directory for pet path = /home/pet force user = pet read only = no valid users = pet administrator
S a m b a - C o n f i g u r a ç õ e s A v a n ç a d a s Compartilhando vários homes: [homes] comment=home directory for %S path=/home/%u valid users = %u administrator force user=%u writeable = yes browseable = no
S a m b a - O p ç õ e s A seguir algumas opções que podem ser adicionadas a cada compartilhamento (ou a todos se colocadas na seção global): available = <yes / no> dont descend= <diretorio1 diretorio2...> follow symlinks = <yes / no> volume = <Nome do Volume> create mask = <Codigo Octal> directory mask= <Codigo Octal> etc.
S a m b a - I m p r e s s o r a s O Samba também permite o compartilhamento de impressoras instaladas na máquina. Pode-se definir todas impressoras na seção [printers], que funciona como a seção [homes], ou individualmente. Toda impressora compartilhada deve ter a opção printable = yes.
B i b l i o g r a f i a m í n i m a d a a u l a Lista completa de referências será dada ao final do curso: https://help.ubuntu.com/community/fstab http://www.tuxfiles.org/linuxhelp/fstab.html http://www.infowester.com/lingrub.php http://www.uniriotec.br/~morganna/guia/introd_guia.html http://focalinux.cipsga.org.br/guia/avancado/ch-s-samba.htm http://samba.org/samba/docs/man/samba3-howto/install.html http://www.gentoo.org/doc/en/articles/samba-p1.xml http://www.guiadohardware.net/guias/07/index1.php http://www.cyberciti.biz/faq/understanding-etcshadow-file