Newsgroup: it.comp.os.linux.software
Titolo: [Lungo] Permessi e domande varie

Ciao, in arrivo una raffica di domande...
Siccome "FORSE" in azienda mi fanno mettere Linux su i server NT che
vengono man mano "abbattuti" per vecchiaia, sto cercando di capire come
far fare ai server Linux tutto quello che ora si fa con NT/2000, in modo
da evitare figuracce :) il tutto con RH 7.1
Allora, il server deve avere:
- Apache+supporto domini virtuali
- Server mail (sto pensando a postfix)+virtual+pop3+imap 
- Permettere all'utente di aggiornare via FTP (proftpd) il sito
Dunque, i miei dubbi sono:
lascio l'accesso via SSH? Se non lo metto imposto la shell su /bin/false e
la home in /var/www/nomedominio, quando l'utente accede via FTP, Proftpd
lo mette nella sua home, però poi come imposto il file .forward per
forwardare le mail? Non vorrei che poi l'utente via FTP cancelli il file
.forward o lo modifichi
Se lascio ssh e la home di default, potrei far puntare i domini virtuali
di apache in una cartella (www) all'interno della home, ma a questo punto
mi viene un dubbio: apache gira con l'utente apache, dovrei mettere i
permessi di tutte le home in modo che l'utente apache possa accedervi? O
solo alla cartella www?
Sto provando postfix+imap, bello! Però di default utilizzando l'imap ho
visto che crea nella home i vari file delle cartelle di posta, anche qui
il problema che se l'utente accede via FTP e accede direttamente alla home
sono sicuro che spu..ana tutto
L'ideale sarebbe: via http e via FTP l'utente accede a una cartella
(/var/www/nomedominio oppure una sottocartella della sua home) diversa da
quella cui accederebbe via ssh, dopodichè decido se attivargli o no
l'accesso via ssh.
Insomma avete capito che ho un po' di casino in testa, si accettano
consigli! Siccome devo fare tutto da zero senza alcun vincolo il campo è
aperto, grazie.

l'accesso via ssh.
Io faccio esattamente cosi' e uso le stesse cose che hai intenzione di usare
tu.
La chiave sta nella configurazione di ProFTPD: infatti, puoi benissimo
specificare che la directory a cui deve accedere l'utente dopo essersi
autenticato non e' la sua home, ma un'altra.
Questo lo fai col blocco <Anonymous>, con il quale imponi anche un chroot.
Ti riporto un esempio dalla mia configurazione:
--- Start here ---
# This FTP server is used to allow direct site maintainance from customers.
# Every customer has an <Anonymous> chrooted access to his directory.
# ---------------------------------------------------
# Section 1: General server settings - DO NOT EDIT!!!
# ---------------------------------------------------
# Server name and type.
ServerName                     "My Site Maintainance FTP Server"
ServerType                      standalone
DefaultServer                   on
# Port 21 is the standard FTP port.
Port                            21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022
# Set the user and group that the server normally runs at.
User                            nobody
Group                           nogroup
# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances                    30
# Some timeouts to harm non-active connections.
TimeoutLogin                    120
TimeoutNoTransfer               300
TimeoutStalled                  300
TimeoutIdle                     600
# Normal users cannot login at all.
<Limit LOGIN>
  DenyAll
</Limit>
# A shell is not required to log in.
RequireValidShell               off
# cliente xyz
<Anonymous /www/virtualdomains/xyz>
  # Allow logins if they are disabled above.
  <Limit LOGIN>
    AllowAll
  </Limit>
  # Bind to a specific user and group and authenticate by password.
  User				xyz
  Group				wheel
  AnonRequirePassword		on
  # All files are overwritable.
  AllowOverwrite                on
  # User can do anything in the directory and all sub-dirs.
  <Limit ALL>
    AllowAll
  </Limit>
</Anonymous>
--- End here ---
Nel passwd, la home e la shell sono impostate a /dev/null, quindi non si
accede ne' in telnet/ssh ne' in console, solo via FTP e solo alla directory
che io decido.
Ovviamente, se tu vuoi concedere l'accesso ssh, devi provvedere
diversamente. In ogni caso, dato che nel default server il login e' negato a
tutti, anche se un utente ha un account con shell e home directory, non puo'
accedere in FTP se tu non glielo permetti esplicitamente all'interno del
blocco <Anonymous> e comunque solo alla dir ivi specificata.
Un po' paranoico?
Forse, ma gia' sono stato buono, perche' a chi supera i controlli permetto
di fare tutto all'interno del chroot ;-)
HTH, ciao!
-- 
BlueRaven