Friday, 8 August 2014

[basic] hostname

Trả lời câu hỏi sau:

Trong các hostname dưới đây, có những hostname nào đúng:

  1. "KuteNhatXom"
  2. "tuong.ot."
  3. "xoai_chua.com"
  4. "fami-lug1.org"
  5. "89.vn"
và nếu tự tin mình trả lời đúng hết thì bạn không nhất thiết cần đọc bài này.
Không chắc lắm? bấm để đọc tiếp.

Định nghĩa hostname

       Hostnames are domains, where a domain is a hierarchical, dot-separated list of subdomains; for example, the machine monet, in the Berkeley subdomain of the EDU domain would  be  represented as "monet.Berkeley.EDU".
 (từ man 7 hostname)

Hostname ở đâu, xem thế nào,  thay đổi thế nào?
# cat /etc/hostname
dev01
File này chứa hostname của hệ thống , phải restart máy mới có tác dụng khi thay đổi file này.

# hostname
dev01
Lệnh này hiển thị hostname hiện thời của hệ thống.
# whatis hostname
hostname (1)         - show or set the system's host name
# hostname XYZ
set host name cho hệ thống thành XYZ

Các tiểu chuẩn cơ bản về hostname
- chỉ chứa các chữ cái (a-z), chữ số (0-9), dấu ``.`` và dấu ``-``
- không phân biệt hoa thường
- không bắt đầu hay kết thúc bằng dấu ``.`` hay ``-``

Chú ý: ngày nay (2014) tiêu chuẩn này có thể đã mở rộng hơn , bởi hiện tại đã cho phép sử dụng các domain dùng UNICODE. Kiểu: bưởi.vn, lợn.vn, chuối.vn

ĐÁP ÁN:
2. sai vì kết thúc bằng ``.``
3. sai vì chứa ký tự ``_``, không nằm trong các ký tự được phép

Còn lại đều là các hostname hợp lệ.

Chú ý với ví dụ 5 "89.vn", một hostname bắt đầu bằng chữ số, ban đầu theo RFC 952 thì điều này không được phép nhưng sau đó ở RFC1123 đã chỉnh lại rằng hostname được bắt đầu bằng chữ số.

Để kiểm tra những câu chém gió ở đây là đúng, sử dụng lệnh hostname (lệnh này sẽ set tạm thời hostname của máy bằng giá trị được gọi):

~# for name in KuteNhatXom tuong.ot. xoai_chua.com fami-lug1.org 89.vn; do hostname $name && echo $name is a valid hostname; done
KuteNhatXom is a valid hostname
hostname: the specified hostname is invalid
hostname: the specified hostname is invalid
fami-lug1.org is a valid hostname
89.vn is a valid hostname

Hết.
hvn@familug.org