SambaServer

Differences between revisions 2 and 3
Revision 2 as of 2007-06-21 03:50:25
Size: 5198
Comment:
Revision 3 as of 2007-06-21 04:27:01
Size: 20239
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
''''''

----
Line 5: Line 8:
Tradução da Versão publicada em http://www.howtoforge.com/samba_domaincontroller_setup_ubuntu_6.10

Autor: Till Brehm.

Traduzido por: [:RicardoMartins:Ricardo Martins]
Line 12: Line 9:
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. 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. 
Line 102: Line 99:
 * Habilitando o usuário root.  * Habilitando o usuário root:
Line 106: Line 103:
{{{sudo passwd root {{{
sudo passwd root 
Line 109: Line 107:
Line 114: Line 111:
{{{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
{{{
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 
Line 142: Line 142:
        gateway 192.168.0.1
}}}
        gateway 192.168.0.1}}}

Agora 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:

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 SERVER1}}}

Configure 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:

http://192.168.0.100:631/

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 usas 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:

- http://www.ubuntu.com

- http://www.samba.org

- http://www.cups.org

----
'''Bibliografia:'''

||<tablestyle="WIDTH: 699px">Autor: ||Till Brehm ||
||Fonte: ||http://www.howtoforge.com/samba_domaincontroller_setup_ubuntu_6.10 ||
||Tradutor: ||[:RicardoMartins:Ricardo Martins] ||


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.

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_1.png

A instalação sera iniciada e primeiro você deve selecionar o seu idioma:

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_2.png

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_3.png

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_4.png

Escolha o seu layout do teclado:

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_5.png

Escolha sua localização:

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_6.png

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_7.png

A instalação começará a escanear os pacotes no CD-Rom:

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_8.png

Entre com o hostname. Neste exemplo, meu sistema se chamará "fileserver1", então digito "filesever1"

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_9.png

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.

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_10.png

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_11.png

Configure a hora do sistema com algum UTC (Hora Universal), ou com a hora local.

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_12.png

Agora criaremos o primeiro usuário que será usado com objetivos de administração do sistema. Vamos chamá-lo de administrator.

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_13.png

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_14.png

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_15.png

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_16.png

A instalação do sistema base será inciada.

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_17.png

Não selecione nada aqui. Apenas mande continuar...

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_18.png

A instalação dos pacotes será iniciada:

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_19.png

A instalação básica irá terminar e seu servidor irá dar o boot com o seu novo sistema Ubuntu Linux.

http://images.howtoforge.com/images/samba_setup_ubuntu_6.10/img_20.png

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 faciliar 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 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.1

Agora 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:

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          SERVER1

Configure 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:

http://192.168.0.100:631/

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 usas 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:

- http://www.ubuntu.com

- http://www.samba.org

- http://www.cups.org


Bibliografia:

Autor:

Till Brehm

Fonte:

http://www.howtoforge.com/samba_domaincontroller_setup_ubuntu_6.10

Tradutor:

[:RicardoMartins:Ricardo Martins]

SambaServer (last edited 2011-09-19 23:18:06 by localhost)