Điểm:1

Sự cố Sudo: Cần trợ giúp với Github và các khóa ssh nhóm của tôi

lá cờ us

Tôi dường như không thể tìm thấy một câu hỏi hoàn toàn liên quan đến điều này. Tôi đang sử dụng Ubuntu 20.04 và dự án của tôi được lưu trữ trong /var/www/html/My_Project

Hiện tại tôi làm việc với một nhóm năm người và khi đẩy hoặc kéo, chúng tôi sử dụng sudo. Khi chúng tôi làm điều đó, kho lưu trữ git của chúng tôi sẽ kéo qua https và yêu cầu thông tin đăng nhập. Kể từ hôm nay, GitHub không còn sử dụng mật khẩu tiêu chuẩn cho https nữa, giờ đây nó là một mã thông báo trông giống như thế này "lksadknkasjvjkasd345kKja345neuhiehkjsdfn" (không phải mã thông báo thực tế). Đây là một nỗi đau để giữ và sử dụng nhiều lần.

Tôi thiết lập khóa ssh nhưng phải đặt khóa của mình cho người dùng root vì không ai có quyền ghi vào thư mục này. (Tôi thực sự thích sử dụng sudo để thực hiện thay đổi). Vậy có cách nào để chúng ta vẫn có thể sử dụng sudo nhưng sử dụng khóa của từng thành viên trong nhóm thay vì chỉ khóa của tôi.

Tôi thấy việc mọi người sử dụng chìa khóa của tôi là một hành vi không tốt

Thêm một số làm rõ, tôi biết đây là một thiết lập tồi. Tôi không phải là người có thể thay đổi nó. Chúng tôi có 5 nhà phát triển với các dự án của riêng họ trên máy này và mọi nhà phát triển không có quyền truy cập vào tất cả các kho lưu trữ, do đó, việc có 1 khóa ssh với quyền root sẽ không hoạt động.

Chúng tôi có một cỗ máy sản xuất chỉ do CTO của chúng tôi quản lý, "Đánh giá mã", khi nó xảy ra, sẽ diễn ra trên cỗ máy này trước khi nó đi vào sản xuất.

Vì vậy, vui lòng chỉ trả lời câu hỏi nếu bạn có giải pháp hoặc cho tôi biết nếu đây chỉ là một nỗ lực vô vọng. #Giải phápCần thiết

Bradley Armstrong avatar
lá cờ us
Chúng tôi có tài khoản GitHub dành cho doanh nghiệp và mỗi tài khoản đều có khóa ssh riêng cùng với quyền truy cập vào repo. Vấn đề là tôi chỉ có thể đặt một khóa cho dự án trên máy chủ web của chúng tôi. Ít nhất là sử dụng phương pháp hiện tại.
Bradley Armstrong avatar
lá cờ us
Nó xảy ra. Tùy thuộc vào bạn về việc loại bỏ
terdon avatar
lá cờ cn
Đây là một thiết lập rất, rất, rất tồi. Bạn nên chuyển các kho lưu trữ của mình sang các thư mục $HOME cục bộ và _not_ chạy git với sudo!
Điểm:2
lá cờ cn

Thực tiễn không tốt ở đây là bạn có kho lưu trữ của mình trong một thư mục không thể ghi được. Từ những gì bạn mô tả, nó thậm chí còn tồi tệ hơn và bạn thực sự có tất cả mọi người sử dụng cùng một kho lưu trữ git cục bộ! Loại này đánh bại toàn bộ quan điểm của việc sử dụng git ngay từ đầu! Nếu bất kỳ ai trong số các bạn làm hỏng kho lưu trữ, bạn không thể sửa nó từ bản sao cục bộ của người khác. Bạn cũng không thể làm việc cùng một lúc. Đây thực sự là một thiết lập rất tồi.

Bạn nói rằng bạn thích phải sử dụng sudo để thực hiện thay đổi. Tôi xin lỗi nhưng điều đó không có ý nghĩa gì cả. Bạn kiểm soát quyền truy cập bằng cách kiểm soát những gì được hợp nhất, không phải bằng cách kiểm soát ai có thể ghi vào các tệp lưu trữ cục bộ! Ngoài ra, đây là một cách tiếp cận không an toàn khủng khiếp: bạn đang cấp cho tất cả các nhà phát triển của mình quyền truy cập root vào máy chỉ để họ có thể viết mã của mình! Tôi nghi ngờ bạn nghĩ rằng điều này đang làm tăng tính an toàn nhưng sự thật là nó đang làm hoàn toàn ngược lại.

Nói với mọi người để chạy một bản sao git trong thư mục nhà của họ để mọi người có thể có bản sao mã cục bộ của riêng mình. Tiếp theo, định cấu hình kho lưu trữ của bạn để nó không cho phép hợp nhất mà không có yêu cầu kéo được xem xét. Đây là một cái gì đó bạn muốn anyway.

Điều này sẽ không chỉ cho phép bạn sử dụng git ở mức tối đa khi mọi người đều có một bản sao cục bộ của kho lưu trữ, đảm bảo an toàn cho mã và cho phép nhiều người làm việc song song, trên cùng một nhánh hoặc các nhánh khác nhau, nó cũng sẽ có tác dụng phụ tốt giải quyết vấn đề bạn mô tả trong câu hỏi của mình: giờ đây mọi người có thể thêm khóa ssh công khai của riêng họ vào GitHub, lưu trữ khóa ssh riêng của họ trong $HOME/.ssh/ và có thể đẩy vào kho lưu trữ và mở các yêu cầu kéo để chủ sở hữu kho xem xét và hợp nhất.

Bradley Armstrong avatar
lá cờ us
Tôi sẽ điều chỉnh câu hỏi của mình một chút. Đây là máy thử nghiệm web trước khi sản xuất. Chúng tôi chỉ muốn một bản sao trên máy này.
terdon avatar
lá cờ cn
@BradleyArmstrong thì tại sao lại có người làm việc trên máy? Chỉ cần có một bản sao và cho phép root kiểm tra nhánh có liên quan, tại sao bạn lại muốn nhà phát triển viết trực tiếp vào repo? Mỗi nhà phát triển thực hiện các thay đổi của họ trong kho lưu trữ cục bộ của họ, đẩy đến nhánh từ xa (lý tưởng nhất là nó sẽ trải qua quá trình xem xét mã), sau đó nhánh được kiểm tra trên máy mục tiêu để triển khai.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.