Thứ hai, 15/06/2020 | 00:00 GMT+7

Cách bắt đầu với FreeBSD

FreeBSD là một hệ điều hành an toàn, hiệu suất cao, phù hợp với nhiều loại role server . Trong hướng dẫn này, ta sẽ trình bày một số thông tin cơ bản về cách bắt đầu với server FreeBSD.

Hướng dẫn này nhằm cung cấp một cài đặt chung cho các server FreeBSD, nhưng xin lưu ý các version FreeBSD khác nhau có thể có các chức năng khác nhau. Tùy thuộc vào version FreeBSD mà server của bạn đang chạy, hướng dẫn được cung cấp ở đây có thể không hoạt động như mô tả.

Đăng nhập bằng SSH

Bước đầu tiên bạn cần thực hiện để bắt đầu cấu hình server FreeBSD là đăng nhập.

Trên DigitalOcean, bạn phải cung cấp SSH key công khai khi tạo server FreeBSD. Khóa này được thêm vào version server , cho phép bạn đăng nhập an toàn từ máy local của bạn bằng private key được liên kết. Để tìm hiểu thêm về cách sử dụng SSH key với FreeBSD trên DigitalOcean, hãy làm theo hướng dẫn này .

Để đăng nhập vào server của bạn , bạn cần biết địa chỉ IP công cộng của server . Đối với server DigitalOcean, bạn có thể tìm thấy thông tin này trong console . Tài khoản user chính có sẵn trên các server FreeBSD được tạo thông qua DigitalOcean được gọi là freebsd . Tài khoản user này được cấu hình với các quyền sudo , cho phép bạn hoàn thành các việc quản trị.

Để đăng nhập vào server FreeBSD của bạn, hãy sử dụng lệnh ssh . Bạn cần chỉ định account user freebsd cùng với địa chỉ IP công cộng của server của bạn:

  • ssh freebsd@your_server_ip

Bạn sẽ được tự động xác thực và đăng nhập. Bạn sẽ được đưa vào giao diện dòng lệnh.

Thay đổi Shell mặc định thành tcsh (Tùy chọn)

Nếu bạn đã đăng nhập vào DigitalOcean Server chạy FreeBSD 11, bạn sẽ thấy một dấu nhắc lệnh rất nhỏ trông giống như sau:

Nếu bạn mới làm việc với FreeBSD, dấu nhắc này có thể hơi xa lạ với bạn. Hãy cùng tìm hiểu rõ về loại môi trường ta đang làm việc. Chạy lệnh sau để xem shell mặc định cho user freebsd của bạn là gì:

  • echo $SHELL
Output
/bin/sh

Trong kết quả này, bạn có thể thấy rằng shell mặc định cho user freebsdsh ( còn gọi là trình bao Bourne ). Trên các hệ thống Linux, sh thường là alias của bash , một phần mềm miễn phí thay thế cho Bourne shell bao gồm một vài tính năng bổ sung. Tuy nhiên, trong FreeBSD, nó thực sự là chương trình shell sh cổ điển, chứ không phải là một alias .

Shell dòng lệnh mặc định cho FreeBSD là tcsh , nhưng DigitalOcean Server chạy FreeBSD sử dụng sh theo mặc định. Nếu bạn muốn đặt tcsh làm shell mặc định của user freebsd , hãy chạy lệnh sau:

  • sudo chsh -s /bin/tcsh freebsd

Lần tiếp theo khi bạn đăng nhập vào server của bạn , bạn sẽ thấy dấu nhắc tcsh thay vì dấu nhắc sh . Bạn có thể gọi shell tcsh cho phiên hiện tại bằng lệnh:

  • tcsh

Dấu nhắc của bạn sẽ ngay lập tức thay đổi thành như sau:

Nếu bạn muốn quay lại shell Bourne, bạn có thể làm như vậy bằng lệnh sh .

Mặc dù tcsh thường là shell mặc định cho các hệ thống FreeBSD, nhưng nó có một số cài đặt mặc định mà user có xu hướng tự điều chỉnh, chẳng hạn như editor và máy nhắn tin mặc định, cũng như hành vi của một số phím nhất định. Để minh họa cách thay đổi một số mặc định này, ta sẽ sửa đổi file cấu hình của shell .

Một file cấu hình mẫu đã có trong hệ thống file . Sao chép nó vào folder chính của bạn để bạn có thể sửa đổi nó theo ý muốn:

  • cp /usr/share/skel/dot.cshrc ~/.cshrc

Sau khi file đã được sao chép vào folder chính của bạn, bạn có thể chỉnh sửa nó. Editor vi được bao gồm trên hệ thống theo mặc định, nhưng nếu bạn muốn một editor đơn giản hơn, bạn có thể thử editor ee để thay thế:

  • ee ~/.cshrc

Khi xem qua file này, bạn có thể quyết định những mục nhập nào bạn có thể cần sửa đổi. Đặc biệt, bạn có thể cần thay đổi các mục setenv để có các giá trị mặc định cụ thể mà bạn có thể quen thuộc hơn.

~ / .cshrc
. . .  setenv  EDITOR  vi setenv  PAGER   more  . . . 

Nếu bạn không quen với trình soạn thảo vi và muốn có một môi trường chỉnh sửa cơ bản hơn, bạn có thể thay đổi biến môi trường EDITOR thành thông tin như ee . Hầu hết user sẽ muốn thay đổi PAGER thành less thay vì more . Điều này sẽ cho phép bạn cuộn lên và xuống trong các trang nam mà không cần thoát khỏi máy nhắn tin:

~ / .cshrc
. . . setenv  EDITOR  ee setenv  PAGER   less . . . 

Một thứ khác mà bạn có thể sẽ muốn thêm vào file cấu hình này là một khối mã sẽ ánh xạ chính xác một số phím bàn phím của bạn bên trong phiên tcsh . Ở cuối file , hãy thêm mã sau. Nếu không có những dòng này, DELETE và các phím khác sẽ không hoạt động chính xác:

~ / .cshrc
. . . if ($term == "xterm" || $term == "vt100" \             || $term == "vt102" || $term !~ "con*") then           # bind keypad keys for console, vt100, vt102, xterm           bindkey "\e[1~" beginning-of-line  # Home           bindkey "\e[7~" beginning-of-line  # Home rxvt           bindkey "\e[2~" overwrite-mode     # Ins           bindkey "\e[3~" delete-char        # Delete           bindkey "\e[4~" end-of-line        # End           bindkey "\e[8~" end-of-line        # End rxvt endif 

Khi bạn hoàn tất, hãy lưu file bằng cách nhấn CTRL+C , nhập exit , sau đó nhấn ENTER . Nếu thay vào đó, bạn đã chỉnh sửa file bằng vi , hãy lưu file bằng cách nhấn ESC , nhập :wq , rồi nhấn ENTER .

Để làm cho phiên hiện tại của bạn phản ánh những thay đổi này ngay lập tức, hãy ghi nguồn file cấu hình:

  • source ~/.cshrc

Nó có thể không rõ ràng ngay lập tức, nhưng các phím Home , Insert , DeleteEnd sẽ hoạt động như mong đợi ngay bây giờ.

Một điều cần lưu ý tại thời điểm này là nếu bạn đang sử dụng tcsh hoặc csh shell, bạn cần thực hiện lệnh rehash khi nào có bất kỳ thay đổi nào có thể ảnh hưởng đến đường dẫn thực thi. Các tình huống phổ biến trong đó điều này có thể xảy ra khi bạn đang cài đặt hoặc gỡ cài đặt ứng dụng.

Sau khi cài đặt chương trình, bạn có thể cần phải nhập mã này để shell tìm các file ứng dụng mới:

  • rehash

Cùng với đó, shell tcsh không chỉ được đặt làm mặc định của user freebsd của bạn mà còn có thể sử dụng được nhiều hơn.

Đặt bash làm Shell mặc định (Tùy chọn)

Nếu bạn quen thuộc hơn với bash shell và muốn sử dụng nó làm shell mặc định của bạn , bạn có thể thực hiện điều chỉnh đó trong một vài bước ngắn.

Lưu ý: bash không được hỗ trợ trên FreeBSD 11.1 và các hướng dẫn trong phần này sẽ không hoạt động cho version cụ thể đó.

Trước tiên, bạn cần cài đặt bash shell bằng lệnh :

  • sudo pkg install bash

Bạn sẽ được yêu cầu xác nhận bạn muốn download gói. Làm như vậy bằng cách nhấn y và sau đó ENTER .

Sau khi cài đặt xong, bạn có thể bắt đầu bash bằng lệnh:

  • bash

Thao tác này sẽ cập nhật dấu nhắc shell của bạn trông giống như sau:

Để thay đổi shell mặc định của freebsd thành bash , có thể chạy lệnh:

  • sudo chsh -s /usr/local/bin/bash freebsd

Lần tiếp theo bạn đăng nhập, bash shell sẽ được khởi động tự động thay vì mặc định hiện tại.

Nếu bạn muốn thay đổi máy nhắn tin hoặc trình soạn thảo mặc định trong bash shell, bạn có thể thực hiện việc này trong file có tên ~/.bash_profile . Điều này sẽ không tồn tại theo mặc định, vì vậy bạn cần tạo nó:

  • ee ~/.bash_profile

Bên trong, để thay đổi máy nhắn tin hoặc editor mặc định, hãy thêm các lựa chọn của bạn như sau:

~ / .bash_profile
export PAGER=less export EDITOR=ee 

Lưu file khi bạn hoàn tất bằng cách nhấn CTRL+C , nhập exit , sau đó nhấn ENTER .

Để thực hiện các thay đổi ngay lập tức, hãy ghi source file :

  • source ~/.bash_profile

Nếu bạn muốn thực hiện thêm các thay đổi đối với môi trường shell của bạn , chẳng hạn như cài đặt alias lệnh đặc biệt hoặc cài đặt các biến môi trường, bạn có thể mở lại file đó và thêm các thay đổi mới vào file đó.

Đặt password root (Tùy chọn)

Theo mặc định, server FreeBSD không cho phép đăng nhập ssh cho account gốc bằng password . Mặc dù xác thực public key sẽ hoạt động, Trên DigitalOcean, policy này đã được bổ sung để yêu cầu user đăng nhập bằng account freebsd .

Vì account user root không thể truy cập được qua SSH, nên việc đặt password account root là tương đối an toàn. Trong khi bạn sẽ không thể sử dụng điều này để đăng nhập thông qua SSH, bạn có thể sử dụng password này để đăng nhập như là user root thông qua giao diện điều khiển DigitalOcean web.

Để đặt password gốc , hãy nhập:

sudo passwd 

Bạn cần chọn và xác nhận password cho account gốc . Như đã đề cập ở trên, bạn vẫn sẽ không thể sử dụng điều này để xác thực SSH (đây là một quyết định bảo mật), nhưng bạn có thể sử dụng nó để đăng nhập thông qua console DigitalOcean.

Để làm như vậy, hãy nhấp vào nút Control panel ở góc trên bên phải của trang Server để hiển thị console web:

 Control panel  web DigitalOcean

Nếu bạn chọn không đặt password và bị khóa server của bạn (ví dụ: nếu bạn vô tình đặt các luật firewall quá hạn chế), bạn luôn có thể đặt password sau bằng cách khởi động Server của bạn vào chế độ user duy nhất. Ta có một hướng dẫn chỉ cho bạn cách thực hiện điều đó tại đây .

Kết luận

Bây giờ, bạn đã biết cách đăng nhập vào server FreeBSD và cách cài đặt môi trường bash shell. Bước tiếp theo là làm quen với một số kiến thức cơ bản về FreeBSD cũng như những gì làm cho nó khác với các bản phân phối dựa trên Linux.

Khi bạn đã quen với FreeBSD và cấu hình nó theo nhu cầu của bạn , bạn có thể tận dụng nhiều hơn tính linh hoạt, bảo mật và hiệu suất của nó.


Tags:

Các tin liên quan