Làm Quen Với FreeBSD

By | 1 November, 2018

Giới Thiệu

FreeBSD là một hệ điều hành hiệu năng cao, an toàn phù hợp với nhiều vai trò server khác nhau. Trong hướng dẫn này, tôi sẽ giới thiệu một số thông tin cơ bản về cách bắt đầu với một server FreeBSD.

Hướng dẫn này nhằm cung cấp một thiết lập chung cho các server FreeBSD, nhưng xin lưu ý rằng các phiên bản khác nhau của FreeBSD có thể có các chức năng khác nhau. Tùy thuộc vào phiên bản của FreeBSD mà máy chủ của bạn đang chạy, các hướng dẫn được cung cấp tại đây có thể không hoạt động như được 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 của bạn là đăng nhập.

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

Để đăng nhập vào server của bạn, bạn sẽ cần phải biết địa chỉ public IP của server. Dạn có thể tìm thấy thông tin này trong bảng điều khiển nhà cung cấp cloud mà bạn đang thuê. Tài khoản người dùng chính có sẵn trên các máy chủ FreeBSD được tạo được gọi là freebsd . Tài khoản người dùng này được định cấu hình với các sudođặc quyền, cho phép bạn hoàn tất các tác vụ quản trị.

Để đăng nhập vào máy chủ FreeBSD của bạn, hãy sử dụng ssh lệnh. Bạn sẽ cần phải xác định tài khoản người dùng freebsd cùng với địa chỉ public IP của server:

$ ssh [email protected]your_server_ip

Bạn sẽ được tự động xác thực và đăng nhập. Bạn sẽ được 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 server đang 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, lời nhắc này có thể hơi lạ đối với bạn. Hãy tìm hiểu rõ ràng về môi trường chúng ta đang làm việc. Chạy lệnh sau để xem shell mặc định cho người dùng freebsd của bạn là gì:

$ echo $SHELL
Output/bin/sh

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

Mặc định dòng lệnh shell cho FreeBSD là tcsh, nhưng nhà cung cấp cloud có thể chạy FreeBSD sử dụng shtheo mặc định. Nếu bạn muốn đặt tcshlàm shell mặc định của người dùng freebsd , hãy chạy lệnh sau:

$ sudo chsh -s /bin/tcsh freebsd

Lần sau khi bạn đăng nhập vào máy chủ của mình, bạn sẽ thấy tcsh  thay vì sh. Bạn có thể gọi trình tcsh cho session hiện tại bằng cách chạy:

$ tcsh

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

$ [email protected]:~ %

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

Mặc dù tcshthường là shell mặc định cho các hệ thống FreeBSD, nó có một vài thiết lập mặc định mà người dùng có xu hướng tự tinh chỉnh, chẳng hạn như máy nhắn tin và trình soạn thảo mặc định, cũng như các hành vi của một số khóa nhất định. Để minh họa cách thay đổi một số mặc định này, chúng tôi sẽ sửa đổi tệp cấu hình của trình bao.

Một tệp cấu hình ví dụ đã được bao gồm trong hệ thống tệp. Sao chép nó vào thư mục chính của bạn để bạn có thể sửa đổi nó như bạn muốn:

$ [email protected]:~ % cp /usr/share/skel/dot.cshrc ~/.cshrc

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

$ [email protected]:~ % ee ~/.cshrc

Khi bạn mở tệp này, bạn có thể quyết định những mục nhập nào bạn có thể muốn sửa đổi. Đặc biệt, bạn có thể muố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.

. . .

setenv  EDITOR  vi
setenv  PAGER   more

. . .

Nếu bạn không quen thuộc 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 một biến tương tự ee. Hầu hết người dùng sẽ muốn thay đổi PAGERthành lessthay vì more. Điều này sẽ cho phép bạn di chuyển lên và xuống trong man page mà không thoát khỏi page:

. . .
setenv  EDITOR  ee
setenv  PAGER   less
. . .

Một thứ khác mà bạn có thể muốn thêm vào tệp cấu hình này là một block code sẽ ánh xạ chính xác một số phím bàn phím của bạn bên trong session tcs. Ở cuối tệp, thêm đoạn code sau đây. Không có các dòng này DELETEvà các phím khác sẽ không hoạt động chính xác:

. . .
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, lưu và đóng tệp bằng cách bấm CTRL+C, gõ exit, rồi bấm ENTER. Nếu bạn dùng vi, hãy lưu và đóng tệp bằng cách bấm ESC, gõ :wq, rồi bấm 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 source file cấu hình:

$ [email protected]:~ % source ~/.cshrc

Nó có thể không hoạt động lập tức, nhưng các phím Home , Insert , Delete và End sẽ hoạt động như mong muốn.

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

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

$ [email protected]:~ % rehash

Với câu lệnh này, trình shell tcsh không chỉ được đặt làm mặc định của người dùng freebsd của bạn , mà nó cũng có thể hữu dụng 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 bashshell và muốn sử dụng nó như là 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 đối với phiên bản cụ thể đó.

Trước tiên, bạn cần phải cài đặt trình bash shell bằng cách gõ:

$ sudo pkg install bash

Bạn sẽ được nhắc xác nhận rằng bạn muốn tải xuống gói. Bạn nhấn yvà sau đó ENTER.

Sau khi cài đặt hoàn tất, bạn có thể bắt đầu bashbằng cách chạy:

$ bash

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

[[email protected] ~]$

Để thay đổi shell mặc định của freebsd thành bash, bạn có thể gõ:

[[email protected] ~]$sudo chsh -s /usr/local/bin/bash freebsd

Lần sau khi bạn đăng nhập, trình bashshell sẽ được bắt đầu tự động thay vì mặc định hiện tại.

Nếu bạn muốn thay đổi pager hoặc trình soạn thảo mặc định trong trình bashshell, bạn có thể làm như sau trong một tệp được gọi ~/.bash_profile. Điều này sẽ không tồn tại mặc định, vì vậy bạn sẽ cần phải tạo nó:

[[email protected] ~]$ ee ~/.bash_profile

Bên trong, để thay đổi pager hoặc trình chỉnh sửa mặc định, hãy thêm các lựa chọn của bạn như sau:

export PAGER=less
export EDITOR=ee

Lưu và đóng tệp khi bạn hoàn tất bằng cách bấm CTRL+C, gõ exit, rồi bấm ENTER.

Để thực hiện thay đổi của bạn ngay lập tức, source <file> :

[[email protected] ~]$ source ~/.bash_profile

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

Đặt Mật Khẩu Gốc (Tùy Chọn)

Mặc định, máy chủ FreeBSD không cho phép sshđăng nhập cho tài khoản root ..

Vì tài khoản người dùng root không thể truy cập được qua SSH nên việc đặt mật khẩu tài khoản root là tương đối an toàn . Trong khi bạn sẽ không thể sử dụng nó để đăng nhập thông qua SSH, bạn có thể sử dụng mật khẩu này để đăng nhập như root thông qua giao diện điều khiển dashboard nhà cung cấp cloud.

Để đặt mật khẩu root , hãy nhập:

[[email protected] ~]$ sudo passwd

Bạn sẽ được yêu cầu chọn và xác nhận mật khẩu cho tài khoản root . 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 sẽ có thể sử dụng nó để đăng nhập thông qua bảng điều khiển của nhà cung cấp cloud.

ví dụ như DigitalOcean,nhấp vào nút Giao diện console ở góc trên bên phải trang của Droplet để hiển thị bảng điều khiển web:

Bảng điều khiển web DigitalOcean

Nếu bạn chọn đặt mật khẩu no và bạn bị khóa server (ví dụ nếu bạn vô tình thiết lập quy tắc tường lửa quá hạn chế), bạn luôn có thể đặt một mật khẩu sau bằng cách khởi động Droplet vào chế độ người dùng đơn. Bạn có thể tham khảo tại đây .

Phần Kết Luận

Bây giờ, bạn nên biết cách đăng nhập vào một server FreeBSD và cách thiết lập một môi trường bash shell. Bước tiếp theo là tự làm quen với một số khái niệm 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.

Một khi bạn đã quen thuộc với FreeBSD và cấu hình nó theo nhu cầu của bạn, bạn sẽ có thể tận dụng lợi thế lớn hơn về tính linh hoạt, bảo mật và hiệu suất của nó.