Làm thế nào để bạn làm cho nó rõ ràng bạn đang ở trên một hệ thống sản xuất?


135

Một số người trong chúng tôi tại công ty của tôi có quyền truy cập root trên các máy chủ sản xuất. Chúng tôi đang tìm kiếm một cách tốt để làm cho nó cực kỳ rõ ràng khi chúng tôi đã tham gia.

Một vài ý tưởng chúng tôi đã có là:

  • Dấu nhắc màu đỏ tươi
  • Trả lời câu đố trước khi lấy vỏ
  • Nhập một từ ngẫu nhiên trước khi nhận được vỏ

Một số kỹ thuật mà các bạn sử dụng để phân biệt các hệ thống sản xuất là gì?


11
Có cách nào để dạy mọi người tránh ssh'ing cho các hệ thống sản xuất không? Ví dụ: nếu bạn đã kiểm tra mọi thứ vào Puppet, bạn chỉ cần đăng nhập vào hệ thống sản xuất để khắc phục sự cố.
Alex Holst

37
Bạn cho phép truy cập ssh root trên hệ thống sản xuất của bạn ???? !!!!!
symcbean

7
@symcbean: đó không phải là những gì Sionide nói. Anh ta có thể có nghĩa là sau khi bạn SSH vào tài khoản người dùng của bạn.
Zan Lynx

3
Là câu hỏi này trở thành một ứng cử viên cho wiki cộng đồng?
MadHatter

15
Bạn có thể làm cho nó cực kỳ rõ ràng đó là một hệ thống sản xuất bằng cách vô hiệu hóa SSH cho nó. Nó không thể rõ ràng hơn thế.
Franci Penov

Câu trả lời:


137

Dấu nhắc màu đỏ là một ý tưởng tốt, mà tôi cũng sử dụng.

Một mẹo khác là đặt một cảnh báo nghệ thuật ASCII lớn trong /etc/motdtệp.
Có một cái gì đó như thế này chào bạn khi bạn đăng nhập sẽ thu hút sự chú ý của bạn:

 ___            
| __ __ | | | | _ _ | / ____ | | _ _ | / ____ | / \    
   | | | | __ | | | | | (___ | | | (___ / \   
   | | | __ | | | \ ___ \ | | \ ___ \ / / \ \  
   | | | | | | _ | | _ ____) | _ | | _ ____) | / ____ \
   | _ | | _ | | _ | _____ | _____ / | _____ | _____ / / _ / \ _ \


 ___ ____ _____ _ ___ _______ ____ _ _ 
| __ \ | __ \ / __ \ | __ \ | | | | / ____ | __ __ | _ _ / __ \ | \ | |
| | __) | | __) | | | | | | | | | | | | | | | | | | | \ | |
| ___ / | _ / | | | | | | | | | | | | | | | | | | | . `|
| | | | \ \ | | __ | | | __ | | | __ | | | ____ | | _ | | | | __ | | |
| _ | | _ | \ _ \\ ____ / | _____ / \ ____ / \ _____ | | _ | | _ \ ____ / | _ | \ _ |


 __ __ _ _ _ _ _ _ 
| \ / | / \ / ____ | | | | _ _ | \ | | ____ |
| \ / | / \ | | | | __ | | | | | \ | | | __   
| | \ / | | / / \ \ | | | __ | | | | . `| __ |  
| | | | / ____ \ | ____ | | | | _ | | _ | | | ____
| _ | | _ / _ / \ _ \ __ | _ | | _ | __ | _ | \ _ | ___ |

Bạn có thể tạo cảnh báo như vậy trên trang web này hoặc bạn có thể sử dụng figlet lệnh.

con nhỏ

Giống như Nicholas Smith đã đề xuất trong các bình luận, bạn có thể thêm gia vị với một số con rồng hoặc các động vật khác bằng cách sử dụng cowsaylệnh.

rồng coway

Thay vì sử dụng tệp / etc / motd, bạn cũng có thể gọi cowsayhoặc figlettrong .profiletệp.


3
Ôi tôi thích điều đó!
Sionide21

13
Nếu bạn gõ một số lệnh, bạn sẽ không thấy điều đó nữa.
Nils

3
Đúng, đó là nơi mà dấu nhắc màu đỏ có ích.
Kenny Rasschaert

41
Trên các máy chủ Windows, tôi sử dụng màu máy tính để bàn màu hồng sáng và các thanh / màu tiêu đề màu vàng sáng để nó thực sự, thực sự rõ ràng. Đây là phiên bản của chúng tôi về một dấu nhắc lệnh màu
Mark Henderson

8
Tôi muốn thêm rồng ASCII vào hỗn hợp.
Nicholas Smith

80

Không hoàn toàn giống như vậy, nhưng trang web này khuyên các nhà phát triển của bạn nên mặc một chiếc sombrero màu hồng khi thay đổi hệ thống sản xuất. Bạn có thể có một quy tắc tương tự cho sshing vào chúng.

nhà phát triển mặc sombrero màu hồng


1
Haha! +1 vì tôi LOL. Nhưng nghiêm túc, mọi người có thể tìm kiếm chiếc kính bị mất của họ trong khi đeo chúng, tôi nghi ngờ rằng một chiếc mũ sẽ phục vụ như một "lời nhắc nhở liên tục". Ngoài ra, nó không có gì để giúp bạn nhớ cửa sổ nào.
Felix Dombek

7
Vâng, bạn phải thay đổi quy trình của mình thành: 1) Tuyên bố mong muốn chỉnh sửa sản xuất. 2) Nhận ra sombrero và tắt tất cả các cửa sổ khác. 3) Làm công cụ sản xuất trong khi mọi người đang xem. 4) Đăng xuất khỏi phiên và loại bỏ sombrero.
Aric TenEyck

1
"2) Thoát khỏi sombrero và tắt tất cả các cửa sổ khác" Điều đó sẽ không thực sự hiệu quả trong công ty của tôi, vì đó là bước 2 trong tất cả các bài viết của chúng tôi. Bước 1 tất nhiên là "bật đèn", bởi vì, khi cửa sổ đóng, nó có thể trở nên khá tối trong văn phòng này.
Bắn Parthian

50

Cái lớn nhất tôi đã sử dụng là một sơ đồ đặt tên riêng biệt trong đó các hệ thống prod được đặt tên rõ ràng khác với các phiên bản test / dev. Điều này làm cho lời nhắc kiểu "Tên người dùng @ Tên máy chủ:" khác biệt rõ ràng. Và rõ ràng tôi có ý nghĩa nhiều hơn là chỉ các từ khác nhau, các định dạng khác nhau:

ví dụ: PRD-WEB001 so với -BOB-WEB001

Điều này có một số thứ sẽ cho nó:

  • Khối được thêm vào làm cho nó trở thành một bộ ba thay vì một bộ hai.
  • Đầu tiên của bộ là một chiều dài khác nhau.
  • Độ dài tổng thể của các tên khác nhau rõ rệt, điều này làm cho khoảng cách dòng lệnh khác nhau so với nhau và văn bản khác trong cửa sổ.

Và tốt nhất, nó không yêu cầu cấu hình thiết bị đầu cuối đặc biệt để sản xuất chỉ để tránh lỗi Oops.

Theo kinh nghiệm của tôi, bạn muốn một cái gì đó là một lời nhắc nhở liên tục về nơi bạn đang ở. Các phương thức đăng nhập như câu đố rất tốt trong khoảng 10 giây, cho đến khi bạn quên cửa sổ nào. Tất cả chỉ là làm một lsthư mục sai để cuộn banner đăng nhập đáng ngại ra khỏi màn hình, chôn cửa sổ terminal dưới cửa sổ trình duyệt trong khi googling một cái gì đó, alt-tab trở lại cửa sổ sai và xảy ra tình trạng lộn xộn. Tốt nhất để có một số dấu hiệu trực quan liên tục như một dấu nhắc lệnh khác biệt đáng kể.


Điều đó hoạt động thực sự tốt cho các hệ thống cơ bản, nhưng ngay khi bạn thay đổi một dev- * thành pro- * các nhà phát triển rên rỉ và rên rỉ khi một nửa các liên kết của họ ngừng hoạt động (cho dù bạn đã thực hiện bao nhiêu lần trước đó), và đôi khi hệ thống tự khập khiễng hoạt động một nửa cho đến khi bạn sửa tất cả các tham chiếu đến tên cũ trong các tệp cấu hình. Đặc biệt với phần mềm độc quyền được cài đặt và bí danh DNS chỉ giúp rất nhiều. Thậm chí tệ hơn, thật dễ dàng để quên hoàn toàn lời nhắc trong khi chuyển đổi cửa sổ.
SilverbackNet

Các nhà phát triển cần tạo các cài đặt hoạt động trên dev / test / staging / sản xuất (đó là những gì tôi làm, nhưng đó là một câu chuyện khác). Để biết 'dấu nhắc đỏ' hoạt động cho bash (khó hơn dường như), hãy xem câu trả lời của tôi tại serverfault.com/a/479718/79266
RichVel

39

Một điều bạn cần lưu ý là điều này cần phải là một lời nhắc nhở liên tục, không chỉ là một chỉ báo khi đăng nhập. Rất thường xuyên, ai đó sẽ có một số shell chạy cùng lúc trong các tab khác nhau và di chuyển giữa chúng. Một số sẽ được dev, một số sản xuất. Vì vậy, khi bạn đang chạy một lệnh, bạn cần phải có một chỉ báo tại thời điểm đó. Vì vậy, có một dấu nhắc đặc biệt là phương pháp tốt nhất, theo kinh nghiệm của tôi, với thanh tiêu đề / tab được sửa đổi là một bổ sung tốt cho việc tìm kiếm cửa sổ / tab bên phải một cách dễ dàng.

Vì vậy, tôi khuyên bạn nên có một dấu nhắc màu (màu đỏ là lựa chọn rõ ràng) và tất cả các chữ hoa cho tên máy chủ, với hành vi tương tự cho người dùng (đặc quyền so với không đặc quyền) như lời nhắc của bạn. Vài ví dụ:

ví dụ gợi ý màu

Thường là một cái gì đó như

set prompt =  "%{\033[1;44m%}`whoami`@`hostname -s`#%{\033[0m%} "` 

trong tập tin khởi động shell của bạn. Cái này là cho màu xanh. Thay thế 44bằng 41màu đỏ linh sam, và 42cho màu xanh lá cây. Màu sắc khác và các mẫu hoang dã có sẵn quá .


Đối với một 'dấu nhắc đỏ' hoạt động cho bash (khó hơn là có vẻ như vậy), hãy xem câu trả lời của tôi tại serverfault.com/a/479718/79266 - cũng hiển thị chi nhánh git, thư mục hiện tại bị cắt, v.v.
RichVel 17/2/13

14

Đây là những gợi ý của tôi:

1) Đảm bảo hầu hết các lệnh (rm, chown, chmod, /etc/init.d/*) trên môi trường Sản xuất yêu cầu quyền truy cập sudo

2) Sử dụng PS1 / PS2 để cho biết rằng người dùng đang ở trong máy chủ Prod

bash-3.2$  export PS1="[\u@\h \W]\$ "

Điều này sẽ hiển thị dấu nhắc lệnh như

[sridhar@prodappserver901 conf]$

3) Nếu sử dụng ứng dụng khách Putty / SSH, Bạn luôn có thể thiết lập màu sắc / cấu hình nền duy nhất để làm cho các máy chủ sản xuất nổi bật.


# 1 là một ý tưởng thú vị nhưng không thực tế vì các tập lệnh chạy như người dùng daemon có thể cần sử dụng rm, chmod, v.v.
Zan Lynx

13

Chỉ cần xem xét rằng ý tưởng thứ hai và thứ ba của bạn sẽ giúp ích trong quá trình kết nối ban đầu nhưng không có giá trị khi bạn mở nhiều thiết bị đầu cuối và chuyển từ thiết bị này sang thiết bị khác. Ý tưởng sử dụng đặt tên của sysadmin1138 là tốt khi có thể áp dụng nhưng có rất nhiều trường hợp không thể.

Điều duy nhất tôi thấy thực sự đáng giá là một dấu nhắc màu. Tôi thích màu xanh lá cây cho dev / thử nghiệm, màu đỏ cho sản xuất và màu xanh cho máy móc trong DMZ. Bằng cách đó, ngay cả khi tôi có hai máy có cùng tên (trong các mạng khác nhau), chẳng hạn như khi chuẩn bị máy thay thế, tôi vẫn có thể dễ dàng biết tôi đang dùng máy nào.


11

Dấu nhắc lệnh màu đỏ / đặc biệt là tốt. Một điều nữa có thể là tự động đăng xuất nhanh hơn trên các máy đó bằng biến TMOUT. Nếu bạn đã mở nhiều cửa sổ, các cửa sổ sản xuất sẽ biến mất nhanh hơn.

Điều này sẽ dẫn đến một hành vi khác:

  1. Phát triển, xây dựng
  2. Kiểm tra
  3. Thay đổi máy chủ của bạn
  4. Chỉ sau đó thực hiện nhanh chóng để sản xuất và triển khai ở đó (chính xác như bạn đã làm trên máy chủ dàn dựng)

9

Làm việc trên một máy sản xuất với một tài khoản root đơn giản không bao giờ là một ý tưởng tốt.

Có một tài khoản với quyền sudo đầy đủ. Không cho phép lưu phiên sudo. Cấm sudo su. Sử dụng mật khẩu riêng cho nó (không phải mật khẩu bạn có cho máy dev của bạn). Có lẽ điều chỉnh sudo để thông báo về danh tính sản xuất của shell trước khi thực hiện lệnh (thông qua bí danh).

Nó sẽ làm cho những sai lầm vô tình khá khó khăn. Và dấu nhắc màu đỏ không bao giờ làm tổn thương.


và bởi "sudo su" bạn có nghĩa là "sudo -i" hoặc ít nhất là "sudo su -", phải không?
Sparr

Whoa! đó là Sparr! Thế giới nhỏ bé :)
Sionide21

1
Không thể ngăn mọi người có vỏ gốc. ( sudo bash). Bạn có thể lấy shell gốc từ bất kỳ thiết lập 'danh sách đen' nào. (Nếu cẩn thận, bạn có thể dừng nó với thiết lập danh sách trắng, nhưng thường không được bảo đảm.)
user606723

1
Nó không có nghĩa là ngăn chặn quyền truy cập có chủ đích vào shell root - chỉ một số cách phổ biến mà mọi người đã quen với việc họ có thể làm điều đó trong tiềm thức mà không cần chú ý.
Mihails Giorgun

8

Tôi đã đi với ý tưởng dấu nhắc màu đỏ, và thấy khá tẻ nhạt khi tìm mã làm việc cho .bashrc.

Vì vậy, đây là phiên bản của tôi, sẵn sàng để được đưa vào .bashrc- https://github.com/RichVel/nicer-bash-prompt . Nó hoàn toàn được thúc đẩy bởi tên máy, do đó, miễn là bạn có một mô hình phù hợp với hostname sản xuất (ví dụ xyprod01, xyprod02, vv) nó sẽ làm việc tốt, và bạn có thể sử dụng cùng .bashrctrong tất cả các môi trường.

Nó trông như thế này:

ảnh chụp màn hình dấu nhắc màu đỏ

Điều này tạo ra một dấu nhắc bash đẹp hơn bao gồm dấu nhắc màu đỏ trên các máy chủ sản xuất - cũng hiển thị cho bạn nhánh git hiện tại và 2 thư mục cuối cùng trong $ PWD. Cần cẩn thận để tránh làm rối màn hình nhắc khi thực hiện Ctrl / R (tìm kiếm ngược) trong bash.

Cũng bao gồm một tính năng tùy chọn để đồng bộ hóa lịch sử bash của bạn trên tất cả các cửa sổ đầu cuối, dọc theo dòng của câu trả lời này . Điều này là tốt nhưng không phải ai cũng muốn nó, vì vậy nó bị tắt theo mặc định.


5

Mặc dù tôi không biết thiết lập CNTT của bạn là như thế nào, một giải pháp có thể hiệu quả là có một phòng đặc biệt mà bạn phải chuyển đến SSH vào các máy chủ sản xuất với quyền root. Nếu bạn có một trung tâm dữ liệu thì đây có thể là phòng máy chủ, nhưng có một vị trí vật lý riêng biệt mà công việc 'bình thường' không được thực hiện sẽ phục vụ hiệu quả như một lời nhắc nhở liên tục rằng bạn đang truy cập vào các máy sản xuất.


2
Trong khi điều đó chắc chắn sẽ có hiệu quả, đối với hầu hết các tình huống, nó cũng sẽ cực kỳ phản tác dụng.
John Gardeniers

Tôi đồng ý với John, nhưng đây chắc chắn là điều cần suy nghĩ.
dùng606723

@JohnGardeniers: phản tác dụng? Bạn có nghĩa là nó sẽ làm giảm năng suất?
LarsH

@LarsH, việc không cần thiết phải đi vào các phòng khác nhau để thực hiện các phần khác nhau trong công việc của bạn chắc chắn sẽ làm giảm năng suất. Toàn bộ mạng của bạn phải được quản lý từ một vị trí.
John Gardeniers

@JohnGardeniers: đã hiểu. Khi ban đầu bạn nói "phản tác dụng" tôi nghĩ bạn có nghĩa là tác dụng của nó trái với mục đích đã nêu, tức là dùng như một lời nhắc nhở liên tục rằng bạn đang truy cập vào các máy sản xuất.
LarsH

4

Chỉ là một điều chỉnh về các đề xuất trên. Tôi sử dụng CDE làm máy tính để bàn unix của tôi và tất cả các hệ thống sản xuất tôi truy cập thông qua một menu trong .dt / dtwmrc. Trên tất cả các hệ thống dev và UAT, tôi giữ sơ đồ màu bình thường nhưng trên các hệ thống prod tôi đặt thiết bị đầu cuối có nền màu đỏ. Tôi không thích vẻ ngoài nhưng đó là loại quan điểm.

eta - bỏ lỡ đề nghị của Karol về cơ bản là điều tương tự


4

Khi tôi đăng nhập vào một máy sản xuất, tôi nhận được một đoạn cảnh báo tôi rằng đó là một máy sản xuất, cũng như một danh sách ngắn các hướng dẫn. Có một số tôi có thể gọi cho bộ phận hỗ trợ UNIX nếu tôi không nghĩ rằng tôi có thể thực hiện nhiệm vụ của mình một cách an toàn, một lời nhắc nhở rằng làm nổ tung máy sản xuất có thể khiến tôi mất việc và một lời nhắc nhở rằng mọi thứ tôi làm đều được ghi lại.

chỉnh sửa: Tôi làm việc trong ngành vận tải.


Ôi. Mặc dù tôi có thể hiểu nhu cầu này, tôi rất vui vì tôi không làm việc trong môi trường như vậy.
LarsH

1
Tôi rất vui vì tôi làm - Tôi làm việc trong lĩnh vực vận tải và các hệ thống này không chỉ tốn tiền khi chúng bị hỏng, chúng còn phải trả giá.
Basil

Tôi rất vui vì bạn cũng cẩn thận!
LarsH

3

Trong PuTTY, bạn có thể thay đổi tiêu đề của cửa sổ thành một cái gì đó khác với mặc định cho một phiên đã lưu cụ thể. Điều này luôn luôn còn trên cửa sổ cho dù bạn làm gì bên trong cửa sổ. Điều này cũng hiển thị trong thanh nhiệm vụ.

Mở rộng cửa sổ, nhấp vào Hành vi. Nhập một cái gì đó trong Tiêu đề cửa sổ như:

  * * * * * * * * * * * * PRODUCTION  * * * * * * * * * * * * PRODUCTION  * * * * * * * * * * * *

3

Câu trả lời đơn giản? Thay đổi màu vỏ của bạn thành màu đỏ trong cấu hình vỏ. Nó sẽ là rõ ràng và đơn giản để thiết lập. Không chỉ vậy, nhưng không giống như các tiêu đề máy chủ, nó sẽ không biến mất sau khi bạn nhập một vài lệnh.


3

Đây là những gì tôi đã làm trên máy Mac của mình. Đối với mọi máy chủ, tôi thêm một mục nhập cho nó trong tệp ~ / .ssh / config của mình, vd

Host app13
    HostName server.example.com
    User tom
    PermitLocalCommand yes
    LocalCommand osascript %d/bin/change_terminal_colours.scpt 12 35 35

Bản sao này được kích hoạt sau khi phiên SSH được thiết lập. Nó đặt màu nền của thiết bị đầu cuối thành các giá trị RGB được cung cấp (hoặc trở về mặc định nếu không có giá trị màu nào được cung cấp). Phần khó khăn tiềm tàng là chặn kết thúc phiên SSH để đặt màu trở lại mặc định. Vì thế, tôi đã tạo tập lệnh shell sau đây là ~ / bin / ssh để ghi đè lệnh ssh mặc định. Điều này về cơ bản chặn và kết thúc mọi cuộc gọi đến lệnh SSH. Tôi đã thử sử dụng răng cưa và các chức năng, nhưng giải pháp này hoạt động tốt nhất:

#!/bin/bash
/usr/bin/ssh $@
osascript ~/bin/change_terminal_colours.scpt

Đây là nguồn cho tập lệnh change_terminal_colours.scpt . Đặt cái này trong thư mục ~ / bin của bạn cũng:

on run argv
    tell application "Terminal"
        # NOTE: Color values range from 0 to 65535.
        if (count of argv) > 0 then
            set backgroundColor to {(item 1 of argv) * 256, (item 2 of argv) * 256, (item 3 of argv) * 256}
        else
            set backgroundColor to background color of default settings
        end if

        try
            set background color of (selected tab of front window) to backgroundColor
        end try
    end tell
end run

Tôi đã viết giải pháp này một tuần trước và đã sử dụng nó kể từ đó. Tôi hy vọng những người khác tìm thấy nó có giá trị. Tôi thấy nó hoạt động tốt hơn bất kỳ giải pháp nào tôi tìm thấy bởi Googling.


3

Nhóm của tôi sử dụng Visionapp Remote Desktop (chỉnh sửa năm 2017: có vẻ như sản phẩm đã được đổi tên nhưng tôi nghĩ nó giống nhau) cho cả RDP vào máy Windows và SSH sang Linux. Các kết nối của chúng tôi được nhóm vào các thư mục theo tầng và được chỉ định màu tab.

Vì vậy, bất cứ khi nào chúng tôi mở một kết nối sản xuất - bam! - chúng tôi nhận được một số màu đỏ tươi trên khuôn mặt của chúng tôi:

nhập mô tả hình ảnh ở đây

Đây chắc chắn là một khoản đầu tư đáng giá nếu bạn là một cửa hàng Windows lớn và dựa vào RDP rất nhiều. Tôi cá là có những công cụ tuyệt vời khác nếu tất cả những gì bạn cần là SSH.


2

Ngoài một dấu nhắc duy nhất (dường như là giải pháp đáng tin cậy nhất), nếu bạn đăng nhập từ cùng một máy trạm, bạn có thể sử dụng các cấu hình khác nhau cho các phiên SSH của mình.

Chẳng hạn, tôi có nền màu đỏ cho các hệ thống sản xuất, màu xanh lá cây để phát triển, màu xanh cho cơ sở hạ tầng (bộ định tuyến, v.v.) và màu trắng cho máy trạm cục bộ.

Nếu bạn sử dụng Gnome, có một cách dễ dàng để kích hoạt kết nối SSH với hồ sơ bạn muốn:

gnome-terminal --window-with-profile=production -e 'ssh root@production.example.com'

Nhược điểm chính - đó là phía khách hàng, vì vậy lời nhắc đặc biệt vẫn là lựa chọn tốt nhất của bạn nếu bạn truy cập các máy chủ từ các vị trí khác nhau.


2

Một cách khác để làm rõ rằng bạn đang ở trong một hệ thống sản xuất là đặt tính năng TMOUT (tự động bật) trên hệ thống sản xuất.


1
Làm thế nào mà làm cho nó rõ ràng? Nó cũng có khả năng rất nguy hiểm, vì các lệnh hoặc quy trình có thể đang chạy và sẽ đột nhiên bị hủy bỏ bằng cách đăng xuất phiên.
John Gardeniers

3
Tôi vừa kiểm tra TMOUT và có vẻ như nếu một lệnh chạy dài đang chạy thì nó không chấm dứt phiên. Nó chỉ chấm dứt khi bạn đang ngồi tại dấu nhắc lệnh. Nils cũng đề nghị điều này và nó có ý nghĩa với tôi.
sjbotha

1
Đó là điều thực sự tốt đẹp về TMOUT. Chúng tôi đã sử dụng autolog hoặc thậm chí killerd trước khi chúng tôi phát hiện ra TMOUT. autolog và killerd KHÔNG phải là tốt đẹp. killerd cũng có lỗi và có xu hướng chặn một CPU hoàn chỉnh ...
Nils

2

Do các yêu cầu pháp lý rộng lớn khi làm việc trong một ngành cụ thể, tại đây các hoạt động của mọi người đều được ghi lại cho bất kỳ tranh chấp nào trong tương lai. Vì lý do đó, quyền truy cập cũng bị hạn chế và bạn phải chuyển qua một vài "menu" cho phép bạn truy cập vào máy như một trong những người dùng đáng tin cậy. Bằng cách thiết lập hệ thống này, mọi người phải chọn môi trường SẢN XUẤT hoặc QA và sau đó chọn máy chủ họ muốn truy cập từ danh sách. Điều này cũng có một khoảng thời gian chờ để bạn không gặp phải tình trạng đăng nhập vào máy chủ prod và quên đi môi trường nào bạn đang ở vào ngày hôm sau.


2

tôi sử dụng các thay đổi nhanh chóng như những người khác ở đây. Nó nhanh chóng và khó chịu nhưng hoạt động tốt cho mục đích của tôi. Nó sẽ cung cấp cho bạn màu đỏ như một người dùng bình thường trên một hệ thống sản xuất và chữ hoa màu đỏ là root trên hệ thống prod.

Nó có thể được viết trong ít dòng hơn nhưng tôi làm nó như thế này vì vậy tôi có thể điều chỉnh 2 trường hợp khác (không root-non prod) nếu tôi muốn.

Chúng tôi làm việc với giả định rằng một máy chủ sản xuất không sử dụng DHCP, nhưng bạn có thể sử dụng bất kỳ phương pháp nào khác để xử lý nếu đó là một hệ thống prod. Bất cứ điều gì làm việc cho bạn.

productionSrv=1
grep -qi bootproto=dhcp /etc/sysconfig/network-scripts/ifcfg-*
if [ "$?" -eq 0 ]; then
    productionSrv=0
fi
hostName=`hostname`
userName=`whoami`
if [ $userName == "root" ]
then
    if [ "$productionSrv" == 1 ]
    then
        hostName=`echo $hostName | tr [:lower:] [:upper:]`
        PS1='[\e[0;31m]\u[\e[0m]@[\e[0;31m]$hostName[\e[0m][$?][\e[0;31m][\W][\e[0m][\e[0;31m]\$[\e[0m]: '
    else
        PS1='[\e[0;31m]\u[\e[0m]@[\e[0;35m]$hostName[\e[0m][$?][\e[0;31m][\W][\e[0m][\e[0;31m]\$[\e[0m]: '
    fi
    PATH=$PATH:/sbin/
else
    if [ "$productionSrv" == 1 ]
    then
        PS1='[\e[0;32m]\u[\e[0m]@[\e[0;31m]$hostName[\e[0m][$?][\e[0;31m][\W][\e[0m][\e[0;32m]\$[\e[0m]: '
    else
        PS1='[\e[0;32m]\u[\e[0m]@[\e[0;35m]$hostName[\e[0m][$?][\e[0;31m][\W][\e[0m][\e[0;32m]\$[\e[0m]: '
    fi
fi


Mặc dù tập lệnh rất thú vị, giả định IP tĩnh chỉ trên các hệ thống sản xuất không phổ biến. Trong hầu hết các trường hợp, tất cả các máy chủ sẽ có IP tĩnh, cả phát triển và sản xuất.
Martijn Heemels

1
ngựa cho các khóa học thực sự. hệ thống dev của chúng tôi sử dụng đặt phòng dhcp. Bạn có thể sử dụng bất kỳ hệ thống nào phù hợp với bạn, chẳng hạn như so sánh tên máy chủ, mạng con, vlan, bất cứ điều gì.
Sirex

@Sirex, Điều ngược lại cũng có thể. Chẳng hạn, VPS EC2 của Amazon sử dụng DHCP tĩnh cho thuê trên các máy chủ sản xuất và IP công cộng được chuyển tiếp. Bản thân cá thể không trực tiếp biết IP công cộng nào đang chạy phía sau, ít nhất là không ở cấp độ giao diện mạng.
Matthew Scharley

1
vâng Bạn luôn có thể có một gói vòng / phút vai trò tạo tệp / etc / SẢN XUẤT và kiểm tra điều đó. Tuỳ bạn thôi.
Sirex

1

Có một mật khẩu gốc (có thể dài hơn) trên các máy sản xuất.

Bạn có thể tạo một sudo đặc biệt (hoặc sudo Wrapper), sao cho một thông điệp đặc biệt là đầu ra cho các máy sản xuất.


.. Một mật khẩu root khác trên máy prod? Tại sao tôi không nghĩ về điều đó!?
dùng606723

Ngoài ra, sudo đã có nhiều tùy chọn cấu hình. Tôi sẽ ngạc nhiên nếu bạn không thể làm điều này. Một sudo tùy chỉnh là ý tưởng khủng khiếp vì nó sẽ không được thử nghiệm đủ để có được bit suid.
dùng606723

1

Ở đây, chúng ta có các cấu hình putty mặc định để làm cho màu nền trước của toàn bộ màn hình là màu hồng sáng.

  • Prod: màu hồng sáng.
  • Hồi quy: xanh nhạt
  • Mẫu: xanh nhạt
  • Dev: bình thường

Nó hoạt động khá tốt, nhưng tôi thích một số ý tưởng khác ở đây.

  • Pro: trừ khi một cái gì đó không sử dụng màu nền trước .., MỌI màn hình prod có màu hồng sáng.
  • Con: Rõ ràng nếu bạn ssh thông qua một cái gì đó ngoài cấu hình putty mặc định thì điều này không có gì.

1

trong .bashrc / .bash_profile

echo " THIS IS THE PRODUCTION SYSTEM. BE RESPONSIBLE.. " .. 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.