とはssh abc@servername
違うssh Abc@servername
?Unixではユーザー名の大文字小文字は問題になりますか?
ユーザーがLDAPを介して認証します。
とはssh abc@servername
違うssh Abc@servername
?Unixではユーザー名の大文字小文字は問題になりますか?
ユーザーがLDAPを介して認証します。
回答:
ホスト名やドメイン名と同じように、ユーザー名は厳密にはUnixのものではありませんが、多くの場合、より広範なOSタイプにまたがることができます。
大文字と小文字を区別するかどうかは、それらの指定に使用される標準に依存します。
ホスト名とドメイン名は、DNS規格で明らかに大文字と小文字が区別されません(RFC4343を参照)。
ローカルバックエンド(/ etc / passwd)またはUnixスタイルのもの(NIS)に保存されているユーザー名は、POSIX標準では大文字と小文字が区別されません。
LDAPまたはActive Directoryのバックエンドに保存されたユーザ名は使用される属性のスキーマの定義に従います、uid
そしてcn
その多くの場合、後者は、前者が、大文字と小文字を区別するために、ユーザー名が異なるスキーマ属性を持っているケース小文字を区別しないを格納しています。つまり、両方Abc
を意味し、LDAPサーバーの構成に応じて、エントリとabc
一致する場合と一致しないabc
場合があります。
この不一致のため、ユーザー名とホスト/ドメイン名の両方に小文字のみを使用し、いずれにしssh ABC@SERVERNAME.DOMAIN.COM
ても失礼なものを避けることをお勧めします。
はい、大文字と小文字が区別されます。技術情報を持ってこられないので、テストしたばかりで、なぜそうしなかったのか疑問に思いました(?)
あなたが見ることができるように私のローカルマシンはLinuxミントです:
# cat /etc/*release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.2
DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
cat: /etc/upstream-release: Is a directory
そして、私は次のようにCentOSサーバーに接続しようとしました:
・大文字の(間違った)ユーザー名の使用:
8D prova # ssh Root@agora-server
Root@agora-server's password:
Permission denied, please try again.
Root@agora-server's password:
Permission denied, please try again.
Root@agora-server's password:
・正しいユーザー名の使用:
8D prova # ssh root@agora-server
root@agora-server's password:
Last login: Fri Oct 2 01:50:13 2015 from 192.168.0.31
[root@agora-server ~]#
ローカルアカウントの場合、ユーザー名は大文字と小文字が区別されます。LDAPを使用する場合、依存します。ユーザー名が大文字と小文字を区別する場合(LDAPに接続されているZFSアプライアンス上)と、Windows ADに接続されているSolaris LDAPクライアントのように重要でない場合を見てきました。
すべき/できることは、システムがLDAPを正しく使用しているかどうかを確認することgetent passwd <username>
です。このコマンドを使用すると、指定したユーザーのユーザー名、ホームディレクトリ、およびシェルのレコードが表示されます。そのようなレコードが表示されない場合、LDAPは正しく構成されていません。
LDAPを構成する必要のある場所がいくつかありますが、そのうちの1つは次のとおりです。
/etc/nsswitch.conf
passwd: files ldap
group: files ldap
また、PAMが正しく構成されているかどうかを確認する必要があります。おそらく最も重要な手順は、LDAPクライアントが構成され機能しているかどうかを確認することです。ldapsearch
LDAPを照会できるかどうかを確認するようなツールを試してください。
使用可能なLDAPクックブックがいくつかあり、それらのほとんどは、使用しているUnixバージョンとLDAPバージョンに依存しています。さらに支援が必要な場合は、これらの詳細で質問を更新してください。また、フォーラムメンバーが特定の問題を分析するのに役立つ構成セットアップ(もちろんパスワードなし)も含めます。
Unixユーザー名は、大文字と小文字が区別されることは間違いありません。さらに、Unixシステムで大文字のユーザー名を使用すると、望ましくない結果が生じる可能性があるため、通常は避けてください。
以下に例を示します。
ユーザーへのメールを破壊する可能性があります。SMTPの標準では、電子メールアドレスは大文字と小文字を区別できません。デフォルトでは、メッセージを受信するMTAは電子メールアドレスを小文字に変換して、配信先のユーザーを見つけます。ユーザー名に大文字が含まれている場合、これに対応するための特別な設定のオーバーライドがなければ解決されません。(これは、sendmail、postfixなどのMTA、およびprocmailなどの配信処理エージェントにも影響します)
初期のハードウェア端末の多くは大文字と小文字を区別しませんでした。大文字のみを使用するのが一般的でした。Unixの一部のバージョンにログインする際、大文字でログイン名を開始すると、システムは古代の大文字のみの端末を使用していると想定し、大文字の折りたたみを有効にします-入力した大文字をすべて小文字に変換します(大文字であると言うために大文字をエスケープする必要があります)、ユーザー名が小文字になると予想されるユーザー名を入力できるようにします。これはLinuxの問題ではないと思いますが、HP-UXで実証されているのを見てきました。
ユーザー名に小文字のみを使用することは長年の慣習であるため、システム上の他のツール(考えていないかもしれませんが)がユーザー名を小文字であると想定し、チェック、変換などを行うことを期待するのは合理的ですそれに応じて、そのユーザーのために物事を壊します。
ユーザー名では、大文字と小文字が区別されます。類似した名前の2人のユーザーを追加することで、これを簡単にテストできます。
~ # useradd foobar
~ # useradd fooBar
~ # grep ^foo /etc/passwd
foobar:x:1001:1001::/home/foobar:/bin/sh
fooBar:x:1002:1002::/home/fooBar:/bin/sh
この質問/回答は、LDAPサーバーに従って「間違った」ケースを持つユーザー名でログインしようとしているユーザーを補償する方法を示しています。ただし、これは、ユーザー名がすべて小文字でリストされている場合にのみ機能します(または、必要に応じてすべて大文字にすることができます)。
cd
と同じではありませんCD
...実際にそれらを同じにする唯一の方法は、.bashrc
ファイルにエイリアスを設定することです