国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

打 last 顯示 IP 而不是 hostname,Why ?

2024-07-26 00:29:19
字體:
來源:轉載
供稿:網友
從 FreeBSD-2.2/3.0 起,如果登入的 FQDN 長度 > 16 個字元 (UT_HOSTSIZE)
則系統會以 ip 紀錄,因此你打 last 就會看到一堆 IP 而不是"不完整"的
hostname,有些系統如 bbs 也會受影響。當然,這個 feature 有些人不喜歡
,畢竟人還是看 FQDN 比較習慣,因此你可以自己拿掉這個 feature。

1. 修改 telnetd 的程式碼
   telnetd 的程式碼放在 /usr/src/libexec/telnetd/ 或是 ftp://freebsd
   .csie.nctu.edu.tw/pub/FreeBSD-current/src/libexec/telnetd/,
   取回來後,你可以先修改 8bit 的支援,再來拿掉判斷 UT_HOSTSIZE
   的地方。修改 telnetd.c 把以下這段 (搜尋 hp->h_name)

>>      } else if (hp &&
>>          (strlen(hp->h_name) <= ((utmp_len < 0) ? -utmp_len : utmp_len))) {
                host = hp->h_name;
        } else {
                host = inet_ntoa(who->sin_addr);
        }

   改成

>>      } else if (hp) {
                host = hp->h_name;
        } else {
                host = inet_ntoa(who->sin_addr);
        }

2. 修改 login 的程式碼
   login 的程式碼放在 /usr/src/usr.bin/login/ 或是 ftp://freebsd
   .csie.nctu.edu.tw/pub/FreeBSD-current/src/usr.bin/login/,
   取回來後,修改 login.c 把以下這段 (搜尋 UT_HOSTSIZE) 完全刪除。

>>                      if (strlen(optarg) > UT_HOSTSIZE) {
>>                              struct hostent *hp = gethostbyname(optarg);
>>
>>                              if (hp != NULL) {
>>                                      struct in_addr in;
>>
>>                                      memmove(&in, hp->h_addr, sizeof(in));
>>                                      optarg = strdup(inet_ntoa(in));
>>                              } else
>>                                      optarg = "invalid hostname";
>>                      }

3. 其他的程式
   還有其他的程式會做寫入 utmp 或 wtmp 的動作,你必須自行修改,
   你可以從 logwtmp(), UT_HOSTSIZE, hp->h_name, utmp, wtmp 等等
   關鍵字來搜尋修改。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三都| 临汾市| 罗江县| 威海市| 威远县| 文成县| 老河口市| 赤水市| 泊头市| 灵川县| 临沭县| 淄博市| 毕节市| 南郑县| 盐池县| 台中市| 武清区| 古浪县| 从化市| 荆门市| 利辛县| 久治县| 仲巴县| 阿坝县| 青田县| 青海省| 宁蒗| 竹北市| 漾濞| 雅安市| 城固县| 革吉县| 宕昌县| 同德县| 资兴市| 宁阳县| 菏泽市| 汉中市| 鄂尔多斯市| 保靖县| 岚皋县|