ทำไมผู้ใช้ถึงกลายเป็นไม่มีใคร?


0

ฉันมีปัญหาเกี่ยวกับผู้ใช้ linux ฉันใช้คำสั่งเพื่อเพิ่มผู้ใช้เช่น:

useradd -u 532 -d /data/test01 -g test test01

แต่เมื่อฉันเข้าสู่ระบบtest01และทำงานmkdir xมันจะเป็นเช่น:

ไม่มีใครทดสอบ x

ทำไมผู้ใช้ถึงกลายเป็นnobody? ฉันจะแก้ไขได้อย่างไร


อาจจะดีกว่าที่ถาม Ubuntu?
11684

หรือ superuser ถ้าไม่ใช่อูบุนตู [หมายเหตุถึงผู้ดูแลระบบ: 2 ความคิดเห็นเหล่านี้มีมาก่อนการโยกย้ายและสามารถลบได้]
Denys Séguret

คุณสามารถให้การส่งออกของgrep 532 /etc/passwd?
Huygens

test01: x: 532: 528 :: / data / test01: / bin / bash
Rosser

หากคุณls -ldn xได้รับ532 528 xสิทธิ์เป็นเจ้าของไดเรกทอรี? แล้วมันเกี่ยวกับgrep nobody /etc/passwdอะไร?
Huygens

คำตอบ:


2

อีกคำอธิบายที่เป็นไปได้คือคุณเรียกใช้สิ่งนี้ในระบบไฟล์ซึ่งได้รับการแก้ไขให้กับผู้ใช้รายหนึ่ง

กรณีนี้อาจจะมีหรือntfsvfat

การnfsเมานต์ด้วยroot_squash(ค่าเริ่มต้น) อาจเป็นอีกสาเหตุหนึ่ง


0

คุณสามารถใช้usermodคำสั่งในการปรับเปลี่ยนพารามิเตอร์ต่างๆของผู้ใช้เช่นชื่อผู้ใช้และโพสต์


0

ชื่อแทนผู้ใช้

คำอธิบายที่เป็นไปได้คือคุณมีผู้ใช้ที่เรียกว่าไม่มีใครที่มี UID (ID ผู้ใช้) 532 ผลที่ได้คือคุณได้สร้าง "นามแฝงผู้ใช้"

คุณสามารถลองระบุ UID อื่นให้กับผู้ใช้ของคุณ (หรือปล่อยให้ระบบมารับหนึ่งตัว) หรือคุณสามารถทิ้งมันไว้อย่างนั้น ความเสี่ยงด้านความปลอดภัยเพียงอย่างเดียวคือหากบริการหรือผู้ใช้รายอื่นสามารถเข้าถึงnobodyข้อมูลของคุณได้ก็จะสามารถเข้าถึงข้อมูลของคุณได้

การแม็พ ID ผู้ใช้ NFS

เพื่อให้ผู้ใช้รู้สึกว่าพวกเขากำลังเข้าถึงไฟล์ของตนเอง UID บนเซิร์ฟเวอร์ NFS ควรตรงกับ UID บนไคลเอนต์ NFS แม้ว่าคุณต้องการหลีกเลี่ยงปัญหานี้เป็นrootเวลาอย่างน้อย

โดยค่าเริ่มต้น NFS exportfs จะเลือก UID / GID ที่ 65534 ซึ่งสอดคล้องกับnobodyUID ของผู้ใช้ของคุณ คุณต้องสั่งให้เซิร์ฟเวอร์ NFS ไม่จับคู่ UID ทั้งหมดกับ 65534 หรือหากนี่เป็นพฤติกรรมที่ต้องการคุณจะต้องระบุ UID เริ่มต้นที่แมปไว้

สำหรับกรณีแรกให้ลบall_squashและแทนที่ด้วยroot_squashแต่โปรดจำไว้ว่าผู้ใช้ที่ไม่ใช่รูทที่มี UID ที่คล้ายกันระหว่างเซิร์ฟเวอร์ NFS และไคลเอนต์ใด ๆ จะเป็นการแข่งขันดังนั้นพวกเขาจึงเป็นเจ้าของไฟล์ "

สำหรับกรณีที่สองให้เก็บall_squashแต่เพิ่มanonuid=532(คุณสามารถใช้anongidสำหรับ GID (หรือ ID กลุ่ม) ได้เช่นกัน

ตัวอย่าง:

/               pc001(rw,root_squash)
/home/joe       pc002(rw,all_squash,anonuid=532,anongid=100)

หมายเหตุ: การเปลี่ยนแปลงควรทำในไฟล์/etc/exportsบนเซิร์ฟเวอร์ NFS


uid ของฉันไม่มีใครคือ 99: none: x: 99: 99: ไม่มีใคร: /: / sbin / nologin
Rosser

ขอบคุณสำหรับคำอธิบาย + โซลูชันของคุณ แต่ / etc / passwd ในเซิร์ฟเวอร์ NFS ของฉันเป็นไคลเอ็นต์ NFS ในรูปแบบเดียวกันและชุดเซิร์ฟเวอร์ NFS ของฉันมีลักษณะดังนี้: (rw, no_root_squash, sync) ควรใช้ uid เดียวกันไม่ใช่ใคร .. .
Rosser
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.