SambaServer
Samba Server como Controlador de Domínio para pequenas redes com Ubuntu 6.10
Esta é uma descrição detalhada sobre como configurar um servidor Ubuntu para funcionar como um servidor de arquivos e impressoras para estações de trabalho Windows em pequenas redes.
Softwares à serem instalados:
- Samba como Controlador de Domínio;
- Cups;
- Foomatic Printer Drivers.
Requisitos:
Para instalar o sistema você precisará:
- Um CD de instalação do Ubuntu Server disponível em: http://www.ubuntu.com/download;
- Uma conexão com a internet.
Na primeira parte deste tutorial, vamos instalar o sistema básico do Ubuntu. Você pode pular esta parte caso já tenha o seu sistema instalado.
1. Instalação do Sistema Básico.
Insira o seu CD de instalação do Ubuntu Server e dê o boot no sistema por ele.
A instalação sera iniciada e primeiro você deve selecionar o seu idioma:
Escolha o seu layout do teclado:
Escolha sua localização:
A instalação começará a escanear os pacotes no CD-Rom:
Entre com o hostname. Neste exemplo, meu sistema se chamará "fileserver1", então digito "filesever1"
Particionando o disco no servidor. Eu usarei uma partição maior para o sistema operacional e os dados, e uma pequena partição de swap.
Configure a hora do sistema com algum UTC (Hora Universal), ou com a hora local.
Agora criaremos o primeiro usuário que será usado com objetivos de administração do sistema. Vamos chamá-lo de administrator.
A instalação do sistema base será inciada.
Não selecione nada aqui. Apenas mande continuar...
A instalação dos pacotes será iniciada:
A instalação básica irá terminar e seu servidor irá dar o boot com o seu novo sistema Ubuntu Linux.
2. Instalando e configurando o restante do sistema.
- Habilitando o usuário root:
Agora iremos fazer login no sistema com o usuário administrator e o password escolhido durante a instalação. Iremos habilitar o usuário root primeiro para facilitar o restante da instalação. Se desejar, depois você pode desabilitá-lo.
sudo passwd root su
Agora estamos logados no sistema como usuário root.
Observação: Este procedimento é opcional e se você não deseja habilitar o usuário root por razões de segurança, por favor execute o comando abaixo para alternar para o usuário root sem habilitar o mesmo para poder efetuar login diretamente.
sudo su
- Configurando a rede:
Como o instalador do Ubuntu configurou o sistema para utilizar as configurações de rede via DHCP, nós devemos alterar agora esta configuração pois o servidor deve possuir um endereço ip estático. Edite o arquivo /etc/network/interfaces e ajuste a configuração da maneira que você precisar. Neste exemplo, iremos utilizar o endereço ip 192.168.0.100.
vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# This is a list of hotpluggable network interfaces.
# They will be activated automatically by the hotplug subsystem.
mapping hotplug
script grep
map eth0
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1Agora de um restart no serviço de rede:
/etc/init.d/networking restart
Edite o arquivo /etc/hosts e adicione o seu endereço ip:
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost server1 192.168.0.100 server1.example.com server1 # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
- Configurando o Hostname:
echo server1.example.com > /etc/hostname /bin/hostname -F /etc/hostname
- Edite o arquivo /etc/apt/sources.list e atualize a sua instalação do Linux: ( Neste momento precisaremos da sua conexão com à Internet )
Agora nós editaremos o arquivo /etc/apt/sources.list para habilitar o repositório universe do Ubuntu.
vi /etc/apt/sources.list
Ele deverá ficar assim:
# # deb cdrom:[Ubuntu-Server 6.10 _Edgy Eft_ - Release i386 (20061025.1)]/ edgy main restricted #deb cdrom:[Ubuntu-Server 6.10 _Edgy Eft_ - Release i386 (20061025.1)]/ edgy main restricted deb http://de.archive.ubuntu.com/ubuntu/ edgy main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ edgy main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://de.archive.ubuntu.com/ubuntu/ edgy-updates main restricted deb-src http://de.archive.ubuntu.com/ubuntu/ edgy-updates main restricted ## Uncomment the following two lines to add software from the 'universe' ## repository. ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## universe WILL NOT receive any review or updates from the Ubuntu security ## team. deb http://de.archive.ubuntu.com/ubuntu/ edgy universe deb-src http://de.archive.ubuntu.com/ubuntu/ edgy universe ## Uncomment the following two lines to add software from the 'backports' ## repository. ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. # deb http://de.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse # deb-src http://de.archive.ubuntu.com/ubuntu/ edgy-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu edgy-security main restricted deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted deb http://security.ubuntu.com/ubuntu edgy-security universe deb-src http://security.ubuntu.com/ubuntu edgy-security universe
Agora nós carregaremos as novas fontes e atualizaremos o nosso sistema:
apt-get update apt-get upgrade
- Instalando o Daemon SSH:
apt-get install ssh openssh-server
- Os próximos passos:
Agora você pode efetuar o login no seu servidor à partir de uma máquina Windows cliente, com o Putty ( software cliente ssh ) (http://www.chiark.greenend.org.uk/~sgtatham/putty/). Esta é uma maneira fácil de você se conectar ao seu servidor SSH, e usar o Putty para copiar e colar os comandos. Mas se você desejar editar os arquivos de configuração no servidor, você pode usar os editores de linha de comando como vi, pico ou o joe, ou usar o programa WinSCP (http://winscp.net/eng/docs/lang:en) para editar os arquivos usando sua conexão SSH em um cliente Windows.
- Quota:
apt-get install quota
Edite o arquivo /etc/fstab conforme mostrado abaixo. Note que foi adicionado usrquota,grpquota para as partições com o mount point: /
vi /etc/fstab
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 # /dev/sda1 UUID=226d9304-88ca-44c0-a3e3-d1ad26cfc084 / ext3 defaults,errors=remount-ro,usrquota,grpquota 0 1 # /dev/sda5 UUID=d824ce36-04b8-4870-83f4-f1a5037c2de4 none swap sw 0 0 /dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
E execute:
touch /quota.user /quota.group chmod 600 /quota.* mount -o remount / quotacheck -avugm quotaon -avug
Você verá a mensagem de erro abaixo quando rodar o comando quotacheck –avugm pela primeira vez:
quotacheck: WARNING - Quotafile //quota.user was probably truncated. Cannot save quota settings... quotacheck: WARNING - Quotafile //quota.group was probably truncated. Cannot save quota settings...
Isto é normal, não se preocupe.
- SAMBA Server:
apt-get install samba samba-common samba-doc libcupsys2-gnutls10 libkrb53 winbind smbclient
Edite o arquivo /etc/samba/smb.conf conforme mostrado abaixo:
[global] workgroup = MYWORKGROUP netbios name = SERVER1 server string = %h server (Samba, Ubuntu) passdb backend = tdbsam security = user username map = /etc/samba/smbusers name resolve order = wins bcast hosts domain logons = yes preferred master = yes wins support = yes # Set CUPS for printing load printers = yes printcap name = CUPS printing = CUPS printer admin = @lpadmin # Default logon logon drive = H: logon script = scripts/logon.bat logon path = \\server1\profile\%U # Useradd scripts add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u delete user script = /usr/sbin/userdel -r %u add group script = /usr/sbin/groupadd %g delete group script = /usr/sbin/groupdel %g add user to group script = /usr/sbin/usernod -G %g %u add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u idmap uid = 15000-20000 idmap gid = 15000-20000 template shell = /bin/bash # sync smb passwords woth linux passwords passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . passwd chat debug = yes unix password sync = yes # set the loglevel log level = 3 [public] browseable = yes public = yes [homes] comment = Home valid users = %S read only = no browsable = no [printers] comment = All Printers path = /var/spool/samba printable = yes public = no writable = no create mode = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no write list = root, @smbadmin [netlogon] comment = Network Logon Service path = /home/samba/netlogon admin users = Administrator valid users = %U read only = no guest ok = yes writable = no share modes = no [profile] comment = User profiles path = /home/samba/profiles valid users = %U create mode = 0600 directory mode = 0700 writable = yes browsable = no guest ok = no
Crie os diretórios para os logons de domínio e os perfis:
mkdir /home/samba mkdir /home/samba/netlogon mkdir /home/samba/profiles mkdir /var/spool/samba chmod 777 /var/spool/samba/ chown -R root:users /home/samba/ chmod -R 771 /home/samba/
Agora reinicie o serviço do Samba:
/etc/init.d/samba restart
Edite o arquivo /etc/nsswitch.conf e altere a linha:
vi /etc/nsswitch.conf
hosts: files dns
para
hosts: files wins dns
Agora adicione todos os computadores do seu grupo de trabalho no arquivo /etc/hosts do servidor:
vi /etc/hosts
[...] 192.168.0.100 server1 192.168.0.110 workstation1 192.168.0.111 workstation2 192.168.0.112 workstation3 192.168.0.113 workstation4 [...]
Adicione o usuário root ao banco de dados de senhas do SAMBA. O usuário root (alias: Administrator) também será o administrador do domínio. Esta conta de usuário será necessária para adicionar novos computadores no domínio SAMBA
smbpasswd -a root
Crie o arquivo /etc/samba/smbusers e adicione a linha "root = Administrator" com este comando:
echo "root = Administrator" > /etc/samba/smbusers
Isto permitirá usar o usuário Administrator do Windows como um alias para o usuário root do Linux.
Agora iremos testar se a configuração está correta:
smbclient -L localhost -U%
A saída deste comando, deverá ser vista como algo similar a isto:
Domain=[MYWORKGROUP] OS=[Unix] Server=[Samba 3.0.22]
Sharename Type Comment
--------- ---- -------
public Disk
print$ Disk Printer Drivers
netlogon Disk Network Logon Service
IPC$ IPC IPC Service (server1 server (Samba, Ubuntu))
ADMIN$ IPC IPC Service (server1 server (Samba, Ubuntu))
Domain=[MYWORKGROUP] OS=[Unix] Server=[Samba 3.0.22]
Server Comment
--------- -------
SERVER1 server1 server (Samba, Ubuntu)
Workgroup Master
--------- -------
MYWORKGROUP SERVER1Configure os grupos de domínios padrão para o windows: (Obs.: Execute estas linhas de comando no Prompt do Dos nas estações windows)
net groupmap modify ntgroup="Domain Admins" unixgroup=root net groupmap modify ntgroup="Domain Users" unixgroup=users net groupmap modify ntgroup="Domain Guests" unixgroup=nogroup
- Adicionando usuários ao seu domínio samba:
Agora iremos adicionar um usuário, chamado Tom, ao seu domínio Samba. Você deverá criar esta conta, para que o usuário possa efetuar login no domínio do seu servidor Samba.
1. Adicionando o usuário Tom no Linux:
useradd tom -m -G users
2. Adicionando o usuário Tom do Linux ao banco de dados de senhas do Samba.
smbpasswd -a tom
- Adicionando compartilhamentos:
Agora iremos adicionar compartilhamentos que estarão disponíveis para todos os usuários:
mkdir -p /home/shares/allusers chown -R root:users /home/shares/allusers/ chmod -R ug+rwx,o+rx-w /home/shares/allusers/
No final do arquivo /etc/samba/smb.conf adicionamos as seguintes linhas:
[allusers] comment = All Users path = /home/shares/allusers valid users = @users force group = users create mask = 0660 directory mask = 0771 writable = yes
E reiniciamos o serviço do Samba:
/etc/init.d/samba restart
- Instalando o Cups:
apt-get install cupsys cupsys-client cupsys-driver-gimpprint defoma fontconfig foomatic-db foomatic-filters libcupsimage2 libexpat1 libfontconfig1 libfreetype6 libjpeg62 libpaper1 libpng12-0 libslp1 libtiff4 patch perl perl-modules ttf-bitstream-vera ucf
Para a acessar a interface web à partir da minha estação (192.168.0.70), eu preciso configurar o cups para passar a escutar requisições dos ips desejados no servidor e permitir acessos da máquina com o IP 192.168.0.70.
vi /etc/cups/cupsd.conf
O arquivo cupsd.conf depois de modificado deverá estar assim:
#
#
# Sample configuration file for the Common UNIX Printing System (CUPS)
# scheduler. See "man cupsd.conf" for a complete description of this
# file.
#
# Log general information in error_log - change "info" to "debug" for
# troubleshooting...
LogLevel info
# Administrator user group...
SystemGroup lpadmin
# Only listen for connections from the local machine.
Listen localhost:631
Listen 192.168.0.100:631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing Yes
BrowseOrder allow,deny
BrowseAllow @LOCAL
BrowseAddress @LOCAL
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Restrict access to the server...
<Location />
Order allow,deny
Allow localhost
Allow @LOCAL
Allow 192.168.0.70
</Location>
# Restrict access to the admin pages...
#<Location /admin>
# Order allow,deny
# Allow localhost
#</Location>
<Location /admin>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow 192.168.0.70
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow 192.168.0.70
</Location>
# Set the default printer/job policies...
<Policy default>
# Job-related operations must be done by the owner or an adminstrator...
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# All administration operations require an adminstrator to authenticate...
<Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
AuthType Basic
Require user @SYSTEM
Order deny,allow
</Limit>
# Only the owner or an administrator can cancel or authenticate a job...
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>Adicione o usuário cupsys ao grupo shadow:
adduser cupsys shadow
E dê um restart no daemon do Cups:
/etc/init.d/cupsys restart
Agora, o interface web do cups estará acessível de qualquer web browser na minha máquina:
Agora eu posso efetuar login na interface web do cups com o usuário root e minha senha de root.
Notas: Se não houver um driver para Linux disponível para sua impressora e você precisa usar esta impressora à partir de qualquer estação Windows através do Samba, você pode contactar o fabricante do RAW da sua impressora e instalar o driver correto para sua estação Windows.
Se você criou uma nova impressora no Cups, você deve adicioná-la ao samba com o comando:
cupsaddsmb -a
- Links:
Bibliografia:
Autor: |
Till Brehm |
Fonte: |
http://www.howtoforge.com/samba_domaincontroller_setup_ubuntu_6.10 |
Tradutor: |
SambaServer (last edited 2011-09-19 23:18:06 by localhost)