开源中文网

您的位置: 首页 > FreeBSD > 正文

FreeBSD学习笔记

来源:  作者:

1.查看相关目录说明
#man hier
2.利用pw管理用户信息
#pw groupadd group1 添加组
#pw useradd -n user1 -g group1 -m -s /bin/csh
-n username /指定用户名称
-g groupname /指定组名称
-m /自动创建用户目录
-s /指定用户shell
#echo <password> |pw useradd -n username -g group -m -s /bin/csh -h 0
主要是参数-h -0 /可以在创建用户的时候直接创建改用户的密码;
#pw userdel -n username -r /删除改用户
-r 同时删除home目录相关资料
#pw groupshow wheel 查看该组的成员
#pw groupmod wheel -M user1 把user1用户添加到wheel组
-M 设置这个用户成为这个组的唯一组员
-m 添加用户到该组
2.1 利用命令交互式的添加用户
adduser 添加用户
rmuser 删除用户
chpass 用于修改用户数据库信息的工具
passwd 修改用户口令的工具
pw 修改用户帐号的工具
2.2 使用id命令显示改用户信息
#id username
# id root
uid=0(root) gid=0(wheel) groups=0(wheel), 5(operator)
3、起用screensaver程序
在/etc/rc.conf文件中添加以下信息
blanktime=“900” 启用时间为15分钟,以秒为单位
saver=“logo” 图形接口(图形),daemon(文字)。
4.请空一个文件
#true > filename
5.将man的档案打印,例如把ssh2的帮助信息转换成ssh2.txt文件;
#man find |col -b > find。txt
6.忘记FREEBSD密码解决办法
重新启动FreeBSD,当出现倒记时 选择 4 , 进入系统后先运行`#/sbin/mount -a`,现在你可以用`passwd`来修改root密码了。
7.在freebsd中想用su命令,切换到root,你的用户应该是WHEEL组的啊,这样才能SU到ROOT去啊
8.利用mount挂在dos/ntfs分区
#mount -t msdosfs /dev/ad0s1 /mnt
#mount -t mount_ntfs /dev/ad0s1 /mnt
9.当用户使用单用户模式登录是也提示输入密码的操作,修改/etc/ttys文件
console none unknown off secure
把其中的secure改为insecure,这样在是哟个单用户登录时也要提供帐号信息。
10。freebsd的目录架构
/etc/defaults 系统默认的启动配置和脚本目录
/etc/periodic 计划执行脚本的目录
11。利用pkg_add命令从本地或网络上的服务器上安装一个breebsd包,单软件包必须采用。tgz或。tbz两种格式。
#pkg_add XXX-1.11.1.tgz
12.利用pkg_info列出已安装的所有软件包列表和描述。
#pkg_info
13.利用pkg_version来统计所有的安装包
14.利用pkg_dalete删除先前安装反而软件,必须提供完整的包名。
#pkg_dalete XXX-1.11.1
15.利用pciconf工具来显示硬件的详细输出
#pciconf
16、查看CPU:
sysctl hw.model hw.ncpu
dmesg | grep "CPU:"

17、查看内存:
dmesg | grep "real memory" | awk -F '[( )]' '{print $2,$4,$7,$8}'
18、查看硬盘:
dmesg | grep "sector" | awk '{print $1,$2}'
19、挂载文件系统:
mount_msdosfs /dev/ad0s1 /mnt
mount_ntfs /dev/ad0s1 /mnt
20、给文件添加或禁用系统禁删标志(目录不适用):
chflags sunlink file1
chflags nosunlink file1
21、初始化磁盘:
fdisk -BI ad1
22、建立FreeBSD分区:
disklabel -B -w -r ad1s1 auto
23、建立逻辑分区:
disklabel -e ad1s1
24、格式化分区,创建文件系统:
newfs /dev/ad1s1e
25、显示PCI硬件信息:
pciconf -lv
26、开启Linux 二进制兼容支持(启用这一功能最简单的方法是载入 linux KLD 模块):
kldload linux
27、检查KLD模块是否加载:
kldstat
28、在内核中静态链接进Linux二进制兼容模式,在内核配置文件里面加入:
options COMPAT_LINUX
29.如果希望LINIX兼容支持在系统初始过程中期待启动,则修改/etc/rc.conf
linux_enable="yes"
30.查看服务器品牌
#dmegs | grep ACPI
==============系统管理部分======================
1.网卡和网卡芯片组的信息
/usr/scr/sys/conf/NOTES或 /usr/src/sys/arch/conf/NOTES
这两个目录中将提供网卡和芯片组的信息
2.加载网卡对应的模块
#kldoad
3.利用windows NDIS驱动程序加载网卡驱动,如果要利用NDISulator,你需要三样东西,内核的源代码/二进制形式的windows xp驱动程序(扩展名 为.SYS)/windows xp驱动程序配置文件(扩展名为.inf);下面例子中我们用W32DRIVER.SYS和W32DRIVER.INF来表示这些文件
a.利用root用户执行ndisgen命令将二进制形式的驱动程序加载成内核模块
#ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS
在执行完这个交互试程序时他会提示你输入一些其他的信息,当完成后它会在当前目录下生成ygie内核模块文件
b.加载新生成的内核模块文件
#kldload ./W32driver.ko
c.在加载新模块之外还有加载ndis.ko和if_ndis.ko这两个内核模块
#kldoad ndis.ko 加载ndis驱动封装模块
#kldoad if_ndis.ko 加载实际的网络接口
d.自动加载该模块,复制W32DRIVER.KO到/boot/modules目录,修改/boot/loader.conf中加入
W32DRIVER_load="YES
4.在一个网卡上绑定多个IP地址,主要是修改/etc/rc.conf文件,但是网卡的别名必须是从alias0开始并按顺序递增,一般的描述方式是:
ifconfig_网卡名字_alias0=" inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
比如我自己的是
ifocnfig_lnc0_alias0="inet 192.168.137.1 netmask 255.255.255.0"
ifconfig_lnc0_alias1="inet 192.168.138.1 netmake 255.255.255.0"
5.更改网卡的工作模式命令:
full-duplex
#ifconfig lnc0 media 100baseTX mediaopt full-duplex
half duplex
#ifconfig lnc0 media 100base
6.设置客户端DNS文件/etc/resolv.conf,记录的格式如下:
nameserver 按顺序查询DNS服务器的IP地址,最多三个
search 搜索机器名的列表,通常有本地的域名决定
domin 本地域名
search example.com
nameserver 202.96.0.133
nameserver 202.97.16.195
7./etc/hosts文件的格式
[internet address] [official hostname] [alias1] [alias2]...

8.syslog.conf是syslogd程序的配置文件,它存储了特定的日志文件,newsyslog.conf是一个计划运行的配置文 件,newsyslog指出了什么时候日志文件需要打包或重新整理.比如logfile被移到logfile.0,logfile.0移动到 logfile.1等等,日志文家也可以用gzip来压缩,他的命名格式是logfile.0.gz.<301页>
9.sysctl.conf和rc.conf的文件风格相似,其中的配置均为变量=值的形式,这个文件的配置会在系统进入多用户模式之后进行实际的修改操作,并不是所有的变量都在多用户模式下修改的.例如希望关闭收到致命的信号退出的记录,并阻止普通用户看到其他用户的进程
a.不记录由致命信号导致的进程退出
kern.logsigexit=0
b.阻止用户看到以其他UID身份执行的进程
seurity.bsd.see_other_uids=0
10.sysctl是可以改变正在运行中的Freebsd系统接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,同时他可以读取设置500个系统变量,其中sysctl变量设置通常是字符串,数字或布尔型(布尔型用1表示"yes",用0表示"no")
#sysctl -a 查看所有变量;
#sysctl kern.maxproc 读取一个指定的变量;
#sysctl kern.maxfiles=5000 设置一个指定的变量,直接用variable=value语法;
11. 在FreeBSD中创建交换文件
1.首先创建一个交换文件(swap0)
#dd if=/dev/zero of=/mnt/swap0 bs=1024k count=64
2.赋予这个文件适当的权限
#chmod 0600 /mnt/swap0
3.在/etc/rc.conf中启用交换文件爱你
swapfile="/mnt/swap0" #set to name ofswapfile
4.通过重新启动机器时生效
#mdconfig -a -t vnode -f /mnt/swap0 -u o && swapon /dev/md0
12.利用openssh创建隧道,例子中利用ssh为telnet创建一个隧道
#ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com
参数说明:
-2 强制ssh使用第二版的协议
-N 表示不使用命令行,只使用隧道
-f 强制ssh在后台执行
-L 表示产生一条本地端口:远程主机:远程端口形式的隧道
user@foo.example.com 远程ssh服务器
13.限制ssh登录
1.只允许root用户从192.168.1.2登录服务器:
修改/etc/ssh/sshd_conf文件,在文件中添加一下参数:
AllowUsers root@192.168.1.2
2.允许admin用户从任何地方登录
AllowUsers admin
也可以在同一行指定多个用户
allowusers root@192.168.1.2 admin
14.设置文件的ACL
#getfacl filename 查看文件的acl信息
#setfacl filename 设置文件的acl信息
#setfacl -k filename -k 把所有定义的acl从文件或文件系统中删除
-b 保持让acl正常的拿些项不变
15.通过ssh使用dump备份数据
#/sbin/dump -0uan -f - /usr |gzip -2 |ssh -c blowfish targetuser@foo.example.com dd of=/mydatefiles/dump-user-10.gz
16.利用管道和rsh将数据发送到远程的磁带机上
#tar cf - . | rsh hostname dd of=tape-device obs=20b
17.利用script命令,把执行过的或编译过程中的信息输出到一个文件,便于查询错误信息.
#script /var/tmp/mw.out
18.查看内核是否支持串口
#dmesg | grep 'sio'

Tags:FreeBSD 学习笔记
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明