Giới thiệu
Với sự ra đời của dịch vụ siêu dữ liệu DigitalOcean, ta có thể bắt đầu cấu hình máy chủ của bạn trước khi bạn ngay cả khi đăng nhập. Trong ngắn hạn, các dịch vụ siêu dữ liệu là một địa điểm HTTP mà máy chủ của bạn có thể truy cập trong quá trình khởi động.
Vị trí siêu dữ liệu sẽ chứa các dữ liệu cơ bản về cấu hình của máy chủ và môi trường, chẳng hạn như địa chỉ mạng, tên máy chủ, vv. Trong khi thiết lập ban đầu, các giá trị này có thể được kéo xuống bởi một chương trình được gọi là đám mây-init để giúp cấu hình dịch vụ thiết yếu.
Các tính năng mạnh mẽ nhất là rằng bạn có thể vượt qua một kịch bản để dịch vụ siêu dữ liệu khi bạn tạo một server của bạn bằng cách sử dụng một lĩnh vực được gọi là dữ liệu người dùng. Điều này sẽ được chạy trong quá trình khởi động đầu tiên và là rất linh hoạt, cho phép bạn thực hiện bất cứ điều gì bạn có thể kịch bản.
Loại phổ biến nhất của kịch bản để vượt qua trong được gọi là một kịch bản đám mây-config. Đây là một tập tin định dạng YAML cung cấp phương pháp đơn giản, có thể đọc được thiết lập thường thấy trong các cấu hình bởi tuyên bố. Nó cũng có khả năng chạy bất kỳ lệnh cho các nhiệm vụ khác.
Trong hướng dẫn này, chúng tôi sẽ làm quen với các DigitalOcean siêu dữ liệu dịch vụ và đám mây-config tập tin bằng cách cố gắng ra một ví dụ đơn giản. Chúng tôi sẽ tái tạo một số các bước được nêu trong các thiết lập ban đầu máy chủ Ubuntu 14,04 cho hướng dẫn để chứng minh.
Mục tiêu
Để thành công nhân rộng các bước trong hướng dẫn thiết lập ban đầu máy chủ Ubuntu 14,04, kịch bản của chúng tôi sẽ phải làm một số công việc.
Đây là nhiệm vụ cơ bản hoàn thành các hướng dẫn ở trên:
Thay đổi mật khẩu người dùng root
Tạo người dùng mới
Tạo mật khẩu của người dùng mới
Cung cấp cho người dùng mới quyền người chủ
(Tùy chọn) Thay đổi cổng lắng nghe các daemon SSH trên
(Tùy chọn) Hạn chế root SSH đăng nhập
(Tùy chọn) Một cách rõ ràng cho phép người sử dụng mới của chúng tôi
Sửa đổi các mục tiêu để giải quyết môi trường
Cho các máy chủ của chúng tôi tạo ra với một tập tin cấu hình đám mây, chúng tôi sẽ phải thay đổi mục tiêu của chúng tôi một chút. Bất kỳ thông tin nào được thông qua vào thông qua một tập tin cấu hình đám mây có thể truy cập để bất kỳ người sử dụng của hệ thống cho toàn bộ cuộc sống của máy chủ.
Điều này giới thiệu một số vấn đề bảo mật là rất quan trọng để hiểu và giải quyết. Một số điều cần lưu ý là:
Bất kỳ thông tin nào được thông qua vào cấu hình đám mây của bạn có thể truy cập cho mỗi người dùng trên hệ thống. Không đặt bất cứ điều gì bí mật trong tập tin cấu hình đám mây của bạn.
Bạn có thể đặt mật khẩu cho người dùng hiện tại, nhưng bạn phải vượt qua nó trong văn bản thuần tuý.
Cho người dùng mới, bạn có thể vượt qua trong một phiên bản băm nhỏ từng một mật khẩu, nhưng các băm có thể được chia nhỏ rất dễ dàng với phần cứng hiện đại.
Với những điều này trong tâm trí, chúng tôi thiết lập nên làm mọi thứ có thể để tránh cam kết mật khẩu, dưới mọi hình thức, trong tập tin cấu hình đám mây. Chúng tôi có thể điều chỉnh mục tiêu của mình để đáp ứng các nhu cầu cụ thể của môi trường của chúng tôi triển khai.
Chiến lược điều chỉnh của chúng tôi sẽ xem xét một cái gì đó như thế này:
Thiết lập mật khẩu không có và cung cấp không có khoá SSH cho tài khoản người chủ qua đám mây-config (bất kỳ phím SSH thêm mặc dù giao diện DigitalOcean sẽ vẫn được thêm vào như bình thường)
Tạo người dùng mới
Thiết lập không có mật khẩu cho tài khoản người dùng mới
Thiết lập truy cập SSH cho tài khoản người dùng mới
Cung cấp cho người dùng mới sudo mật khẩu-ít đặc quyền để thay đổi hành chính.
(Tùy chọn) Thay đổi cổng lắng nghe các daemon SSH trên
(Tùy chọn) Hạn chế root SSH đăng nhập (đặc biệt là nếu bạn không bao gồm SSH phím thông qua giao diện DigitalOcean)
(Tùy chọn) Một cách rõ ràng cho phép người sử dụng mới của chúng tôi
Bên cạnh việc loại bỏ các mật khẩu cho cả hai tài khoản, thị trấn này có sự thay đổi mạnh mẽ nhất ở đây là tài khoản mới sẽ được phép sử dụng sudo mà không cần nhập mật khẩu tài khoản. Điều này là cần thiết vì chúng tôi không cho phép đăng nhập gốc và chúng tôi không thiết lập một mật khẩu tài khoản cho người dùng mới của chúng tôi.
Sau khi người dùng mới đăng nhập, họ sẽ có quyền tự do để thiết lập một mật khẩu cho mình một cách an toàn và sửa đổi quyền sudo để yêu cầu mật khẩu, nếu muốn.
Với những mục tiêu điều chỉnh trong tâm trí, chúng ta hãy bắt đầu.
Bằng cách sử dụng tập tin cấu hình đám mây
Một tập tin cấu hình đám mây về cơ bản là một tập tin YAML hiểu chỉ thị nhất định. YAML là một định dạng đăng trên dữ liệu được hiểu là rất con người có thể đọc được, làm cho nó đơn giản để hiểu và chỉnh sửa.
YAML tập tin dựa vào một vài quy tắc cho các định dạng:
Thụt lề với khoảng trắng cho biết các cấu trúc và mối quan hệ của các mục với nhau. Mục được thụt vào hơn là tiểu mục của mục đầu tiên với một mức độ thấp của thụt lề trên chúng.
Danh sách thành viên có thể được xác định bởi một dấu gạch ngang hàng đầu.
Mảng kết hợp mục được tạo ra bằng cách sử dụng một tràng (:) theo sau là một không gian và giá trị.
Khối văn bản được thụt vào. Để chỉ ra rằng các khối nên được đọc như-là, với việc sử dụng định dạng duy trì, nhân vật ống (|) trước khi các khối.
Dòng đầu tiên của một tập tin cấu hình đám mây phải chứa một định danh đặc biệt vì vậy mà chương trình đám mây-init biết rằng tập tin là một tập tin cấu hình đám mây. Điều này có vẻ như thế này:
#cloud-config
Điều này phải được đặt một mình trên dòng đầu tiên. Tập tin cấu hình đám mây phải được cung cấp whe
Leave a Reply