Score:0

วิธีซ่อมแซมไดเรกทอรีผู้ใช้บนเซิร์ฟเวอร์ Ubuntu 20.04

ธง us

สำหรับโปรเจกต์ ฉันมีเซิร์ฟเวอร์ 2 เครื่อง คือ การจัดเตรียมและการผลิต โครงการเก่ามากและฉันยังไม่ได้อัปเกรดระบบปฏิบัติการจาก Ubuntu 14.04 เนื่องจากการอัปเกรดไม่ใช่คำถาม เมื่อเร็ว ๆ นี้ฉันได้ย้ายเซิร์ฟเวอร์ที่ใช้งานจริงไปยัง VPS ใหม่ด้วย Ubuntu 20.04.2 ฉันไม่แน่ใจว่าฉันผิดพลาดตรงไหน แต่ตอนนี้อาการเหล่านี้คือ:

วรงค์ ส่งเสริม
เมื่อใดก็ตามที่ฉัน SSH เข้าสู่เซิร์ฟเวอร์ในฐานะรูททั้งหมดเป็นเรื่องปกติ แต่เมื่อฉันเปลี่ยนเป็นผู้ใช้ปกติด้วย su ผู้ใช้แอป พรอมต์กลายเป็นเปล่า $ไม่มีชื่อผู้ใช้ ไม่มีชื่อโฮสต์ และไม่มีเส้นทางในพรอมต์

ไม่มีการเติมข้อความอัตโนมัติ
นอกจากนี้ ฉันไม่สามารถเติมเส้นทางอัตโนมัติในคำสั่งได้ เช่น. เมื่อฉันพิมพ์ /โฮ และตี แท็บแทนที่จะกลายเป็นเส้น /บ้าน มีการเพิ่มอักขระแท็บตามตัวอักษรเช่น /โฮ .

ไม่มีประวัติคำสั่ง
เมื่อฉันกด ขึ้น แทนที่จะได้รับคำสั่งที่ดำเนินการล่าสุด บรรทัดจะกลายเป็น $ ^[[อ.

งาน Cron ไม่ได้ดำเนินการ
ฉันมี cronjobs หลายตัวและฉันแน่ใจว่าไม่มีปัญหากับบรรทัดกำหนดหรือบริการที่พวกเขาเรียกใช้ เนื่องจากทำงานในเซิร์ฟเวอร์ที่ใช้งานจริงแบบเก่าและยังคงทำงานในเซิร์ฟเวอร์ชั่วคราว งานไม่ได้ดำเนินการเลยบนเซิร์ฟเวอร์ใหม่

ไฟล์หายไป
ฉันเปรียบเทียบรายการไฟล์บนเซิร์ฟเวอร์ชั่วคราวกับเซิร์ฟเวอร์ที่ใช้งานจริงใหม่ และสังเกตเห็นว่าไฟล์จำนวนหนึ่งขาดหายไปในเซิร์ฟเวอร์ใหม่ ตัวอย่างเช่นไม่มี .bashrc ไฟล์ในเซิร์ฟเวอร์ใหม่ /home/appuser ไดเรกทอรี ฉันเพิ่มไฟล์ด้วยตนเอง แต่ไม่มีอะไรเปลี่ยนแปลง ดังนั้นฉันคิดว่าฉันควรขอความช่วยเหลือ

ฉันจะซ่อมแซมได้อย่างไร ผู้ใช้แอป?

Mikael H avatar
br flag
ดูเหมือนว่าการสร้างผู้ใช้ผิดพลาด โดยปกติเนื้อหาของ `/etc/skel` จะถูกคัดลอกไปยังบัญชีผู้ใช้ใหม่ ลองทำด้วยตนเอง แก้ไขการอนุญาตไฟล์หากทำได้ จากนั้นลงชื่อเข้าใช้บัญชี `appuser` อีกครั้ง
Gabriel Núñez Yuvé avatar
cn flag
เพื่อความแน่ใจ คุณได้ตรวจสอบว่าโฮมโฟลเดอร์และเชลล์เริ่มต้นถูกตั้งค่าสำหรับผู้ใช้นั้นใน `/etc/passwd` หรือไม่
Majid Fouladpour avatar
us flag
@GabrielNúñezYuvé จับดี! ใน /etc/passwd ฉันมีบรรทัดนี้สำหรับ appuser: `appuser:x:1000:1000::/home/appuser:/bin/sh` ซึ่งแตกต่างจากของรูทที่น่าสนใจซึ่งก็คือ: `root:x:0: 0:root:/root:/bin/bash` ดังนั้นฉันจึงมีโทเค็นว่างหลังจาก ID กลุ่มและ `sh` แทนที่ 'bash' ฉันเปรียบเทียบโฮมไดเร็กตอรี่กับ `/etc/skel` ตามที่มิคาเอลแนะนำ แต่ไม่พบไฟล์ที่ขาดหายไป โปรดเพิ่มคำตอบและแนะนำว่าควรแก้ไข `/etc/passwd` ด้วย nano หรือไม่ หรือควรแก้ไขด้วยเครื่องมืออื่น ขอบคุณ!
Score:0
ธง cn

เชลล์เริ่มต้นดูเหมือนว่าเป็นเชลล์ "ขั้นต่ำ" หากท่านต้องการ ผู้ใช้แอป เพื่อให้มีเปลือกแบบเดียวกับ ราก คุณควรเปลี่ยนเชลล์เริ่มต้นเป็น /ถัง/ทุบตี.
คุณสามารถทำได้โดยแก้ไขไฟล์ /etc/passwd ไฟล์และแทนที่ไฟล์ /ถัง/sh กับ /ถัง/ทุบตี โดยใช้โปรแกรมแก้ไขข้อความที่คุณต้องการ (เช่น vi, เสียงเรียกเข้า หรือ นาโน) หรืออีกตัวเลือกหนึ่งคือการใช้ ชช คำสั่ง เช่น

chsh appuser -s /bin/bash

หวังว่าจะช่วยได้!

Majid Fouladpour avatar
us flag
ฉันใช้ `vipw` แทนการใช้ nano โดยตรง และหลังจากเพิ่มโทเค็นชื่อและเปลี่ยน `/bin/sh` เป็น `/bin/bash` ตามที่คุณบอกเป็นนัย อาการทั้งหมดก็ได้รับการแก้ไข ขอขอบคุณ! การใช้ `vipw` เป็นสิ่งที่ฉันได้เรียนรู้เกี่ยวกับบทความนี้เรื่อง *วิธีที่ถูกต้องในการแก้ไขไฟล์ /etc/passwd และ /etc/group ใน Linux* - ลิงก์: https://web.archive.org/web/20210331085207/https //ostechnix.com/the-right-way-to-edit-etc-passwd-and-etc-group-files-in-linux/

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา