การสร้างผู้ใช้ที่ไม่สามารถรับเชลล์แบบโต้ตอบได้


17

เชลล์แบบโต้ตอบและแบบไม่โต้ตอบคืออะไร?

คำถาม: สร้างผู้ใช้ john ที่ไม่ควรได้รับ shell แบบโต้ตอบ

เราจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


9

/etc/passwdไฟล์ได้เป็นรายการสุดท้ายในสายของผู้ใช้โปรแกรมจะทำงานเมื่อเข้าสู่ระบบ สำหรับผู้ใช้ปกตินี้มักจะถูกตั้งค่าเป็น/bin/shหรือเปลือกอื่น ๆ (เช่น bash, zsh)

ตามเนื้อผ้าอัตลักษณ์ที่ใช้ในการเป็นเจ้าของกระบวนการหรือไฟล์หรือทรัพยากรอื่น ๆ มี "เปลือก" ของพวกเขาตั้ง/bin/falseเป็นเหมือนใน

syslog:x:101:102::/home/syslog:/bin/false

pseudo-user syslog เป็นเจ้าของ/var/log/syslogและเป็น UID เดียวที่มีสิทธิ์ในการเขียนสำหรับไฟล์นั้น แต่จะไม่สามารถเข้าสู่ระบบในฐานะผู้ใช้ syslog เนื่องจากไม่มีล่ามคำสั่งที่จะทำงาน


9

เกี่ยวกับคำถามที่คุณพยายามตอบ:

สร้างผู้ใช้ john ที่ไม่ควรได้รับ shell แบบโต้ตอบ

คำถามหมายถึง "สร้างชื่อผู้ใช้johnที่จะไม่สามารถเข้าสู่ระบบและเรียกใช้คำสั่งจากเปลือก" อินเตอร์แอคทีฟอธิบายวิธีการทำงานของเชลล์: ผู้ใช้พิมพ์บางอย่างและเชลล์ทำบางสิ่งตาม (มีการสื่อสารระหว่างผู้ใช้กับเชลล์) คำว่า "โต้ตอบ" ไม่ได้เพิ่มข้อมูลใด ๆ ลงในคำถามเพราะตราบใดที่มีคำสั่งพิมพ์ของผู้ใช้เชลล์เซสชันจะเป็นแบบโต้ตอบ

นอกจากนี้ยังมีโหมดที่ไม่ต้องมีการโต้ตอบซึ่งผู้ใช้จะบันทึกชุดคำสั่งที่ต้องการเรียกใช้ในไฟล์ (เรียกว่าเชลล์สคริปต์) และเรียกใช้ไฟล์ในภายหลัง คำสั่งบางตัวจะทำงานแตกต่างกันไปขึ้นอยู่กับว่าเชลล์นั้นทำงานแบบโต้ตอบหรือไม่แบบโต้ตอบ คุณสามารถอ่านเพิ่มเติมได้ที่นี่ (เอกสารนี้มีไว้สำหรับbashแต่แนวคิดเดียวกันนี้ใช้กับเชลล์อื่น ๆ )

เกี่ยวกับวิธีการสร้างเช่นผู้ใช้ถ้าคุณอ่านผ่านman useraddมีตัวเลือกที่จะตั้งเปลือกเข้าสู่ระบบหรือ-s --shellนอกจากนี้คุณยังสามารถสร้างผู้ใช้ตามปกติในการไปที่คุณต้องการ (ซึ่งผมถือว่าคุณรู้อยู่แล้ว?) แล้วแก้ไข/etc/passwdเหมือนในคำตอบของขยะ


3

ใช่เปลี่ยนเปลือกในแฟ้มรหัสผ่าน (/ etc / passwd) ในการเขียนโปรแกรมบางอย่างที่จะไม่ได้ช่วยให้หลบหนีเปลือก

ถ้าคุณต้องการที่จะเป็นbofh / bin / false จะทำสิ่งที่คุณต้องการ


-1
adduser username -s /sbin/nologin

2
โปรดสังเกตว่าชื่อผู้ใช้ถูกระบุในคำถามเป็น "john" จะไม่เจ็บที่จะใช้ร้อยแก้วเล็ก ๆ น้อย ๆ เพื่ออธิบายสิ่งที่คำสั่งของคุณกำลังทำและทำไมมันตอบสนองความต้องการ
Jeff Schaller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.