OpenLDAPを使ったFTP転送についての質問

このQ&Aのポイント
  • Solarisマシン2台の環境でOpenLDAPを使ったFTP転送について質問があります。Windowsからはログインはできるがサーバ側には表示されない現象が発生しています。ProFTPD 1.3.2を使用しています。
  • FTPクライアントからはLDAP認証でログインはできるものの、dirコマンドを実行した際にデータの転送が止まってしまいます。
  • 調査した結果、設定に問題はないようですが、正常に動作しないため教えて頂けると助かります。
回答を見る
  • ベストアンサー

OpenLDAPを使ったFTPについて

OpenLDAPを使ったFTP転送について質問があります。 Solarisマシン2台の環境で、1台のマシンにOpenLDAPサーバとFTPサーバを立てています。 もう1台をクライアントとして、クライアントからはLDAP認証でログインはできます。dirコマンドを実行した所、下記のところで止まっています。 ftp> dir 200 PORT command successful 150 Opening ASCII mode data connection for file list また、WindowsからFFFTPを使用したら、ログインは出来たのですが、サーバ側の方には、なにも表示されませんでした。サーバ側には、ユーザのホームディレクトリはあります。 色々、ネットで調べて設定はしてみたのですが、結局うまくいきませんがでした。勉強不足で申し訳ありませんが、教えて頂けたら、幸いです。 FTPには、 ProFTPD 1.3.2を使用しています。 よろしくお願いします。 proftp.conf ServerType inetd DefaultServer on Port 21 UseIPv6 off Umask 022 MaxInstances 30 User nobody Group nobody AllowOverwrite on RootLogin off ListOptions "-a" DefaultRoot ~ <Limit LOGIN> Order allow, deny Allow from 127.0.0.1, 192.168.24.0/24 Deny from all </Limit LOGIN> LDAPServer "192.168.24.52" LDAPAuthBinds on LDAPDoAuth on "ou=People,dc=solaristest,dc=com" LDAPDoGIDLookups on "ou=Group,dc=solaristest,dc=com" LDAPDoUIDLookups on "ou=People,dc=solaristest,dc=com" pam.conf login auth requisite pam_authtok_get.so.1 login auth required pam_dhkeys.so.1 login auth required pam_dial_auth.so.1 login auth required pam_unix_cred.so.1 login auth sufficient pam_unix_auth.so.1 login auth required pam_ldap.so.1 # # rlogin service (explicit because of pam_rhost_auth) # rlogin auth sufficient pam_rhosts_auth.so.1 rlogin auth requisite pam_authtok_get.so.1 rlogin auth required pam_dhkeys.so.1 rlogin auth required pam_unix_cred.so.1 rlogin auth sufficient pam_unix_auth.so.1 rlogin auth required pam_ldap.so.1 # # rsh service (explicit because of pam_rhost_auth, # and pam_unix_auth for meaningful pam_setcred) # rsh auth sufficient pam_rhosts_auth.so.1 rsh auth required pam_unix_cred.so.1 # # PPP service (explicit because of pam_dial_auth) # ppp auth requisite pam_authtok_get.so.1 ppp auth required pam_dhkeys.so.1 ppp auth required pam_dial_auth.so.1 ppp auth sufficient pam_unix_auth.so.1 ppp auth required pam_ldap.so.1 # # Default definitions for Authentication management # Used when service name is not explicitly mentioned for authentication # other auth requisite pam_authtok_get.so.1 other auth required pam_dhkeys.so.1 other auth required pam_unix_cred.so.1 other auth sufficient pam_unix_auth.so.1 other auth required pam_ldap.so.1 # # passwd command (explicit because of a different authentication module) # passwd auth sufficient pam_passwd_auth.so.1 passwd auth required pam_ldap.so.1 # # cron service (explicit because of non-usage of pam_roles.so.1) # cron account required pam_unix_account.so.1 # # Default definition for Account management # Used when service name is not explicitly mentioned for account management # other account requisite pam_roles.so.1 other account required pam_unix_account.so.1 # # Default definition for Session management # Used when service name is not explicitly mentioned for session management # other session required pam_unix_session.so.1 # # Default definition for Password management # Used when service name is not explicitly mentioned for password

質問者が選んだベストアンサー

  • ベストアンサー
noname#227025
noname#227025
回答No.5

ProFTPD のログをよく見てみたら、LDAPDNInfo で dn と passwd を(空文字でもかまわないので)設定しないと、以下のようにプロセスが異常終了していました。 Dec 23 14:47:55 xxxx proftpd[13631]: xxxx (xxxx[192.168.1.65]) - ProFTPD terminating (signal 11) ソースファイル mod_ldap.c を確認したところ、やはり LDAPDNInfo で dn と passswd を設定しないとプロセスが異常終了するようなコードになってました。 ソースでは dn: 変数 ldap_dn, passwd: 変数 ldap_dnpass になっており、初期値は以下の通り NULL(0) です。 136 static char *ldap_server_url, *ldap_dn, *ldap_dnpass, proftpd.conf に LDAPDNInfo が設定されていれば、以下のコードで値が設定されますが、LDAPDNInfo が設定されていないと NULL のままです。 1929 if ((c = find_config(main_server->conf, CONF_PARAM, "LDAPDNInfo", FALSE)) != NULL) { 1930 ldap_dn = pstrdup(session.pool, c->argv[0]); 1931 ldap_dnpass = pstrdup(session.pool, c->argv[1]); 1932 } そして、NULL のまま以下のコードが実行されるので、異常終了します。 267 if (do_bind == TRUE) { 268 #if LDAP_API_VERSION >= 2000 269 bindcred.bv_val = ldap_dnpass; 270 bindcred.bv_len = ldap_dnpass != NULL ? strlen(ldap_dnpass) : 0; 271 ret = ldap_sasl_bind_s(*conn_ld, ldap_dn, NULL, &bindcred, NULL, NULL, NULL); ということで、dir で止まる原因は LDAPDNInfo を設定していないためだと思いますけど。

その他の回答 (7)

noname#227025
noname#227025
回答No.8

> 当初は、Proftpdがインストールされているマシンを、 LDAP クライアントとして構成されていたので、LDAPクライアントの構成なしで、確認すると > dirで固まる現象は、回避されましたが、LDAPクライアントを構成した場合に、LDAPDNInfo "" ""を設定した状態で確認すると、dirで固まります。 > 私のマシンの環境に問題があるのかもしれませんが。 私の No.5 の回答は読んでいますか? LDAP クライアントホストの設定によらず、コード上からも LDAPDNInfo の設定は必要です。 また、dir で固まる時の ProFTPD のログは確認していますか? dir で固まる場合、inetd から起動された ProFTPD が異常終了しているはずですけど。 >>(Solaris 付属の FTP サーバでは LDAP クライアントホストの設定は必要です。) >こちらで、解決できるのであれば、LDAP クライアントホスト構成でFTPが正常に利用できる形で、今ご指導させていただいています。 Solaris 付属の FTP サーバの件については、直接 ProFTPD とは関係のないことですよね。 2つの問題を1つの質問で同時進行させると分かりづらく混乱の原因になるので、Solaris 付属の FTP サーバの件は、新たに別の質問として投稿してほしいです。 私はこれ以上この質問で Solaris 付属の FTP サーバの件に回答するつもりはありません。

hironona
質問者

お礼

>LDAP クライアントホストの設定によらず、コード上からも LDAPDNInfo の設定は必要です。 >また、dir で固まる時の ProFTPD のログは確認していますか? dir で固まる場合、inetd から起動された ProFTPD が異常終了しているはずですけど。 /etc/hostsの書き換えたのとIPアドレスを固定にしたことによって dirで固まる現象は、なくなりましたが、LDAP認証でのFTPログインが まったくできなくなったので、新たに新規投稿で聞いてみます。 ありがとうございました。 >Solaris 付属の FTP サーバの件については、直接 ProFTPD とは関係のないことですよね。 当初の質問内容とは、異なった質問をしてしまって申し訳ありませんでした。

noname#227025
noname#227025
回答No.7

確認なのですが、当初の質問の dir で止まる現象はまだ解決していないということなのでしょうか? > svcs -xv ftp > svc:/network/ftp:default (FTP server) > 状態: 2009年12月23日 (水) 19時45分28秒 以降maintenanceです > 原因: リスタータ svc:/network/inetd:default に説明がありません。 > 参照: ​http://sun.com/msg/SMF-8000-9C​ > 参照: man -M /usr/share/man -s 1M in.ftpd > 参照: man -M /usr/share/man -s 1M ftpd 確認ですが、proftp.conf で ServerType inetd としているということは、ProFTPD も inetd 経由で動かしているのですよね。 Sun 付属の FTP サーバを有効にしようとしている際に、ProFTPD も有効になってしまっているということはないですか? また、inetd 経由で ProFTPD を動かすようにするためにどのような設定を行いましたか? >>domainName=dc=solaristest,dc=com ですよね? >Sunのマニュアルには、domainName=dc=example.co.jpの形式だったので >すが、domainName=dc=solaristest,dc=com の形式に変えて再度してみた >ところ、結果は、同じでした。 Sun のマニュアルの ldapclient コマンドの実行例が一部間違ってますね。 そして先の私の回答も間違ってますね。すみません。 正しくは、 domainName=solaristest.com です。(dc= はいらない。) 詳細は man ldapclient としてマニュアルページを参照して下さい。

hironona
質問者

補足

>確認なのですが、当初の質問の dir で止まる現象はまだ解決していないということなのでしょうか? dirで止まる現象は原因が、まだ特定できていないですが、xinuさんが言われてた、 >それから、混乱させてしまい申し訳ありませんが、ProFTPD の PAM は LDAP に対応していないので、ProFTPD を使用する分には LDAP クライアントホストの設定は必要ありません。 当初は、Proftpdがインストールされているマシンを、 LDAP クライアントとして構成されていたので、LDAPクライアントの構成なしで、確認すると dirで固まる現象は、回避されましたが、LDAPクライアントを構成した場合に、LDAPDNInfo "" ""を設定した状態で確認すると、dirで固まります。 私のマシンの環境に問題があるのかもしれませんが。 >(Solaris 付属の FTP サーバでは LDAP クライアントホストの設定は必要です。) こちらで、解決できるのであれば、LDAP クライアントホスト構成でFTPが正常に利用できる形で、今ご指導させていただいています。 >確認ですが、proftp.conf で ServerType inetd としているということは、ProFTPD も inetd 経由で動かしているのですよね。 Sun 付属の FTP サーバを有効にしようとしている際に、ProFTPD も有効になってしまっているということはないですか? Solarisマシン2台あった1台を再インストールし、Sun 付属の FTP サーバのみの構成にしたマシンで確認しています。

noname#227025
noname#227025
回答No.6

# なんか今となっては、当初の質問とは直接関係ないことのような気がしますが.... > LDAPクライアントを設定した状態で、確認したところ、Solaris付属のFTPのサービスがmaintenanceになります。構成する前は、オンラインでした。 svcs -xv ftp の結果はどうなりますか? > 実行コマンド > ldapclient manual \ > -a domainName=dc=solaristest.com \ > -a serviceAuthenticationMethod=pam_ldap:simple \ > -a defaultSearchBase=dc=solaristest,dc=com \ > 192.168.24.52 単なる typo なんじゃないですか? domainName=dc=solaristest,dc=com ですよね?

hironona
質問者

補足

>svcs -xv ftp の結果はどうなりますか? 以下になります。 svcs -xv ftp svc:/network/ftp:default (FTP server) 状態: 2009年12月23日 (水) 19時45分28秒 以降maintenanceです 原因: リスタータ svc:/network/inetd:default に説明がありません。 参照: http://sun.com/msg/SMF-8000-9C 参照: man -M /usr/share/man -s 1M in.ftpd 参照: man -M /usr/share/man -s 1M ftpd >単なる typo なんじゃないですか? >domainName=dc=solaristest,dc=com ですよね? Sunのマニュアルには、domainName=dc=example.co.jpの形式だったので すが、domainName=dc=solaristest,dc=com の形式に変えて再度してみた ところ、結果は、同じでした。 後、ログに以下のメッセージがありました。 Dec 23 19:45:28 solaris10 inetd[354]: [ID 702911 daemon.error] Property 'proto' of instance svc:/network/ftp:default is missing, inconsistent or invalid Dec 23 19:45:28 solaris10 inetd[354]: [ID 702911 daemon.error] Invalid configuration for instance svc:/network/ftp:default, placing in maintenance

noname#227025
noname#227025
回答No.4

>>LDAPDNInfo "" "" > LDAPDNInfoについて質問があります。 > ProFTPDソースのREADME.LDAPにはLDAPDNInfoの指定をみると > LDAPDNInfo cn=your-dn,dc=example,dc=com dnpass > 記載されていますが、 cn=your-dn、dnpassの部分は、管理者の情報を記述するのですか?パスワードの指定もありますし、セキュリティ上良くないような感じもしますか?この設定は、必要なんでしょうか? 何か認識違いをされているようですが、私が設定したのは「LDAPDNInfo "" ""」です。 つまり、dn, passwd とも設定していません。 ProFTPD のマニュアル mod_ldap.html には「LDAPDNInfo "" "」がデフォルトの設定なので明示的に設定する必要はないような記述がありますが、私の環境では明示的に設定する必要があったということです。 > 間違っていたら申し訳ありませんが、ネットで調べたら、dnpassは、平文で記述が必要なことがあったような感じがします。 確かに平文のパスワードを proftpd.conf に書いておくのはセキュリティ的には好ましいとは言えませんが、それはファイルのパーミッションの設定で解決するのではないでしょうか? (root 以外は読み取り不可にするとか) あと蛇足ですが、セキュリティのことを気にするのでしたら、以下の設定は問題ありますよね。 平分のパスワードがネットワーク上を流れてしまいますけど... ・ProFTPD LDAPUseSSL、LDAPUseTLS を設定しないと、ともにデフォルトでは off ・LDAP クライアント NS_LDAP_SERVICE_AUTH_METHOD= pam_ldap:simple

hironona
質問者

補足

>何か認識違いをされているようですが、私が設定したのは「LDAPDNInfo "" ""」です。 つまり、dn, passwd とも設定していません。 >ProFTPD のマニュアル mod_ldap.html には「LDAPDNInfo "" "」がデフォルトの設定なので明示的に設定する必要はないような記述がありますが、私の環境では明示的に設定する必要があったということです。 申し訳ありません。認識違いでした。 >(Solaris 付属の FTP サーバでは LDAP クライアントホストの設定は必要です。) LDAPクライアントを設定した状態で、確認したところ、Solaris付属のFTPのサービスがmaintenanceになります。構成する前は、オンラインでした。 実行コマンド ldapclient manual \ -a domainName=dc=solaristest.com \ -a serviceAuthenticationMethod=pam_ldap:simple \ -a defaultSearchBase=dc=solaristest,dc=com \ 192.168.24.52

noname#227025
noname#227025
回答No.3

> Proftpd側でmod_ldap の設定した場合にLDAPサーバに登録しているユーザは、ログインしたら、CPUが上がり、プロセスを強制終了後、ファイルの一覧の取得に失敗と表示されるが、ファイルの転送ボタンが押せるようになります。Proftpdの設定がよくないってことですよね? > mod_ldap の設定する必要がないと確かに下記のURLでも書いてあってPAMのみでOK。 > mod_ldap の設定をしないと、FTPでLDAPユーザで認証ができない No.1 の回答で以下のように書きましたが、ProFTPD の mod_auth_pam は LDAP 認証には対応していないみたいですね。 すみません。 > ProFTPD は標準で PAM が有効になるので、mod_ldap の設定は必要ないのではないかと思います。 ProFTPD で LDAP 認証するためには、やはり mod_ldap を使う必要があるようです。 なお、手元の環境で確認してみたところでは LDAP ユーザで FTP 認証をさせるためには proftpd.conf に以下ように LDAPDNInfo の設定が必要でした。 LDAPDNInfo "" "" ちなみに私の環境では ftp コマンドの dir で固まるなどの現象は発生していません。 なお、当方の proftpd -V の出力は以下の通りです。 ----ここから---- /usr/local/sbin/proftpd -V Compile-time Settings: Version: 1.3.2 (stable) Platform: SOLARIS2 (SOLARIS2_10) Built: Mon Dec 21 22:05:31 JST 2009 Built With: configure '--with-modules=mod_ldap' 'CC=/usr/sfw/bin/gcc' 'LDFLAGS=-L/usr/local/lib -R/usr/local/lib -R/usr/local/ssl/lib' 'CPPFLAGS=-I/usr/local/include -I/usr/local/ssl/include' CFLAGS: -O2 -Wall LDFLAGS: -L$(top_srcdir)/lib -L/usr/local/lib -R/usr/local/lib -R/usr/local/ssl/lib LIBS: -lsendfile -lldap -llber -lpam -lsupp -lsocket -lnsl -lresolv Files: Configuration File: /usr/local/etc/proftpd.conf Pid File: /usr/local/var/proftpd.pid Scoreboard File: /usr/local/var/proftpd/proftpd.scoreboard Features: - Autoshadow support - Controls support + curses support - Developer support - DSO support + IPv6 support + Largefile support - Lastlog support + ncurses support - NLS support - OpenSSL support - POSIX ACL support + Shadow file support + Sendfile support + Trace support Tunable Options: PR_TUNABLE_BUFFER_SIZE = 1024 PR_TUNABLE_GLOBBING_MAX = 8 PR_TUNABLE_HASH_TABLE_SIZE = 40 PR_TUNABLE_NEW_POOL_SIZE = 512 PR_TUNABLE_SCOREBOARD_BUFFER_SIZE = 80 PR_TUNABLE_SCOREBOARD_SCRUB_TIMER = 30 PR_TUNABLE_SELECT_TIMEOUT = 30 PR_TUNABLE_TIMEOUTIDENT = 10 PR_TUNABLE_TIMEOUTIDLE = 600 PR_TUNABLE_TIMEOUTLINGER = 30 PR_TUNABLE_TIMEOUTLOGIN = 300 PR_TUNABLE_TIMEOUTNOXFER = 300 PR_TUNABLE_TIMEOUTSTALLED = 3600 PR_TUNABLE_XFER_SCOREBOARD_UPDATES = 10 ----ここまで---- それから、混乱させてしまい申し訳ありませんが、ProFTPD の PAM は LDAP に対応していないので、ProFTPD を使用する分には LDAP クライアントホストの設定は必要ありません。 (Solaris 付属の FTP サーバでは LDAP クライアントホストの設定は必要です。)

hironona
質問者

補足

xinuさん、 ご返答ありがとうございます。 >ProFTPD で LDAP 認証するためには、やはり mod_ldap を使う必要があるようです。 >なお、手元の環境で確認してみたところでは LDAP ユーザで FTP 認証をさせるためには proftpd.conf に以下ように LDAPDNInfo の設定が必要でした。 > >LDAPDNInfo "" "" LDAPDNInfoについて質問があります。 ProFTPDソースのREADME.LDAPにはLDAPDNInfoの指定をみると LDAPDNInfo cn=your-dn,dc=example,dc=com dnpass 記載されていますが、 cn=your-dn、dnpassの部分は、管理者の情報を記述するのですか?パスワードの指定もありますし、セキュリティ上良くないような感じもしますか?この設定は、必要なんでしょうか? 間違っていたら申し訳ありませんが、ネットで調べたら、dnpassは、平文で記述が必要なことがあったような感じがします。 Proftpd.confにはLDAPDNInfoの設定をしないのとAuthPAM offの設定で、確認した結果、LDAPユーザでの認証を確認しました。 >(Solaris 付属の FTP サーバでは LDAP クライアントホストの設定は必要です。) こちらの方の確認は、明日までには、確認したいと思います。

noname#227025
noname#227025
回答No.2

# 引用が前後します。 >> Solaris 付属の FTPサーバではどうなりますか? > mod_ldap の設定をしていない場合と同じ現象になっています。 LDAP に登録されているユーザが FTP でログインできないということは、FTP サーバをしているホストの LDAP クライアントホストの設定が正しく行われていないということになります。 念のために確認しますが、質問の pam.conf は FTP サーバをしているホストのものなのですよね? (つまり FTP サーバであり、かつ LDAP クライアントホストでもあるのですよね?) > >ホームディレクトリのオーナやパーミッションは問題ないですか? > 所有者をrootグループをOtherで、パーミッション777にしていますが、ここが問題ですか?もし、ここが問題であれば、ホームディレクトリを作成後、LDAPサーバに登録されているユーザは、/etc/passwdに存在しないので、所有者を設定できません。そうなると、LDAPユーザで認証し FTP転送ができないと言うことになりますよね? 上記の意味がよく分かりません。 FTP サーバをしているホストが、LDAP クライアントホストとしても設定されていれば、ユーザ情報は LDAP サーバからも得られますので、LDAP サーバに登録されているユーザでもホームディレクトリに所有者として設定できますけど。

hironona
質問者

補足

>念のために確認しますが、質問の pam.conf は FTP サーバをしているホストのものなのですよね? (つまり FTP サーバであり、かつ LDAP クライアントホストでもあるのですよね?) はい、そうです。 >上記の意味がよく分かりません。 FTP サーバをしているホストが、LDAP クライアントホストとしても設定されていれば、ユーザ情報は LDAP サーバからも得られますので、LDAP サーバに登録されているユーザでもホームディレクトリに所有者として設定できますけど。 申し訳ありません。ホームディレクトリに所有者をLDAPユーザとして設定できます。勉強不足でした。 ホームディレクトリに所有者をLDAPユーザに登録しました。 Proftpd側でmod_ldap の設定した場合にLDAPサーバに登録しているユーザは、ログインしたら、CPUが上がり、プロセスを強制終了後、ファイルの一覧の取得に失敗と表示されるが、ファイルの転送ボタンが押せるようになります。Proftpdの設定がよくないってことですよね? mod_ldap の設定する必要がないと確かに下記のURLでも書いてあってPAMのみでOK。 http://gihyo.jp/admin/serial/01/ldap/0004?page=1 mod_ldap の設定をしないと、FTPでLDAPユーザで認証ができない LDAP クライアントホストの設定は、問題ないと思うんですが。 NS_LDAP_FILE_VERSION= 2.0 NS_LDAP_SERVERS= 192.168.24.52 NS_LDAP_SEARCH_BASEDN= dc=solaristest,dc=com NS_LDAP_CACHETTL= 0 NS_LDAP_SERVICE_AUTH_METHOD= pam_ldap:simple

noname#227025
noname#227025
回答No.1

> Solarisマシン2台の環境で、1台のマシンにOpenLDAPサーバとFTPサーバを立てています。 > もう1台をクライアントとして、クライアントからはLDAP認証でログインはできます。dirコマンドを実行した所、下記のところで止まっています。 LDAP認証しない FTP サーバにローカルアカウントのあるユーザでは正常に動作するのでしょうか? つまり LDAP が関係しているのかどうか切り分けできていますか? > サーバ側には、ユーザのホームディレクトリはあります。 ホームディレクトリのオーナやパーミッションは問題ないですか? > FTPには、 ProFTPD 1.3.2を使用しています。 Solaris 付属の FTPサーバではどうなりますか? > proftp.conf (中略) > LDAPServer "192.168.24.52" > LDAPAuthBinds on > LDAPDoAuth on "ou=People,dc=solaristest,dc=com" > LDAPDoGIDLookups on "ou=Group,dc=solaristest,dc=com" > LDAPDoUIDLookups on "ou=People,dc=solaristest,dc=com" 蛇足かもしれませんが、ProFTPD は標準で PAM が有効になるので、mod_ldap の設定は必要ないのではないかと思います。 proftpd-1.3.2% ./configure --help | grep -i pam --enable-auth-pam enable PAM support (default=yes) 以下 proftpd-1.3.2 の README.PAM からの抜粋です。 ----ここから---- 1. AuthPAM You may selectively enable or disable PAM authentication. This is especially useful in environments where you are receiving ProFTPD in a distribution, and you want to disable the builtin PAM authentication module. The default is to enable PAM authentication. You may disable it as follows: # This enables or disables the PAM authentication module. # The default is 'on'. AuthPAM on ----ここまで----

hironona
質問者

補足

xinuさん、 ご回答ありがとうございます。 Proftpdでmod_ldap の設定している場合としていない場合の切り分けを行いました。 Windows側で、FFFTPを使用 mod_ldap の設定をしていない場合 ローカルユーザでは、問題なくログインできてファイル転送も行えます。 LDAPサーバに登録しているユーザは、ログインできません。 mod_ldap の設定した場合 ローカルユーザ及びLDAPサーバに登録しているユーザは、ログインできますが、サーバ側の方には、なにも表示されませんでした。 >ホームディレクトリのオーナやパーミッションは問題ないですか? 所有者をrootグループをOtherで、パーミッション777にしていますが、ここが問題ですか?もし、ここが問題であれば、ホームディレクトリを作成後、LDAPサーバに登録されているユーザは、/etc/passwdに存在しないので、所有者を設定できません。そうなると、LDAPユーザで認証しFTP転送ができないと言うことになりますよね? >Solaris 付属の FTPサーバではどうなりますか? mod_ldap の設定をしていない場合と同じ現象になっています。

関連するQ&A

  • CentOS5.2 アカウントロックについて

    お世話になっております。 現在、CentOSにて3回パスワードを間違えたとき、 そのアカウントをロックするという設定を行っております。 編集ファイルは下記です。 # vi /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so auth required pam_tally.so onerr=fail no_magic_root account required pam_unix.so account sufficient pam_succeed_if.so uid < 500 quiet account required pam_permit.so account required pam_tally.so deny=3 no_magic_root reset password requisite pam_cracklib.so \ retry=5 minlen=8 dcredit=-2 ucredit=-1 lcredit=-1 ocredit=0 password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remembe r=8 password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so と上記の設定をしておりますが、何回パスワードを間違えても アカウントロックがかからず、ログインできてしまいます。 他に何か設定が必要でしょうか? ご教授願います。

  • アカウントロックの設定について

    お世話になっております。 RHEL5で3回パスワードを間違えた際、 そのアカウントを60秒間ロックしたいと考えております。 SSHのアクセスを管理したいため、pamにて設定したいのですが、 下記のようにauthへpam.tally.soの行を追加することにより、 「3回パスワードを間違えた時にそのアカウントをロックする」ことは確認できました。 # vi /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_env.so auth required pam.tally.so deny=3 auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth required pam_deny.so : : 「60秒間ロックする」という設定を追加したいのですが、 どのように設定する必要がありますでしょうか? ご存知の方がいらっしゃいましたら、 ご教授の程宜しくお願い致します。

  • SSHをLDAPで認証

    SSHをLDAPを使って認証させたいのですが、上手くいきません・・・ /etc/passwdに登録してあるユーザはログイン可能なのですが、LDAPに登録してあるユーザではログインできません。以下、ログイン不能時のログです。 ※LDAPのログには、何も記述されていないので、そもそもSSHからLDAPサーバにアクセスできていないように思うのです。しかしながら、どうして良いか全く分からないため、皆様の知恵をお借りしたく。 --------log--------- Illegal user test from 127.0.0.1 May 11 10:13:07 Proxy sshd[23596]: PAM unable to dlopen(/lib/security/pam_ldap.so) May 11 10:13:07 Proxy sshd[23596]: PAM [dlerror: /lib/security/pam_ldap.so: undefined symbol: ber_pvt_opt_on] May 11 10:13:07 Proxy sshd[23596]: PAM adding faulty module: /lib/security/pam_ldap.so May 11 10:13:36 Proxy sshd[23596]: Failed password for illegal user test from 127.0.0.1 port 35168 ssh2 --------------------- /etc/pam.d/sshdに関しては、pam_ldapのソース内にあったものをそのまま流用しています。 ■基本情報 OS:Redhat 2.4.21-4.EL openldap-2.3.21 pam_ldap-182 nss_ldap-250 LDAPクライアント、サーバとも同一サーバ。

  • パスワードを4文字に。

    こんばんわ。 CentOS6.4でパスワードポリシーについて調べています。 とりあえずセキュリティについては置いておいて、文字数について4文字とか設定できるのかなと思いまして、調べたところ /etc/pam.d/system-auth に記述することでいけるみたいでしたので、 password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=8 dcredit=0 ucredit=0 lcredit=0 ocredit=0 とし、一応再起動してから passwd でパスワードを4文字にしようとしたところ短すぎると弾かれました。 他に検索したところ、/etc/login.defs でも設定できるみたいな記事があったので、 PASS_MIN_LEN 4 としてみましたがダメでした。 CentOSでは短すぎるパスワードというものはダメなのでしょうか?

  • PAM認証(pam_cracklib.soで複雑なパスワードチェッ

    はじめまして。よろしくお願いします。 Red Hat Enterprise Linux 5.3で、/etc/pam.d/system-authに定義されているpam_cracklib.soを使用し、ユーザーに対してパスワード制限を行いたいと考えております。 ここで、「英字大文字(ucredit)2文字、あるいは、英字小文字(lcredit)2文字以上を含む」といったパスワード制限を指定することは可能でしょうか? 「かつ」といった論理演算であれば、以下のようにただ引数をつなげるだけでよいのでしょうが。 ============================================ password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 ucredit=-2 lcredit=-2 ============================================ 上記制限が難しい場合、 /etc/pam.d/system-authを編集する以外に上記のパスワード制限ができる方法があれば、ご教授いただけるとありがたいです。

  • vsftpd のユーザ認証のトラブル

     過去ログなどを確認し、いろいろ試してみましたが、うまくいかないため、質問させていただきます。  状況:『vsftpd に パソコン側からffftpでログインしようとすると、パスワード認証エラーとなる』  Fedora 12 でvsftpdをインストールしました。 ・vsftpd.conf の主なディレクティブは、次の通りとしています。 anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 pam_service_name=vsftpd userlist_enable=YES userlist_deny=NO userlist_file=user_list tcp_wrappers=YES ・ファイル user_list には、FTPを利用するユーザidを書いています。 ・pam認証のための /etc/pam.d/内の vsftpd は、次の通りです。 session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth required pam_shells.so auth include password-auth account include password-auth session required pam_loginuid.so session include password-auth ・SELinux は Disabled になっています。 この状態で、user_list にあるユーザ id で、ffftp からログインしようとすると、 --------------------  ホスト xxx.yyy.zzz.1(21) に接続しています。  接続しました。  220 (vsFTPd v.v.v) >USER hogehoge 331 Please specify password. >PASS [xxxxx] ログインできません。 -------------------- となってしまいます。つまり、パスワードは聞いてきているのに、パスワードが一致しないためログイン不可、という状況です。 この id では、ftp ではなく普通にログインすると、正常にログインできます。 いろいろ試してる中で、パスワードを2回(または3回)聞いてくるケースもあったのですが、その場合も、正しくパスワードを入れているはずが、結局、パスワード違いで認証されませんでした。 実は、なかなかうまくいかないため、userlist_deny を YES とし、user_list からuidを消して試してみたり、pam ファイルの password-auth をsystem-auth に変えたりしてみましたが、状況は変わりません。 この他、user_list に入れていないユーザ id (こちらも、普通にログインすると正常にログインできます)で試してみると、予想通り(正常に?)、パスワードを聞く以前に 530 Permission denied. となります。 どこがいけないのか、あるいは何を調べたらよいのか、ご教示頂けないでしょうか。 ・補足  実は、これまで、Fedora 6を入れたマシンをウェブサーバーとして使っていました。そのマシンがハード的にクラッシュしてしまったため、別のマシンをウェブサーバーとして使おうと、Fedora12を入れている所で、このトラブルに遭遇しました。FTP は、パソコンからウェブのページをアップするために使います。  前回のFedora6 の際にも、user_listやpam認証で苦労したため、その時の経験をもとに対処しているつもりなのですが、うまくいきません。    なお、私は、明後日から外国出張で、しばらく留守になります。以降に頂いたご回答に対するお礼・補足は、申し訳ございませんが、今月末以降となってしまいます(できたら、この問題を解決してから出張に出掛けたいのですが)。お礼が遅れるかも知れない失礼をお許しください。

  • 一般ユーザーからrootにできない

    vine linux4.2でサーバーを立てているのですが、少々問題が起こりました。 一部のユーザー(hoge)だけがrootになれるよう以下のように設定をしました。 /etc/login.defs SU_WHEEL_ONLY yes /etc/group wheel:x:10:root,hoge /etc/pam.d/su auth required /lib/security/pam_wheel.xo use_uidの#を削除しております。 ある一定の期間までは、この状態で $su - と入力してrootのパスワードを入力すると一般のユーザからrootにすることができました。 ですが、数カ月たってから、 $su - と入力してrootのパスワードを入力すると su: パスワードが違います と出ます。 secureのログを見ると以下の内容が出ます。 (1)はroot から hogeへ 成功 (2)はhoge から rootへ 失敗 (1)Apr 3 14:07:54 sv su: pam_unix(su:session): session opened for user hoge by root(uid=0) (2)Apr 3 14:07:59 sv su: pam_unix(su:auth): authentication failure; logname=root uid=500 euid=500 tty=pts/0 ruser=hoge rhost= user=root また、再起動をしてrootで入ることは可能です。 rootから #su - hoge と入力して hoge に入ることも可能ですが、 逆の場合が不可能です。 以下の方法は何も設定せずにやってみました 一般ユーザーから一般ユーザーへの移動も パスワードが違います とでます。 何か解決策はございませんでしょうか。 今の状態ですと、Tera Termを使ってSSHでの接続は可能ですが、rootになれないためユーザーの追加などがサーバーで操作しなければならない状態です。 よろしくお願いします。

  • vine linux4.2でサーバーを立てているのですが、少々問題が起

    vine linux4.2でサーバーを立てているのですが、少々問題が起こりました。 一部のユーザー(hoge)だけがrootになれるよう以下のように設定をしました。 /etc/login.defs SU_WHEEL_ONLY yes /etc/group wheel:x:10:root,hoge /etc/pam.d/su auth required /lib/security/pam_wheel.xo use_uidの#を削除しております。 ある一定の期間までは、この状態で $su - と入力してrootのパスワードを入力すると一般のユーザからrootにすることができました。 ですが、数カ月たってから、 $su - と入力してrootのパスワードを入力すると su: パスワードが違います と出ます。 secureのログを見ると以下の内容が出ます。 (1)はroot から hogeへ 成功 (2)はhoge から rootへ 失敗 (1)Apr 3 14:07:54 sv su: pam_unix(su:session): session opened for user hoge by root(uid=0) (2)Apr 3 14:07:59 sv su: pam_unix(su:auth): authentication failure; logname=root uid=500 euid=500 tty=pts/0 ruser=hoge rhost= user=root また、再起動をしてrootで入ることは可能です。 rootから #su - hoge と入力して hoge に入ることも可能ですが、 逆の場合が不可能です。 以下の方法は何も設定せずにやってみました 一般ユーザーから一般ユーザーへの移動も パスワードが違います とでます。 何か解決策はございませんでしょうか。 今の状態ですと、Tera Termを使ってSSHでの接続は可能ですが、rootになれないためユーザーの追加などがサーバーで操作しなければならない状態です。 よろしくお願いします。

  • FTPが繋がらない

    海外のサーバーを2つレンタルしています。 どちらのサーバーもFTP接続できず困っています。 運営元にも問い合わせましたが、未だ解決できていません。 両方のサーバーにアクセスできないことから、こちらの問題なのではないかと考えています。 (それともログを見る限り認証までは通っているので、やはりサーバーの問題?) すでにWindowsのファイヤーウォールは無効にしても接続できないことは確認済みですので、 他に何が原因で接続できないのか教えて頂けないでしょうか? OSはWindows 7 64bitです。 接続のログは下記の通りです。(一部マスクしています。) FFFTP Ver.1.98g Copyright(C) 1997-2010 Sota & cooperators. Copyright (C) 2011-2013 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka, Moriguchi Hirokazu). デフォルトのマスターパスワードが使われます. マルウェアの攻撃を防ぐため,固有のマスターパスワードを設定することをおすすめします OpenSSLが読み込まれました. ---------------------------- FTP over Explicit SSL/TLS (FTPES)を使用します. ホスト (IPアドレス) を探しています. (TCP/IPv6) ホスト (IPアドレス) (21) に接続しています. (TCP/IPv4) ホスト (IPアドレス) が見つかりません. (TCP/IPv6) 接続しました. (TCP/IPv4) 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- 220-You are user number 2 of 50 allowed. 220-Local time is now 05:17. Server port: 21. 220-This is a private system - No anonymous login 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. >AUTH TLS 234 AUTH TLS OK. >PBSZ 0 200 PBSZ=0 >PROT P 200 Data protection level set to "private" >USER (ユーザー名) 331 User (ユーザー名) OK. Password required >PASS [xxxxxx] 230 OK. Current restricted directory is / >FEAT 211-Extensions supported: EPRT IDLE MDTM SIZE MFMT REST STREAM MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*; MLSD AUTH TLS PBSZ PROT TVFS ESTA PASV EPSV SPSV ESTP 211 End. >TYPE A 200 TYPE is now ASCII >PASV 227 Entering Passive Mode ((IPアドレス)) ダウンロードのためにホスト (IPアドレス) に接続しています. (TCP/IPv4) 接続できません. (TCP/IPv4) ファイル一覧の取得を中止しました.

  • FTPを使っていてファイル一覧の取得に失敗する

    FFFTPを使ってウェブサイトをアップしようとしているのですが、 最初にホストに接続することは出来るものの、ダウンロードのためにホストに接続する段階に なると「ファイル一覧の取得に失敗しました」とメッセージが出て、その先に進めません。 なにが悪いのかまったく検討がつかないので 解決法がわかる方いらっしゃいましたらご教授願います。 ちなみにメッセージはこんなかんじで出てきます。 FTP over Explicit SSL/TLS (FTPES)を使用します. ホスト ホスト名 を探しています. (TCP/IPv4) ホスト ホスト名 を探しています. (TCP/IPv6) ホスト ホスト名 (202.×××.×××.×× (21)) に接続しています. (TCP/IPv4) 接続しました. (TCP/IPv4) ホスト ホスト名 が見つかりません. (TCP/IPv6) 220 ProFTPD 1.3.4 Server (ProFTPD) [202.×××.×××.×× ] >AUTH TLS 234 AUTH TLS successful >PBSZ 0 200 PBSZ 0 successful >PROT P 200 Protection set to Private >USER ユーザー名 331 Password required for ユーザー名 >PASS [xxxxxx] 230 User ユーザー名 logged in >FEAT 211-Features: MDTM MFMT TVFS AUTH TLS MFF modify;UNIX.group;UNIX.mode; MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*; PBSZ PROT REST STREAM SIZE 211 End >TYPE A 200 Type set to A >PASV 227 Entering Passive Mode (202.×××.×××.×× ,234,181). ダウンロードのためにホスト 202.×××.×××.×× (60085) に接続しています. (TCP/IPv4) 接続できません. (TCP/IPv4) ファイル一覧の取得を中止しました. >XPWD 257 "/" is the current directory >TYPE A 200 Type set to A >PASV 227 Entering Passive Mode (202.×××.×××.×× ,225,182). ダウンロードのためにホスト 202.×××.×××.×× (57782) に接続しています. (TCP/IPv4) 接続できません. (TCP/IPv4) ファイル一覧の取得を中止しました. ファイル一覧の取得に失敗しました.