Score:1

ปัญหา Sudo: ต้องการความช่วยเหลือเกี่ยวกับ Github และคีย์ ssh ของทีมของฉัน

ธง us

ฉันไม่สามารถหาคำถามที่เกี่ยวข้องกับสิ่งนี้ได้อย่างสมบูรณ์ ฉันใช้ Ubuntu 20.04 และโครงการของฉันถูกจัดเก็บไว้ใน /var/www/html/My_Project

ขณะนี้ฉันทำงานกับทีมห้าคนและเมื่อเราผลักหรือดึงเราใช้ sudo เมื่อเราทำเช่นนั้น ที่เก็บ git ของเราจะดึงผ่าน https และขอข้อมูลประจำตัว ณ วันนี้ GitHub ไม่ได้ใช้รหัสผ่านมาตรฐานสำหรับ https อีกต่อไป ตอนนี้เป็นโทเค็นที่มีลักษณะดังนี้ "lksadknkasjvjkasd345kKja345neuhiehkjsdfn" (ไม่ใช่โทเค็นจริง) นี่เป็นความเจ็บปวดที่ต้องเก็บไว้และใช้ซ้ำแล้วซ้ำอีก

ฉันตั้งค่าคีย์ ssh แต่ต้องตั้งค่าคีย์สำหรับผู้ใช้รูทเพราะไม่มีใครมีสิทธิ์เขียนไปยังไดเร็กทอรีนี้ (ฉันชอบที่จะใช้ sudo เพื่อทำการเปลี่ยนแปลง) มีวิธีที่เรายังคงสามารถใช้ sudo ได้ แต่ใช้รหัสสมาชิกในทีมแต่ละคนแทนที่จะเป็นของฉัน

ฉันเห็นว่าทุกคนใช้กุญแจของฉันเป็นเพียงแนวทางปฏิบัติที่ไม่ดี

ฉันทราบดีว่านี่เป็นการตั้งค่าที่ไม่ถูกต้อง ฉันไม่ใช่คนที่จะเปลี่ยนแปลงมันได้ เรามี 5 ผู้พัฒนาที่มีโปรเจ็กต์ของตนเองบนเครื่องนี้ และทุก ๆ ผู้พัฒนาไม่สามารถเข้าถึง repos ทั้งหมดได้ ดังนั้นการมี 1 คีย์ ssh ในฐานะรูทจะไม่ทำงาน

เรามีเครื่องจักรสำหรับการผลิตที่จัดการโดย CTO ของเราเท่านั้น "การตรวจสอบรหัส" เมื่อเกิดขึ้น จะเกิดขึ้นบนเครื่องจักรนี้ก่อนที่จะเข้าสู่การผลิต

ดังนั้น โปรดตอบคำถามหากคุณมีวิธีแก้ปัญหา หรือแจ้งให้เราทราบหากนี่เป็นเพียงความพยายามที่สิ้นหวัง #โซลูชั่นที่จำเป็น

Bradley Armstrong avatar
us flag
เรามีบัญชี GitHub สำหรับองค์กร และแต่ละบัญชีมีคีย์ ssh ของเราเองพร้อมกับการเข้าถึง repo ปัญหาคือฉันสามารถตั้งค่าคีย์เดียวสำหรับโครงการบนเว็บเซิร์ฟเวอร์ของเรา อย่างน้อยก็ใช้วิธีปัจจุบัน
Bradley Armstrong avatar
us flag
มันเกิดขึ้น. ขึ้นอยู่กับคุณในการกำจัด
terdon avatar
cn flag
นี่เป็นการตั้งค่าที่แย่มากๆ คุณควรย้ายที่เก็บของคุณไปยังไดเรกทอรี $HOME ในเครื่องของคุณและ _not_ รัน git ด้วย sudo!
Score:2
ธง cn

แนวทางปฏิบัติที่ไม่ดีที่นี่คือคุณมีที่เก็บของคุณในไดเร็กทอรีที่ไม่สามารถเขียนได้ จากสิ่งที่คุณอธิบาย มันแย่ยิ่งกว่านั้นและคุณให้ทุกคนใช้ที่เก็บ git ในเครื่องเดียวกัน! วิธีนี้เป็นการเอาชนะประเด็นทั้งหมดของการใช้คอมไพล์ตั้งแต่แรก! หากคุณทำให้ที่เก็บเสียหาย คุณจะแก้ไขจากสำเนาในเครื่องของคนอื่นไม่ได้ คุณไม่สามารถทำงานในเวลาเดียวกัน นี่เป็นการตั้งค่าที่แย่มาก

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

บอกให้ทุกคนเรียกใช้ โคลนคอมไพล์ ในโฮมไดเร็กตอรี่ของพวกเขา เพื่อให้ทุกคนสามารถมีสำเนารหัสในเครื่องของตนเองได้ ถัดไป กำหนดค่าพื้นที่เก็บข้อมูลของคุณเพื่อไม่ให้มีการรวมโดยไม่มีคำขอดึงที่ตรวจสอบแล้ว นี่คือสิ่งที่คุณต้องการอยู่แล้ว

สิ่งนี้ไม่เพียงช่วยให้คุณใช้คอมไพล์ได้อย่างเต็มที่โดยทุกคนมีสำเนาของที่เก็บในเครื่องซึ่งรับประกันความปลอดภัยของโค้ดและอนุญาตให้หลายคนทำงานพร้อมกันในสาขาเดียวกันหรือต่างกัน มันยังมีผลข้างเคียงที่ดี ในการแก้ปัญหาที่คุณอธิบายในคำถามของคุณ: ตอนนี้ทุกคนสามารถเพิ่มคีย์ ssh สาธารณะของตนเองใน GitHub จัดเก็บคีย์ ssh ส่วนตัวของตนเองใน $HOME/.ssh/ และสามารถพุชไปยังที่เก็บและเปิดคำขอดึงสำหรับเจ้าของที่เก็บเพื่อตรวจสอบและผสาน

Bradley Armstrong avatar
us flag
ฉันจะปรับคำถามของฉันเล็กน้อย นี่คือเครื่องทดสอบเว็บก่อนการผลิต เราต้องการเพียงสำเนาเดียวในเครื่องนี้
terdon avatar
cn flag
@BradleyArmstrong แล้วทำไมใคร ๆ ก็ทำงานกับเครื่องนี้? เพียงแค่มีหนึ่งสำเนาและอนุญาตให้รูทชำระเงินสาขาที่เกี่ยวข้อง ทำไมคุณถึงต้องการให้ devs เขียนลงใน repo โดยตรง ผู้พัฒนาแต่ละรายทำการเปลี่ยนแปลงใน repo ในเครื่องของพวกเขา ส่งไปยังสาขาระยะไกล (ตามหลักการแล้วจะต้องผ่านการตรวจสอบโค้ด) จากนั้นจึงตรวจสอบสาขาในเครื่องเป้าหมายเพื่อปรับใช้

โพสต์คำตอบ

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