OVH Community, your new community space.

Creare un utente senza shell per connessioni ftp


MnEm0nIc
17.06.2009, 11.56
Citazione Originariamente Scritto da LeO
Si, funziona, ma diciamo che questa guida cerca anche di spiegare come creare un sotto dominio con ftp che punta al sottodominio.
Ad esempio: se io ho un sito che sta in /home/sito ma voglio che all'interno di questa cartella possa esserci /home/sito/forum e venga gestito autonomamente da un altra persona con il comando che ho messo io si riesce, infatti il nuovo utente senza shell rimane solo ed esclusivamente dentro a /home/sito/forum
beh visto che l'utente e' differente basta cambiare la dir di home...

ti ripeto, funzionano in egual modo, solo che il tuo metodo ha valenza in debian (e derivate), mentre il mio e' piu' generico..

ciao

LeO
17.06.2009, 11.26
Si, funziona, ma diciamo che questa guida cerca anche di spiegare come creare un sotto dominio con ftp che punta al sottodominio.
Ad esempio: se io ho un sito che sta in /home/sito ma voglio che all'interno di questa cartella possa esserci /home/sito/forum e venga gestito autonomamente da un altra persona con il comando che ho messo io si riesce, infatti il nuovo utente senza shell rimane solo ed esclusivamente dentro a /home/sito/forum

MnEm0nIc
17.06.2009, 11.02
Citazione Originariamente Scritto da LeO
useradd non funziona su Debian e Ubuntu,
il lavoro che fa il comando che ho fatto io fa operazioni diverse da quello tuo in quanto io lo faccio andare in una cartella specifica nella home dell'utente e non si puo' muovere da li' impostando sull'FTP le direttive necessarie.
non so che versione di debian tu stia utilizzando, ma sulla mia (una 4.0) il comando useradd funziona. il chroot dell'utente nella sua homedir attraverso l'ftp questa e' un discorso che esula dalla creazione dell'utente stesso.

ecco quello che io ho fatto per testare che sulla mia debian funzioni il comando che ho dato in precedenza:

creazione dell'utente

Codice:
root@psyche:~ # cat /etc/debian_version 
4.0
root@psyche:~ # useradd -m -s /bin/false noshelluser
root@psyche:~ # ls /home/ | grep shell
noshelluser
root@psyche:~ # passwd noshelluser
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password aggiornata correttamente
root@psyche:~ #
prova di accesso via ssh

Codice:
alfredo@cyberia:~ $ ssh noshelluser@psyche
Password: 
Linux psyche 2.6.29.4-wired #5 SMP Sun May 20 19:10:43 EDT 2009 i686
Connection to psyche closed.
accesso ftp con proftpd (per fare la prova con le stesse cose vostre)

Codice:
alfredo@cyberia:~ $ ftp earth
Connected to psyche
220 ProFTPD 1.3.0 Server 
Name (psyche:alfredo): noshelluser
331 Password required for noshelluser.
Password:
230 User noshelluser logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/" is current directory.
ftp> ls
229 Entering Extended Passive Mode (|||44913|)
150 Opening ASCII mode data connection for file list
-rw-rw-r--   1 noshelluser noshelluser    18921 Jun 17 09:57 logo.gif
226 Transfer complete.
ftp> cd ..
250 CWD command successful
ftp> ls
229 Entering Extended Passive Mode (|||55895|)
150 Opening ASCII mode data connection for file list
-rw-rw-r--   1 noshelluser noshelluser    18921 Jun 17 09:57 logo.gif
226 Transfer complete.
ftp>
come si comporta la tua debian?

LeO
16.06.2009, 21.50
Citazione Originariamente Scritto da MnEm0nIc
uhm... adduser non funziona in egual modo su tutte le distribuzioni. il comando che e' praticamente identico su tutte le distribuzioni e' "useradd" e per evitare che possa fare il login via ssh e che abbia la home in /home/$nomeutente basta fare cosi':
useradd -m -s /bin/false $nomeutente
e poi assegnare una password:
passwd $nomeutente

ciao
useradd non funziona su Debian e Ubuntu,
il lavoro che fa il comando che ho fatto io fa operazioni diverse da quello tuo in quanto io lo faccio andare in una cartella specifica nella home dell'utente e non si puo' muovere da li' impostando sull'FTP le direttive necessarie.

MnEm0nIc
23.02.2009, 12.21
Citazione Originariamente Scritto da sypher
FYI, in caso di proftpd (99% dei casi?)
io sono l'1%: uso vsftpd :P

in ogni caso, grazie per l'informazione :P

sypher
23.02.2009, 11.38
Citazione Originariamente Scritto da LeO
Ovviamente sull'ftp dovete specificare che gli utenti senza shell possono accedere via ftp.
FYI, in caso di proftpd (99% dei casi?)

RequireValidShell Off

MnEm0nIc
13.02.2009, 10.06
Citazione Originariamente Scritto da natran
vale su tutte le distribuzioni tranne che su piattaforme BSD
l'adduser di slackware e', per esempio, differente da quello di debian o di gentoo (dove infatti per avere l'adduser come quello di slackware devi installare il pacchetto superadduser)..
useradd e' uguale un po' ovunque...

poi ci sono casi, come in debian o in redhat dove i comandi sono praticamente identici...

ciao

natran
12.02.2009, 20.47
Citazione Originariamente Scritto da MnEm0nIc
uhm... adduser non funziona in egual modo su tutte le distribuzioni. il comando che e' praticamente identico su tutte le distribuzioni e' "useradd" e per evitare che possa fare il login via ssh e che abbia la home in /home/$nomeutente basta fare cosi':
useradd -m -d /bin/false $nomeutente
e poi assegnare una password:
passwd $nomeutente

ciao
vale su tutte le distribuzioni tranne che su piattaforme BSD

LeO
12.02.2009, 15.58
Citazione Originariamente Scritto da MnEm0nIc
uhm... adduser non funziona in egual modo su tutte le distribuzioni. il comando che e' praticamente identico su tutte le distribuzioni e' "useradd" e per evitare che possa fare il login via ssh e che abbia la home in /home/$nomeutente basta fare cosi':
useradd -m -d /bin/false $nomeutente
e poi assegnare una password:
passwd $nomeutente

ciao
Pardon, hai ragione ho dimenticato di inserire che e' per debian e ubuntu.
Ho subito modificato e cmq da quello che ho letto ieri useradd e quei comandi funziona uguale, dimmi se sbaglio.

ibanez89
12.02.2009, 14.21
Io ho sempre usato il metodo di LeO sinceramente ho sempre optato per debian o ubuntu in ambienti di produzione, perchè conosco meglio queste distro.

Grazie per il secondo metodo MnEm0nIc

MnEm0nIc
12.02.2009, 14.13
Citazione Originariamente Scritto da LeO
Per creare un utente su un server dedicato o RPS che non abbia una shell valida ma che possa accedere via ftp ecco il comando:

adduser --home DIR --no-create-home --disabled-login nomeutente
per esempio
adduser --home /home/user/sito --no-create-home --disabled-login utentesito

Ovviamente sull'ftp dovete specificare che gli utenti senza shell possono accedere via ftp.
uhm... adduser non funziona in egual modo su tutte le distribuzioni. il comando che e' praticamente identico su tutte le distribuzioni e' "useradd" e per evitare che possa fare il login via ssh e che abbia la home in /home/$nomeutente basta fare cosi':
useradd -m -s /bin/false $nomeutente
e poi assegnare una password:
passwd $nomeutente

ciao

ibanez89
12.02.2009, 12.15
perfetto, questo è il minimo per mantenere in sicurezza il server

LeO
12.02.2009, 12.04
Per creare un utente su un server dedicato o RPS che non abbia una shell valida ma che possa accedere via ftp ecco il comando:

adduser --home DIR --no-create-home --disabled-login nomeutente
per esempio
adduser utentesito --home /home/user/sito --no-create-home --disabled-login --shell /bin/false
poi dare passwd nome creato e scegliere la password.
Testato su ubuntu e debian (sistemi che io personalmente consiglio)

Ovviamente sull'ftp dovete specificare che gli utenti senza shell possono accedere via ftp.