正在筛选分类:FreeBSD 下的文章 清除筛选 ✕
2013
02
28
09:17

关于FORCE_PKG_REGISTER

当你先已用ports安装过某一软件,再次安装同一项时,会出现类似:You may wish to “make deinstall” and install this port again

by “make reinstall” to upgrade it properly.

If you really wish to overwrite the old port of PORTS資料夾位置

without deleting it first, set the variable “FORCE_PKG_REGISTER”

in your environment or the “make install” command line.

的错误。

 

解决办法:只要在make install 时加上 FORCE_PKG_REGISTER=”yes” 就可以强制安裝

2013
02
21
09:27

FreeBSD防火墙Firewall(ipfw)

先將kernel複製出來

mkdir /usr/local/etc/FreeBSD

cd /usr/src/sys/i386/conf

cp GENERIC /usr/local/etc/FreeBSD/MYKERNEL

ln -s /usr/local/etc/FreeBSD/MYKERNEL

vi /usr/local/etc/FreeBSD/MYKERNEL

加入

options IPFIREWALL #firewall

options IPFIREWALL_VERBOSE #enable logging to syslogd(8)

options IPFIREWALL_FORWARD #packet destination changes

options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default

cd /usr/src;make kernel

完成後開始設定

vi /etc/rc.conf

加入

#firewall

firewall_enable=”YES”

firewall_logging=”YES”

firewall_script=”/etc/rc.firewall”

vi /etc/rc.firewall

將內容全部刪除改為

#!/bin/sh

fwcmd=”/sbin/ipfw”

Trust_IP1=”127.0.0.1″ #這裡要換成server本身的IP

Trust_IP2=”120.119.1.0/24″ #可通過的網段

UnTrust_IP1=”192.83.191.0/24″

Allowed_TCP_In_1=”22,25,53,80,443″

#you want to open port

Traceroute=”33433-33499″

Allowed_UDP_Out=”20,21,53,113″

Allowed_UDP_In=”20,21,53,113″

Allowed_UDP_ftp_Out=”65000-65500″

Allowed_UDP_ftp_In=”65000-65500″

Allowed_TCP_ftp_Out=”65000-65500″

Allowed_TCP_ftp_In=”65000-65500″

#ipfw [add/del/fwd] [serial] [allow/deny] [protocol] [from] [ports] to [destation] [ports]

$fwcmd -f flush

#flush ipfw tables

$fwcmd add 1 allow ipv6 from any to any

$fwcmd add 00010 allow tcp from me to any setup keep-state

$fwcmd add 00021 check-state

$fwcmd add 00030 allow ip from ${Trust_IP1} to any

$fwcmd add 00031 allow ip from ${Trust_IP2} to any

$fwcmd add 00060 allow icmp from any to any

$fwcmd add 00061 allow udp from any to any $Traceroute

$fwcmd add 00120 deny ip from ${UnTrust_IP1} to me

$fwcmd add 00121 deny tcp from ${UnTrust_IP1} to me 25

$fwcmd add 56000 allow tcp from any to any ${Allowed_TCP_In_1}

$fwcmd add 56003 allow udp from any ${Allowed_UDP_In} to any

$fwcmd add 56004 allow udp from any to any ${Allowed_UDP_ftp_Out}

$fwcmd add 56005 allow tcp from any to any ${Allowed_TCP_ftp_Out}

$fwcmd add 65534 deny log ip from any to any

#deny all ip

$fwcmd zero

#clean counter

sh /etc/rc.firewall &

reboot

2013
02
21
09:25

FreeBSD安裝sshguard-ipfw

請先完成ipfw設置

cd /usr/ports/security/sshguard-ipfw;make install clean

在/etc/syslog.conf 中

#auth.info;authpriv.info |exec /usr/local/sbin/sshguard

註解去掉

也可以自由設定鎖定時間

例如:

auth.info;authpriv.info |exec /usr/local/sbin/sshguard -a 5 -p 7200 -s 3600

(a:失敗多少次 p:被擋多久(秒) s:多少秒忘記攻擊)

最後/etc/rc.d/syslogd restart

接著你可以tail -f /var/log/auth.log,然後用putty連線,密碼請故意打錯四次,就會出現:

Jan 26 13:31:05 earth sshguard[40059]: Blocking 210.71.11.116:4 for >420secs: 4 failures over 2 seconds.

解除鎖定:

使用另一個IP登入

ipfw show

ipfw delete xxxxx

2013
02
21
09:11

FreeBSD安装pure-ftpd

cd /usr/ports/ftp/pure-ftpd

make install clean(選UTF-8)

cd /usr/local/etc

cp pure-ftpd.conf.sample pure-ftpd.conf

vi /etc/rc.conf

加入

pureftpd_enable=”YES”

ftp傳輸檔案時是有特定的port,

如果防火牆有擋port,可以自行設定ftp檔案傳輸的port

vi /usr/local/etc/pure-ftpd.conf

將PassivePortRange這行改成

PassivePortRange 65000 65500

啟用ftp

/usr/local/etc/rc.d/pure-ftpd start

2013
02
21
09:09

FreeBSD Samba安装及设定

cd /usr/ports/net/samba34

make install clean

(選擇 LDAP、ADS、CUPS、WINBIND、ACL_SUPPORT、SYSLOG、UTMP)

vi /etc/rc.conf

samba_enable=”YES”

vi /usr/local/etc/smb.conf

#加入工作群組

workgroup = WORKGROUP

#主機名稱

server string = %h Samba Server

(%h為主機名稱變數)

#設定使用者家目錄

原為:

[homes]

comment = Homes Directories

browseable = no

writable = yes

更改為:

[homes]

comment = Home directory for %u on %h

browseable = no

writable = yes

path = /usr/home/%u/

valid users = %S

#設定共享資料夾

[public]

comment = %h Shared Public Directory

path = /usr/home/samba/public

force directory mode = 0777

force create mode = 0777

force group = nobody

force user = nobody

public = yes

writeable = yes

read only = no

#測試Samba conf中語法有無錯誤

/usr/local/bin/testparm | more

mkdir /usr/home/samba

mkdir /usr/home/samba/public

chmod 777 /usr/home/samba/public

#新增Samba帳戶

使用者必須同時設定兩種帳號: FreeBSD 的使用者帳號、 Samba 的使用者帳號 才能正常登入 Samba 伺服器。

smbpasswd -a 帳號

/usr/local/etc/rc.d/samba restart

#個別設定資料夾設定

[aaa]

comment = aaa

path = /home/samba/my2075/aaa

valid users = aaa, admin2075

write list = aaa, admin2075

browseable = No

[bbb]

comment = bbb

path = /home/samba/my2075/bbb

valid users = bbb, admin2075

write list = bbb, admin2075

browseable = No

[ccc]

comment = ccc

path = /home/samba/my2075/ccc

valid users = ccc, admin2075

write list = ccc, admin2075

browseable = No

#samba變數

%S: 取代目前的「資源名稱」,所謂的「資源名稱」就是在 [ ] 裡面的內容。ex: valid users = %S

%U: 代表目前登入的使用者的使用者名稱。

%m: 代表 Client 端的 NetBIOS 名稱。

%g: 代表登入的使用者的群組名稱。

%M: 代表 Client 端的 Internet 主機名稱,就是 HOSTNAME。

%L: 代表 SAMBA 主機的 NetBIOS 名稱。

%h: 代表目前這部 SAMBA 主機的 HOSTNAME。

%H: 代表使用者的家目錄。

%I: 代表 Client 端的 IP。

%T: 代表目前的日期與時間。

#Samba 使用下列的通訊埠:

Port 135/TCP – used by smbd

Port 137/UDP – used by nmbd

Port 138/UDP – used by nmbd

Port 139/TCP – used by smbd

Port 445/TCP – used by smbd

#Windows網路芳鄰切換使用者

進cmd模式

net use * /delete

2013
02
21
09:05

FreeBSD MySQL忘记密码

今天使用時出現

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (61)

其實是忘記密碼啦XDD

#背景執行mysql安全模式

mysqld_safe -u root –skip-grant-tables &

#登入mysql(不用密碼)

mysql -u root -p

>use mysql

>UPDATE user SET password=password(‘這裡輸入你的密碼’) where user=’root’;

>FLUSH PRIVILEGES;

>exit

/usr/local/etc/rc.d/mysql-server restart

2013
02
21
08:59

FreeBSD安裝phpmyadmin

cd /usr/ports/databases/phpmyadmin

make install clean

cp -r /usr/local/www/phpMyAdmin /usr/local/www/apache22/data/phpmyadmin

cd /usr/local/www/apache22/data/phpmyadmin

cp config.sample.inc.php config.inc.php

chmod 644 config.inc.php

2013
01
15
08:58

FreeBSD入门级命令查阅表

下面这份表单列出了FreeBSD入门所需要了解的大部分命令。列表按命令功能列出,括号中为命令的执行指令。如果想要进一步了解每个命令的用法,可以使用man命令进行查阅(用法:man xxx,xxx为你想要了解的命令)。以下,列表开始。

我如何离线?(exit)

我如何停止电脑?(shutdown -h now)

我如何重新激活计算机? (shutdown -r now)

我如何在单使用者模式下停止系统? (shutdown now)

我如何切换终端机? (ALT-F*)

文件

我如何阅读用户手册? (man)

使用者管理

我该如何增加一个使用者? (adduser)

我如何移除使用者? (rmuser)

我如何改变我的密码? (passwd)

我如何查看所有的使用者?(logins)

“su” 指令

我如何 “su” 至 root 帐号? (su)

我如何 “su” 至其它使用者的帐号? (su username)

四处观察

我在哪? (pwd)

我如何观察目录下有什么? (ls)

我如何看到以点开始的隐藏档? (ls -a)

我如何看到更多的讯息 (存取许可,拥有者,群组,大小,日期)? (ls -l)

我如何看出那些档是什么? (ls -F)

这些是什么档: “..” 与 “.”? (ls -aF)

四处移动

我该如何改变工作目录? (cd)

如何回到上一层目录? (cd ..)

我如何回到自己的工作目录? (cd, cd ~/)

屏幕控制

我如何卷回 (在终端机中,非 X)? (The Scroll Lock Key)

我该如何清除屏幕? (clear)

文章

我如何不使用文书编辑器就可以观看小的档案? (more)

最普遍的文书编辑器是? (vi)

“vi” 看起来有点难,我可以从 “ee” 开始吗? (ee)

“visual” 编辑器

学习 “vi” 最有效的方法为何? (vilearn)

“vi” 是如何工作的? (man vi)

什么是储存指命? (:w)

什么是离开指令? (:q)

什么是可以储存与离开的命令? (:wq)

如何离开而不使用储存指令? (:q!)

我如何移动? (h, j, k, and l)

Esc 键有什么用途? (The Esc Key)

我如何加入新的文字? (a and i)

我如何建立新的一行? (o and O)

我如何删除文字? (x and dd)

我如何拷贝文章内容? (yy and p)

我如何使用数个指令? (nCommand)

我如何搜寻文章? (/text)

我如何起动 “vi” 于只读模式? (view)

计算机信息

我如何能观看开机记录文件? (dmesg)

有什么方法可以让我慢慢地观看开机记录文件吗? (dmesg │more)

显示谁在系统上? (who)

他们正在做什么?? (w)

“w” 可以显示出所有的处理吗? (w)

何时

我如何显示或设定日期时间? (date)

我如何显示月历? (cal)

有什么方法可以让我慢慢地观看月历吗? (cal │ more)

通讯

我如何显示 (或不显示) 其它使用者送来的讯息? (mesg y, mesg n)

我如何传送讯息到其使用者的屏幕? (write)

我如何送讯息到每一个人的屏幕? (wall)

我如何与他人交谈 (chat)? (talk)

档案管理

我如何建立一个空档案? (touch)

我如何删除档案? (rm)

我如何建立一个目录? (mkdir)

我如何移除一个空的目录? (rmdir)

我如何移除一个目录包括里面所有的东西 (包括子目录)? (rm -r)

我如何移除以 “-” 起头的档案? (rm — -filename)

我如何拷贝档案? (cp)

我如何拷贝整个目录包括它所有的内容? (cp -R)

我该如何搬移档案与目录? (mv)

我如何改变档案/目录名称? (mv)

我如何执行 rm、cp 与 mv 时,须要我的许可? (-i)

我如何执行 rm、cp 与 mv 时,不须要我的确认? (-f)

档案连结

我如何连结一个档案或目录? (ln -s)

我如何 hard link 一个档案? (ln)

档案拥有权/存取许可

我如何观察谁是档案拥有者? (ls -l)

我如何观察档案/目录的存取许可? (ls -l)

我如何改变档案/目录的使用者拥有人? (chown)

我如何改变档案/目录的群组拥有人?s group owner? (chgrp)

我如何改变档案/目录的使用者与群组拥有人? (chown user:group)

我如何改变存取许可? (chmod)

如果我拥有这个目录,我可否修改不是我的档案? (yes)

软盘机装置

我如何挂上我的软盘? (mount)

我如何挂上 MS-DOS 格式的软盘机? (mount -t msdos)

我如何卸下我的软盘? (umount)

应用程序

我如何起动应用程序? (./)

我如何由文件名称来起动应用程序? (PATH)

我如何在背景起动应用程序? (&)

我如何知道我的 PATH 是? (echo $PATH)

所有的应用程序在那? (The FreeBSD Ports Collection)

我如何安装一个 port? (make install clean)

那里有编辑好的二进制文件? (The FreeBSD Packages Collection)

我如何移除应用程序? (pkg_delete)

使用者环境

使用者的 profile 档案在那? (vi ~/.profile)

我如何改变我的 shell? (chsh)

处理管理

我如何列出处理? (ps)

我如何列找到处理? (ps -waux │ grep “name of the process”)

我如何砍掉处理? (kill)

磁盘管理

我如何检查可用的磁盘空间? (df)

我如何检查每个目录下用了多少磁盘空间? (du)

工具

哪里有计算器? (bc)

2013
01
15
08:44

FreeBSD root密码忘记了

更改过程:

1. 重新启动机器;

2. 在出现“Welcome to FreeBSD!”的选择菜单时,选择“4. Boot FreeBSD in single user mode”;

3. 在加载结束后,执行

# /sbin/mount -a

# passwd root

New passwd:*************

这样就重设了 root 账户密码。

可能在加载过程中会要检查磁盘,用fsck命令检查一下就可以了。

2013
01
12
08:26

FreeBSD终端分辨率调整的方法

内核加入

option VESA

option SC_PIXEL_MODE

重新编译kernel

vidcontrol -i mode #察看系统支持的显示模式

vidcontrol MODE_数字 #设置需要的模式

如:1024x768x32模式

vidcontrol MODE_321

试验成功后,再加入rc.conf #有些显示模式不能正常工作

vi /etc/rc.conf

加入

allscreens_flags=”MODE_数字”