คือssh abc@servername
แตกต่างจากssh Abc@servername
? กรณีชื่อผู้ใช้มีความสำคัญใน Unix หรือไม่?
ผู้ใช้ของฉันตรวจสอบสิทธิ์ผ่าน LDAP
คือssh abc@servername
แตกต่างจากssh Abc@servername
? กรณีชื่อผู้ใช้มีความสำคัญใน Unix หรือไม่?
ผู้ใช้ของฉันตรวจสอบสิทธิ์ผ่าน LDAP
คำตอบ:
เช่นเดียวกับชื่อโฮสต์และชื่อโดเมนชื่อผู้ใช้ไม่ได้เป็นสิ่งที่ Unix แต่สามารถและมักจะขยายประเภทของระบบปฏิบัติการที่หลากหลาย
การพิจารณาตัวพิมพ์เล็กและตัวพิมพ์เล็กนั้นจะขึ้นอยู่กับมาตรฐานที่ใช้ระบุหรือไม่
ชื่อโฮสต์และชื่อโดเมนนั้นไม่ตรงตามตัวพิมพ์ใหญ่ - เล็กตามมาตรฐาน DNS (ดูRFC4343 )
ชื่อผู้ใช้ที่เก็บไว้ในแบ็กเอนด์ท้องถิ่น (/ etc / passwd) หรือรูปแบบ Unix หนึ่ง (NIS) ไม่ได้เป็นกรณีตายโดยมาตรฐาน POSIX
ชื่อผู้ใช้ที่เก็บไว้ใน LDAP หรือแบ็กเอนด์ของ Active Directory จะเป็นไปตามคำนิยามของ schema ของแอตทริบิวต์ที่ใช้uid
และcn
บ่อยครั้งที่การจัดเก็บชื่อผู้ใช้นั้นมีแอตทริบิวต์ของ schema ที่แตกต่างกัน นั่นหมายถึงทั้งสองอย่างAbc
และabc
อาจตรงกันหรือไม่abc
ขึ้นอยู่กับการกำหนดค่าเซิร์ฟเวอร์ ldap
เนื่องจากความไม่สอดคล้องกันนี้ฉันขอแนะนำให้ใช้ตัวพิมพ์เล็กสำหรับทั้งชื่อผู้ใช้และชื่อโฮสต์ / โดเมนแล้วหลีกเลี่ยงssh ABC@SERVERNAME.DOMAIN.COM
สิ่งที่หยาบ
ใช่มันเป็นกรณี ๆ ไป ฉันไม่สามารถนำข้อมูลทางเทคนิคมาทดสอบได้และสงสัยว่าทำไมคุณถึงไม่ (?)
เครื่องท้องถิ่นของฉันคือลินุกซ์มิ้นท์ตามที่คุณเห็น:
# 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 มันขึ้นอยู่กับ ฉันเคยเห็นกรณีที่ชื่อผู้ใช้เป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ (บนอุปกรณ์ ZFS ที่เชื่อมต่อกับ LDAP) และกรณีที่มันไม่สำคัญว่าไคลเอ็นต์ Solaris LDAP ที่เชื่อมต่อกับ Windows AD
สิ่งที่คุณควร / อาจจะลองดูว่าระบบของคุณใช้ LDAP getent passwd <username>
ได้อย่างถูกต้องโดยการออก การใช้คำสั่งนี้ควรให้ระเบียนกับชื่อผู้ใช้โฮมไดเรกทอรีและเชลล์สำหรับผู้ใช้ที่ระบุ หากคุณไม่เห็นระเบียนดังกล่าวแสดงว่า LDAP ไม่ได้รับการกำหนดค่าอย่างถูกต้อง
มีหลายสถานที่ที่คุณควรกำหนดค่า LDAP และหนึ่งในสถานที่คือ:
/etc/nsswitch.conf
passwd: files ldap
group: files ldap
คุณต้องตรวจสอบว่า PAM ได้รับการกำหนดค่าอย่างถูกต้องหรือไม่และขั้นตอนที่สำคัญที่สุดคือการตรวจสอบว่ามีการกำหนดค่าและทำงานไคลเอ็นต์ LDAP หรือไม่ ลองใช้เครื่องมือที่ต้องการldapsearch
ตรวจสอบว่าสามารถสอบถาม LDAP ได้หรือไม่
มีตำราทำอาหาร LDAP หลายเล่มและส่วนใหญ่ขึ้นอยู่กับรุ่น Unix และรุ่น LDAP ที่คุณใช้ อัปเดตคำถามของคุณพร้อมรายละเอียดหากคุณต้องการความช่วยเหลือเพิ่มเติม รวมถึงการตั้งค่าการกำหนดค่าของคุณ (ไม่มีรหัสผ่านแน่นอน) ซึ่งสามารถช่วยสมาชิกฟอรัมในการวิเคราะห์ปัญหาเฉพาะของคุณ
ชื่อผู้ใช้ Unix จะต้องตรงตามตัวพิมพ์ใหญ่และตัวพิมพ์ใหญ่และอะไรคือสิ่งที่มากกว่านั้นการใช้ชื่อผู้ใช้ที่มีตัวพิมพ์ใหญ่บนระบบ Unix สามารถสร้างผลลัพธ์ที่ไม่พึงประสงค์ได้ดังนั้นโดยทั่วไปควรหลีกเลี่ยง
ตัวอย่างบางส่วนคือ:
มันสามารถทำลายอีเมลสำหรับผู้ใช้ มาตรฐานสำหรับ SMTP อนุญาตให้ที่อยู่อีเมลต้องตรงตามตัวพิมพ์ใหญ่ - เล็กและโดยค่าเริ่มต้น MTA ที่ได้รับข้อความจะพับที่อยู่อีเมลเป็นตัวพิมพ์เล็กเพื่อค้นหาผู้ใช้ที่จะส่งมอบ หากชื่อผู้ใช้มีอักขระตัวพิมพ์ใหญ่ก็จะไม่สามารถแก้ไขได้หากไม่มีการแทนที่ค่าพิเศษเพื่อรองรับสิ่งนี้ (สิ่งนี้มีผลต่อ MTA เช่น sendmail, postfix และอื่น ๆ รวมถึงตัวแทนการส่งมอบเช่น procmail)
เทอร์มินัลฮาร์ดแวร์จำนวนมากในช่วงต้นไม่คำนึงถึงขนาดตัวพิมพ์ เป็นเรื่องปกติที่จะใช้ตัวพิมพ์ใหญ่เท่านั้น เมื่อเข้าสู่ระบบ Unix บางรุ่นการเริ่มต้นชื่อเข้าสู่ระบบด้วยอักขระตัวพิมพ์ใหญ่จะทำให้ระบบสันนิษฐานว่าคุณกำลังใช้เทอร์มินัลตัวพิมพ์ใหญ่แบบโบราณเท่านั้นและจะเปิดใช้งานการย่อตัวพิมพ์เล็ก จากนั้นคุณจะต้องหลีกเลี่ยงอักขระตัวพิมพ์ใหญ่เพื่อบอกว่าเป็นตัวพิมพ์ใหญ่) เพื่อช่วยคุณป้อนชื่อผู้ใช้ที่คาดว่าจะเป็นตัวพิมพ์เล็ก ฉันไม่เชื่อว่านี่เป็นเรื่องเกี่ยวกับลีนุกซ์ แต่ฉันเห็นมันแสดงบน HP-UX
เนื่องจากการประชุมใช้ตัวอักษรพิมพ์เล็กในชื่อผู้ใช้เป็นเวลานานมีเหตุผลที่จะคาดหวังว่าเครื่องมืออื่น ๆ (บางอันเราอาจไม่คิด) ในระบบอาจสันนิษฐานว่าชื่อผู้ใช้ควรเป็นตัวพิมพ์เล็กและตรวจสอบแปลง ฯลฯ ดังนั้นจึงทำลายสิ่งสำหรับผู้ใช้นั้น
ชื่อผู้ใช้จะต้องตรงตามตัวพิมพ์เล็กและใหญ่ คุณสามารถทดสอบสิ่งนี้ได้อย่างง่ายดายโดยเพิ่มผู้ใช้สองคนที่มีชื่อคล้ายกัน:
~ # 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
ไฟล์ของคุณ..