proftpd + pam auth hogyan?

 ( maszili | 2008. szeptember 15., hétfő - 22:27 )

Üdv mindenkinek!

Röstellem de ismét segítséget kérek.
Értetlenül állok a probléma előtt, miszerint a ProFTPD nem hajlandó PAM authentikációt használni.

myhost:~# ftp localhost
Connected to localhost.
220 127.0.0.1 FTP server ready
Name (localhost:maszili): MYDOMAIN+administrator
331 Password required for MYDOMAIN+administrator.
Password:
530 Login incorrect.
Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.

Az auth.log-ban összesen ez a két sor szerepel az eseménnyel kapcsolatban:

- USER MYDOMAIN+administrator: no such user found from localhost [127.0.0.1] to 127.0.0.1:21
- FTP session closed.

Más szervízek pl. SSH esetén nyoma van annak, hogy a PAM végez azonosítást:

: user 'MYDOMAIN+administrator' granted access
: Accepted password for MYDOMAIN+administrator from 89.222.191.77 port 33967 ssh2

A proftpd bináris pam támogatással van lefordítva (gyári Debian csomag)

myserver:~# proftpd -l
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_delay.c
  mod_dso.c
  mod_auth_pam.c
  mod_readme.c
  mod_cap.c
  mod_ctrls.c

A konfig fájlok ide vonatkozó részei:
/etc/proftpd/modules.conf

LoadModule mod_auth_pam.c

/etc/proftpd/proftpd.conf

AuthPam           on
AuthPAMConfig     proftpd

Mit hagytam ki, ami miatt nem hajlandó a PAM-t használni?

A válaszokat előre is köszönöm.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Hello!
Szerintem ezt: libpam-pwdfile - PAM module allowing authentication via an /etc/passwd-like file
apt-get install libpam-pwdfile
--
1 leszel vagy 0 élő vagy hulla!

Ha jól értem akkor ez a lib egy alternatív jelszótárolást/hozzáférést valósít meg.

Erre én a winbind és kerberos PAM moduljait szeretném használni mert a felhasználók nem a szerveren hanem a windows AD-ban vannak.

A problémám az, hogy látszólag egyáltalán nem használja a PAM-ot a proftpd.

--
maszili

Jah ertem de ezt nem montad, hogy mit hova merrol meddig szeretnel autholni.
--
1 leszel vagy 0 élő vagy hulla!

Ha AD-t akarsz használni, a userek tárolására, inkább LDAP-on keresztül autentikálj, különben muszáj lesz plaintext jelszavakat használnod.

----
Nyicc-egy-csört?
Esetleg nézd meg itt: http://kayapo.extra.hu/

A /etc/proftpd/proftpd.conf-ba:
DebugLevel 9 # reszletesebb logolas
AuthOrder mod_auth_pam.c mod_auth_unix.c

Így mi kerül a logba?

A home könyvtára megvan a usernek? Van érvényes shell -je (nem kell, de ha nincs kell a RequireValidShell off direktíva)

----
Nyicc-egy-csört?
Esetleg nézd meg itt: http://kayapo.extra.hu/

A RequireValidShell off megvolt.

Kiegészítettem a konfigot...

DebugLevel 9
AuthOrder mod_auth_pam.c mod_auth_unix.c

majd megpróbáltam bejelentkezni.
/var/log/daemon.log

- AuthOrder in effect, resetting auth module order
- ident lookup disabled
- connected - local  : 127.0.0.1:21
- connected - remote : 127.0.0.1:46128
- FS: using system open()
- unable to display DisplayConnect file '/etc/motd.proftpd': No such file or directory
- FTP session opened.
- setting CommandBufferSize to 512
- dispatching PRE_CMD command 'USER MYDOMAIN+administrator' to mod_core
- dispatching PRE_CMD command 'USER MYDOMAIN+administrator' to mod_core
- dispatching PRE_CMD command 'USER MYDOMAIN+administrator' to mod_delay
- dispatching PRE_CMD command 'USER MYDOMAIN+administrator' to mod_auth
- dispatching auth request "endpwent" to module mod_auth_unix
- dispatching auth request "endgrent" to module mod_auth_unix
- dispatching CMD command 'USER MYDOMAIN+administrator' to mod_auth
- dispatching auth request "getgroups" to module mod_auth_unix
- no supplemental groups found for user 'MYDOMAIN+administrator'
- dispatching POST_CMD command 'USER MYDOMAIN+administrator' to mod_delay
- mod_delay/0.5: selecting median interval from 11 values
- dispatching LOG_CMD command 'USER MYDOMAIN+administrator' to mod_log
- dispatching PRE_CMD command 'PASS (hidden)' to mod_core
- dispatching PRE_CMD command 'PASS (hidden)' to mod_core
- dispatching PRE_CMD command 'PASS (hidden)' to mod_delay
- dispatching PRE_CMD command 'PASS (hidden)' to mod_auth
- dispatching auth request "endpwent" to module mod_auth_unix
- dispatching auth request "endgrent" to module mod_auth_unix
- dispatching CMD command 'PASS (hidden)' to mod_auth
- dispatching auth request "getgroups" to module mod_auth_unix
- no supplemental groups found for user 'MYDOMAIN+administrator'
- dispatching auth request "getpwnam" to module mod_auth_unix
- no such user 'MYDOMAIN+administrator'

/var/log/auth.log

- USER MYDOMAIN+administrator: no such user found from localhost [127.0.0.1] to 127.0.0.1:21
- dispatching POST_CMD_ERR command 'PASS (hidden)' to mod_delay
- mod_delay/0.5: selecting median interval from 11 values
- dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_log
- dispatching LOG_CMD_ERR command 'PASS (hidden)' to mod_auth
- dispatching PRE_CMD command 'SYST' to mod_core
- dispatching PRE_CMD command 'SYST' to mod_core
- dispatching CMD command 'SYST' to mod_core
- dispatching LOG_CMD command 'SYST' to mod_log
- dispatching PRE_CMD command 'QUIT' to mod_core
- dispatching PRE_CMD command 'QUIT' to mod_core
- dispatching CMD command 'QUIT' to mod_core
- dispatching LOG_CMD command 'QUIT' to mod_log
- dispatching LOG_CMD command 'QUIT' to mod_core
- dispatching auth request "endpwent" to module mod_auth_unix
- dispatching auth request "endgrent" to module mod_auth_unix
- FTP session closed.

Sajnos nem lettem okosabb. Illetve ebben az esetben is azt látom, hogy nyoma sincs PAM használatának. Csak mod_auth_unix szerepel a logban.

--
maszili

Ez a MYDOMAIN+administrator egy valódi user, ha igen hogy van létrehozva?
Más a /etc/proftpd/modules.conf-ban mi van, betöltötnek a szükséges modulok?

Továbá, ezt: http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Authentication.html olvastad?

Azért is fura a dolog, mert a telepítés után, minden konfolás nélkül menni kell a pam autentikációnak

----
Nyicc-egy-csört?
Esetleg nézd meg itt: http://kayapo.extra.hu/

Ez a MYDOMAIN+administrator egy valódi user, ha igen hogy van létrehozva?

Ez egy tartománybeli felhasználó a windows szerveren. Az SSH authentikáció működik ezzel a felhasználóval. Ezért gondolom, hogy akkor az FTP esetén is működnie kellene legalább az azonosításnak.

Más a /etc/proftpd/modules.conf-ban mi van,

/etc/proftpd/modules.conf (gyári Debian konfig)

#
# This file is used to manage DSO modules and features.
#

# This is the directory where DSO modules reside

ModulePath /usr/lib/proftpd

# Allow only user root to load and unload modules, but allow everyone
# to see which modules have been loaded

ModuleControlsACLs insmod,rmmod allow user root
ModuleControlsACLs lsmod allow user *

LoadModule mod_ctrls_admin.c
LoadModule mod_tls.c
#LoadModule mod_sql.c
#LoadModule mod_ldap.c
#LoadModule mod_sql_mysql.c
#LoadModule mod_sql_postgres.c
LoadModule mod_quotatab.c
LoadModule mod_quotatab_file.c
LoadModule mod_quotatab_ldap.c
LoadModule mod_quotatab_sql.c
LoadModule mod_radius.c
LoadModule mod_wrap.c
LoadModule mod_rewrite.c

# Ezt a sort en irtam ide
LoadModule mod_auth_pam.c

# keep this module the last one
LoadModule mod_ifsession.c

betöltötnek a szükséges modulok?

Erről hogyan lehet megbizonyosodni?

A /var/log/daemon.log-ban csak ez szerepel:

- ProFTPD killed (signal 15)
- ProFTPD 1.3.0 standalone mode SHUTDOWN
- ProFTPD 1.3.0 (stable) (built Thu Jul 24 09:10:17 UTC 2008) standalone mode STARTUP

Azért is fura a dolog, mert a telepítés után, minden konfolás nélkül menni kell a pam autentikációnak

Hát ezért csodálkozok én is.

--
maszili

/etc/pam.d/proftpd file létezik?

Igen,

/etc/pam.d/proftpd

#%PAM-1.0
auth       required     pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
@include common-auth

# This is disabled because anonymous logins will fail otherwise,
# unless you give the 'ftp' user a valid shell, or /bin/false and add
# /bin/false to /etc/shells.
#auth       required    pam_shells.so

@include common-account
@include common-session

--
maszili

PersistentPasswd off

ezek nem tudom mukodnek-e:
AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c

Igen, kipróbáltam ezekkel a beállításokkal is de sajnos az eredmény ugyanaz.

Kipróbáltam az eredeti gyári Debian konfiggal is ha én rontottam volna el valamit. Sajnos ugyanaz a jelenség.

Abban reménykedtem, hogy a PAM segítségével sikerül egy általános (minden program esetén működő) megoldást találni arra, hogy a felhasználók azonosítása az AD-ból történjen.

--
maszili

Sok próbálkozás után én azt látom hogy a Debian alá fordított proftpd egyáltalán nem használja a PAM-ot...

Van olyan a HUP olvasók között akinek Debian/Etch alatt működött valaha is a proftpd PAM azonosítással?

Esetleg milyen más ftp szervert javasoltok a proftpd helyett?

--
maszili

Kíváncsiságból telepítettem a vsftpd-t.
Miután elvégeztem a kövezkező konfigurálást...

/etc/vsftpd.conf

anonymous_enable=NO
local_enable=YES

...zökkenőmentesen sikerült bejelentkezni.

Ezek után már tutibiztos, hogy a proftpd a hibás.
Így a probléma megoldása az lehet, hogy a proftpd helyett mást kell használni...

--
maszili

Így most a Win-es user-ek a saját win-es felh. nevükkel és jelszavukkal tudnak bejelentkezni? És nem kell Unix-os account-ot csinálni?

Igen. Az volt a célom, hogy az ftp szerver az azonosításhoz az AD beli felhasználókat vegye.

Tehát az AD-ban windows eszközökkel létrehozott felhasználókkal lehet bejelentkezni az ftp szerveren.

--
maszili

köszi.