FreeBSD安装FireFox的Sync扩展

FreeBSD安装FireFox的Sync扩展

什么是FireFox Sync扩展

FireFox Sync是面向FireFox用户的信息同步服务,用户可以把自己FireFox 浏览器的各种信息,如网页浏览履历,浏览器设置,收藏夹内容等信息上传到Mozilla服务器(或特定服务器)之上,而在其他的机器上,则可以简单的下载到自己的浏览器信息。

FreeBSD中的问题

在FreeBSD中如果直接从Firefox的“附加组件”中下载Sync进行安装,在同步信息时会出现“同步出错,遇到未知错误”的问题。

如何安装

必须从ports中进行安装。由于Sync发展很快,FreeBSD安装光盘中的ports已经陈旧,在进行安装前必须更新ports。更新完后,cd /usr/ports/www/firefox-sync && make install clean 即可安装成功。

输入自己的同步密钥

第一次使用Sync时,会要求你提供一个同步密钥,这个密钥被用来加密同步到Mozilla服务器上的你的浏览器信息,但由Firefox自动生成的同步密钥太长太过复杂,不利于在不同的机器上重复输入。其实这时并不一定必须使用自动生成的密钥,你可以自己输入想要的密钥代替自动生成的密钥。

原文链接:http://wiki.freebsdchina.org/software/f/firefox/sync

FreeBSD 8.0通过VirtualBox 3.1.2安装Windows XP虚拟机

FreeBSD 8.0通过VirtualBox 3.1.2安装Windows XP虚拟机

一直以来,在FreeBSD里都想虚拟一个Windows XP让儿子可以玩LEGO的设计,但总是有各种各样的问题。今天,发现VirtualBox到3.1.2了,想试试如何,首先安装VirtualBox。

1, 安装VirtualBox

$cd /usr/ports/emulators/virtualbox-ose
$sudo make install clean

2, 然后安装VirtualBox的内核模块,这个过程会在/boot/modules/下产生vboxdrv.ko,vboxnetadp.ko,vboxnetflt.ko几个内核模块

$cd /usr/ports/emulators/virtualbox-ose-kmod
$sudo make install clean

3, 在/boot/loader.conf里添加

vboxdrv_load="YES"

4, 在/etc/rc.conf里添加

vboxnet_enable="YES" #这会产生一个虚拟网卡vboxnet0,用ifconfig可以看到。

5, 重启系统 (有可能FreeBSD内核需要升级,如果vboxdrv加载失败)

$sudo shutdown -r now

6, 启动VirtualBox, 创建Windows XP的虚拟机

$VirtualBox

7, 为虚拟机使用Bridge Adapter网络模式,网卡为系统当前帮定IP的网卡。

8, 为虚拟机创建共享盘,指向当前用户目录的某个目录,比如 /home/hoo/share

9, 安装Windows XP (啊,非常快,好像比物理机还快)

10, 虚拟机启动后,安装Guest Additions,这一步可以通过网络下载VBoxGuestAdditions_3.1.2.iso(click虚拟机的菜单Devices–>Install Guest Additions..,然后按提示做),挂载这个文件到虚拟机光驱,Windows XP启动后,就会自动安装了。

11, 安装VBoxGuestAdditions后,虚拟机可以全屏方式工作,和FreeBSD的桌面分辨率一样(我以前一直都是只能工作在1024×768或800×600,现在是1280×800,而不用考虑Windows XP的分辨率)

12, 配置Windows XP网络及防火墙,可以和FreeBSD互相ping通。

13, 安装VBoxGuestAdditions后,在虚拟机里可以映射FreeBSD的共享盘,比如 Z:盘 映射到 \\vboxsvr\share (vboxsvr是virtualbox固定的名字,share是你在创建共享目录时取的共享名)

14, 在自己bin目录下,比如我的 \home\hoo\bin,建立一个shell程序,可以直接启动windows XP

$vi bin\vwin

#!\bin\sh
VBoxManage startvm winxp –type gui &

$chmod +x bin\vwin
$rehash

$vwin

到此,虚拟的Windows XP已经完全可以正常工作了,全屏方式下,几乎感觉不到是虚拟机,包括速度。而且,虚拟的Windows XP和宿主FreeBSD里可以通过网络及共享盘进行方便的交互。以前,用NAT网络模式时是不可能的。 VirtualBox运行界面

VirtualBox全屏效果

VirtualBox系统开销

VirtualBox运行LEGO Designer时的开销

原文链接:http://blog.chinaunix.net/u/29188/showart_2158762.html

详解FreeBSD 8下部署Apache+MySQL+PHP 5

众所周知,在生产环境下配置Apache+PHP 5环境或Nginx+PHP 5环境还是很复杂的,即大家熟悉的LAMP或NAMP架构,就算按照详细的部署文档来安装的话也是一个较长和麻烦的过程;但这一切在FreeBSD下用ports就简化了,本人感觉特别适应于开发环境,特将FreeBSD 8下的部署过程记录如下,方便与大家交流共享。

一、安装Apache2.2

cd /usr/ports/www/apache22
make install clean

去掉IPV6
添加MySQL

安装完成后,需要编辑/etc/rc.conf文件,添加下面内容到/etc/rc.conf:

apache22_enable="YES"

配置Apache 2.2

安装完成后,备份/usr/local/etc/apache22/httpd.conf文件:

cp /usr/local/etc/apache22/httpd.conf /usr/local/etc/apache22/httpd.conf.bak

编辑/usr/local/etc/apache22/httpd.conf文件,以使Apache22 Server支持PHP:

vim /usr/local/etc/apache22/httpd.conf

1.大约354行

在AddType application/x-gzip .gz .tgz下面添加以下内容:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

2.大约212行

添加’index.php’ 到’DirectoryIndex’ 主目录索引:

DirectoryIndex index.php index.html

3.第152行

DocumentRoot "/home/www"  #存放web的路径,根据自己需求更改

4.第178行

<Directory "/home/www">   #存放web的路径,这个根据自己需求更改

二、安装PHP 5.2

cd /usr/ports/lang/php52
make install clean

选择如下安装选项:

去掉IPV6
添加CLI、CGI、APACHE、SUHOSION、FASTCGI、PATHINFO

三、安装PHP 5.2-extensions扩展

cd /usr/ports/lang/php52-extensions
make config
make install clean

make config安装添加选项如下:

添加BZ2、CALENDAR、CTYPE、GD、GETTEXT、ICONV、MBSTRING、MCRYPT、MHASH、MYSQL、MYSQLI、OPENSSL、PCRE、POSIX、SESSION、SOCKETS、TOKENIZER、ZIP、ZLIB。

我在线上服务器的centos5.4下,一个个手动源码编译PHP 5的扩展包,感觉是件非常痛苦的事情;Apache如是,Nginx下亦如是;在FreeBSD 8下一切都简单了,这个过程有点长。

复制/usr/local/etc/php.ini-dist为/usr/local/etc/php.ini:

cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

四、安装ZendOptimizer

cd /usr/ports/devel/ZendOptimizer
make install clean

安装完成提示如下:

********************************************************************************
You have installed the ZendOptimizer package.
Edit /usr/local/etc/php.ini and add:
[zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer"
zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS"
zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so"
zend_extension_ts="/usr/local/lib/php/20060613/ZendExtensionManager_TS.so"
*********************************************************************

编辑php.ini,复制以上[Zend]内容到文本末尾:

vim /usr/local/etc/php.ini

重新启动你的Web Server.

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

测试Apche Server对PHP和ZendOptimizer支持,在/home/www里面建立一个index.php,输入以下内容:

<?
phpinfo();
?>

我这里安装此版本为5.2.13,新的PHP已近更新至5.3.3,但是老版本的ZendOptimizer对其不支持,所以本着稳定就好的原则,继续使用5.2.13;

五、安装MySQL Server5.0

cd /usr/ports/databases/mysql50-server
make install clean

配置MySQL

安装完成后,需要编辑/etc/rc.conf文件,添加下面内容到/etc/rc.conf:

mysql_enable="YES"

复制文件:

cp /usr/local/share/mysql/my-medium.cnf /etc/my.conf

启动MySQL服务:

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

新装的mysql是没有密码的,使用mysqladmin命令更改MySQL密码:

/usr/local/bin/mysqladmin -uroot password ‘你的密码’

例如:/usr/local/bin/mysqladmin -uroot password 12345678

六、安装PHPmyadmin

1.安装

cd /usr/ports/databases/phpmyadmin
make fetch  #只下载,不安装

PHPmyadmin解压以后直接使用了:

cp /usr/ports/distfiles/phpMyAdmin-3.3.2-all-languages.tar.bz2 /home/www    #/home/www为apache指定路径
tar zxvf phpMyAdmin-3.3.2-all-languages.tar.bz2
mv phpMyAdmin-3.3.2-all-languages phpmyadmin      #phpmyadmin文件名就为外部地址路径http://xxx.xxx.xxx.xxx/phpmyadmin

2.配置

cd /home/www/phpmyadmin
cp config.sample.inc.php  config.inc.php

3.修改

ee config.inc.php
cfg[‘blowfish_secret’]=’host’;            #随便输入,不要留空这个一定要设置
cfg[‘Servers’][$i][‘auth_type’]=’cookie’#设置认证方式,默认即可

4.设置权限

chmod 755 config.inc.php

这时候你就可以在内网用root等用户进行登陆管理了,PHPMyadmin的强大是有目共睹的,这也是它现在作为Linux/unix发行版的默认软件之一。

值得注意的是,基于线上环境的严谨性,我一般采用64位的Cenots系统,软件均采用源码安装;而以上所述,均是出于开发环境的考虑,即快速方便的部署测试服务器,如果用于线上环境,还需要注意的细巧还有许多,比如PHP要禁用危险的函数、Apache要考虑其Web安全及SSL证书(一个不小心就要考虑支持多域名的SSL证书)等、MySQL要考虑生产环境下的压力及备份等,这里细节繁多就不细述了。

原文链接:http://developer.51cto.com/art/201010/231233.htm

FreeBSD下Lighttpd+PHP+Mysql安装配置笔记

FreeBSD下Lighttpd+PHP+Mysql安装配置笔记

1,安装mysql

cd /usr/ports/database/mysql51-server
make install clean

2,安装lighttpd

cd /usr/ports/www/lighttpd
make install clean
(默认选项)

3,安装php5

cd /usr/ports/lang/php5
make install clean
(默认选项)

4,安装php5-extensions

cd /usr/ports/lang/php5-extensions
make install clean

增加GD,MBSTRING,MCRYPT,MYSQL,MYSQLI

5,配置lighttpd

vi /usr/local/etc/lighttpd.conf

取消需要用到模块的注释,mod_rewrite,mod_access,mod_fastcgi,
mod_simple_vhost,mod_cgi,mod_compress,mod_accesslog

取消fastcgi.server的注释
fastcgi.server = ( “.php” =>
( “localhost” =>
(
“socket” => “/var/run/lighttpd/php-fastcgi.socket”,
“bin-path” => “/usr/local/bin/php-cgi”
)
)
)

另:
touch /var/log/lighttpd.access.log
touch /var/log/lighttpd.error.log
mkdir /var/run/lighttpd
chown -R www:www /var/run/lighttpd
chown www:www /var/log/lighttpd.access.log
chown www:www /var/log/lighttpd.error.log

6,启动lighttpd和mysql

vi /etc/rc.conf

增加
mysql_enable=”YES”
lighttpd_enable=”YES”

执行
/usr/local/etc/rc.d/lighttpd start
/usr/local/etc/rc.d/mysql start

原文链接:http://garey.bsdart.org/2009/12/freebsd7-2%E4%B8%8Blighttpdphpmysql%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE%E7%AC%94%E8%AE%B0/

FreeBSD 8.1加载linux flash插件的方法

FreeBSD 8.1加载linux flash插件的方法

pagx在FreeBSDChina发贴共享了FreeBSD 8.1加载linux flash插件的方法,本人根据其方法成功安装了flash插件,由于论坛里面的帖子比较乱,在此重新整理成笔记共享。

安装libflashcross.so

i386环境

# fetch http://btload.googlecode.com/files/nspluginbox-x86src.tar.bz2
# bunzip2 nspluginbox-x86src.tar.bz2
# cd nspluginbox-last_v2/rtld-npp
# make
# cp libflashcross.so /home/test/.mozilla/plugins/.

amd64环境

# fetch http://btload.googlecode.com/files/libflashcross-x86_64.so.tar.bz2
# bunzip2 libflashcross-x86_64.so.tar.bz2
# cp libflashcross.so /home/test/.mozilla/plugins/.

安装libflashplayer.so

直接到Adobe官网下载相应的linux版本的flashplayer压缩包,解压后拷贝到/home/test/.mozilla/目录下。

再安装alsa-lib和alsa-plugins即可。

ports分别位于:
/usr/ports/audio/alsa-lib
/usr/ports/audio/alsa-plugins

FreeBSDChina帖子原文如下:

下载这个文件解压:
http://btload.googlecode.com/files/libflashcross-i386.so.tar.bz2
将 libflash-cross.so 丢到 ~/.mozilla/plugins

从linux那边拷贝libflashplayer.so (for 10.1 r53 i386) 文件过来到
~/.mozilla

安装好之后,目录结构应该如下:
~/.mozilla/libflashplayer.so
~/.mozilla/plugins/libflashcross.so

安装alsa-lib-1.0.23, alsa-plugins-1.0.23 即可。

仅在 FreeBSD 8.1/i386, 环境下的firefox3, chrome测试成功

其他环境需要自己编译:
http://btload.googlecode.com/files/nspluginbox-last.tar.bz2

目前i386的版本已经比较稳定,存在少量的内存泄漏, 但对使用影响不大。导致firefox/chrome崩溃的问题也已经修正。

修正amd64内存泄漏(二进制文件)
http://btload.googlecode.com/files/libflashcross-x86_64.so.tar.bz2

64bit 二进制的对应的flash版本(经过测试可以使用的)是
libflashplayer-10.0.42.34.linux-x86_64.so.tar.gz 或者 libflashplayer-10.0.45.2.linux-x86_64.so.tar.gz

更新x86_64的源代码和二进制文件, 更新对10.2的支持。需要的,重新下载:
http://btload.googlecode.com/files/libflashcross-x86_64.so.tar.bz2
i386的二进制文件因为被报告有问题已经删除,需要的可以下载
http://btload.googlecode.com/files/nspluginbox-x86src.tar.bz2
这个旧版的源代码,自己编译。

源码包是一个集合,所以名字是随意另起的。
代码里面包含了,
1、npprunner: GTK写的测试NPAPI插件的程序(因为使用浏览器不太方便调试, 曾经的名字是nspluginbox)。
2、plugin-gtk: windows下某个安全控件的代替方案的实现。本来可以写支持加密的,不过想想算了,那么干会影响商业秘密的。况且未必变得安全。
3、plugin-wrap: 比较邪恶,不要看。看懂的话也请不要说出来,继续保持沉默。
4、rtld-npp: 加载linux的NPAPI插件的wrapper, 也就是 libflashcross.so

原文链接:http://www.freebsdchina.org/forum/viewtopic.php?t=50134

FreeBSD挂载光驱、U盘、ISO以及NTFS

挂载光驱

mount -t cd9660 /dev/acd0 /mnt

卸载光驱

umount /mnt

挂载U盘

mount -t msdos /dev/da0s1 /mnt

卸载U盘

umount /mnt

挂载ISO镜像文件

mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt

这一命令将使用第一个md设备来加载cdimage.iso所指明的iso文件,并将该md设备挂载在/mnt上。

卸载ISO镜像文件

umount /mnt

挂载NTFS文件系统

mount –t ntfs /dev/ad0s1 /mnt

卸载NTFS文件系统

umount /mnt

FreeBSD VESA高分辨率控制台支持

FreeBSD VESA高分辨率控制台支持

介绍

VESA 高分辨率控制台是使用显卡提供的 VESA 接口来改善控制台显示分辨率的一项功能。例如,在笔记本上可以使用 1440×900 这样的分辨率,从而提供更好的显示效果。

早期版本的 FreeBSD 中的 VESA 支持只适用于 i386 平台。从 FreeBSD 8.1-RELEASE 开始, FreeBSD 在 amd64 和 i386 平台上都可以支持高分辨率控制台了。

内核配置

通常所说的高分辨率控制台实际上是使用 VESA 的图形模式。这种模式下内核需要自行“画”出每一个字符,而不是像在文本模式那样直接在显示缓冲区中写入字符的颜色和ASCII码。为了让内核具有绘制字符的能力,需要在配置内核时加入下面的配置:

options         SC_PIXEL_MODE

此外,可以将 VESA 支持直接静态联编进内核,以减少启动时间:

options         X86BIOS
device          vesa

引导加载器配置

FreeBSD 默认的传统 VESA 高分辨率模式是 800×600,不过在现时的显示器上,这个分辨率可能仍然偏低。使用下面的命令可以获得本机支持的显示模式:

vidcontrol -i mode < /dev/ttyv0

其输出类似下面这样:

mode#     flags   type    size       font      window      linear buffer
——————————————————————————
24 (0x018) 0x00000001 T 80×25           8×16  0xb8000 32k 32k 0x00000000 32k
30 (0x01e) 0x00000001 T 80×50           8×8   0xb8000 32k 32k 0x00000000 32k
32 (0x020) 0x00000001 T 80×30           8×16  0xb8000 32k 32k 0x00000000 32k
34 (0x022) 0x00000001 T 80×60           8×8   0xb8000 32k 32k 0x00000000 32k
256 (0x100) 0x0000001f G 640x400x8 1     8×16  0xa0000 64k 64k 0xf3000000 250k
257 (0x101) 0x0000001f G 640x480x8 1     8×16  0xa0000 64k 64k 0xf3000000 300k
258 (0x102) 0x0000001b G 800x600x4 4     8×16  0xa0000 64k 64k 0x00000000 234k
259 (0x103) 0x0000001f G 800x600x8 1     8×16  0xa0000 64k 64k 0xf3000000 468k
260 (0x104) 0x0000001b G 1024x768x4 4    8×16  0xa0000 64k 64k 0x00000000 384k
261 (0x105) 0x0000001f G 1024x768x8 1    8×16  0xa0000 64k 64k 0xf3000000 768k
270 (0x10e) 0x0000001f G 320x200x16 1    8×8   0xa0000 64k 64k 0xf3000000 125k
271 (0x10f) 0x0000001f G 320x200x32 1    8×8   0xa0000 64k 64k 0xf3000000 250k
273 (0x111) 0x0000001f G 640x480x16 1    8×16  0xa0000 64k 64k 0xf3000000 600k
274 (0x112) 0x0000001f G 640x480x32 1    8×16  0xa0000 64k 64k 0xf3000000 1200k
276 (0x114) 0x0000001f G 800x600x16 1    8×16  0xa0000 64k 64k 0xf3000000 937k
277 (0x115) 0x0000001f G 800x600x32 1    8×16  0xa0000 64k 64k 0xf3000000 1875k
279 (0x117) 0x0000001f G 1024x768x16 1   8×16  0xa0000 64k 64k 0xf3000000 1536k
280 (0x118) 0x0000001f G 1024x768x32 1   8×16  0xa0000 64k 64k 0xf3000000 3072k
304 (0x130) 0x0000001f G 320x200x8 1     8×8   0xa0000 64k 64k 0xf3000000 62k
305 (0x131) 0x0000001f G 320x400x8 1     8×16  0xa0000 64k 64k 0xf3000000 125k
306 (0x132) 0x0000001f G 320x400x16 1    8×16  0xa0000 64k 64k 0xf3000000 250k
307 (0x133) 0x0000001f G 320x400x32 1    8×16  0xa0000 64k 64k 0xf3000000 500k
308 (0x134) 0x0000001f G 320x240x8 1     8×8   0xa0000 64k 64k 0xf3000000 75k
309 (0x135) 0x0000001f G 320x240x16 1    8×8   0xa0000 64k 64k 0xf3000000 150k
310 (0x136) 0x0000001f G 320x240x32 1    8×8   0xa0000 64k 64k 0xf3000000 300k
317 (0x13d) 0x0000001f G 640x400x16 1    8×16  0xa0000 64k 64k 0xf3000000 500k
318 (0x13e) 0x0000001f G 640x400x32 1    8×16  0xa0000 64k 64k 0xf3000000 1000k
352 (0x160) 0x0000001f G 1280x800x8 1    8×16  0xa0000 64k 64k 0xf3000000 1000k
353 (0x161) 0x0000001f G 1280x800x32 1   8×16  0xa0000 64k 64k 0xf3000000 4000k
354 (0x162) 0x0000001f G 768x480x8 1     8×16  0xa0000 64k 64k 0xf3000000 360k
356 (0x164) 0x0000001f G 1440x900x8 1    8×16  0xa0000 64k 64k 0xf3000000 1265k
357 (0x165) 0x0000001f G 1440x900x32 1   8×16  0xa0000 64k 64k 0xf3000000 5062k
379 (0x17b) 0x0000001f G 1280x720x32 1   8×16  0xa0000 64k 64k 0xf3000000 3600k

最左边一列是显示模式的代码。一般而言我们希望选择分辨率最高的显示模式中颜色数最少的一种模式,在这个例子中,是 1440x900x8 (256色),代码为 356。我们可以在 /boot/loader.conf 中加入下面的配置:

hint.sc.0.flags=0x0180
hint.sc.0.vesa_mode=356

这样,系统在引导到初始化系统控制台的时候,便会自动切换显示模式了。

更多细节,请参阅 syscons(4)[URL:http://www.freebsd.org/cgi/man.cgi?query=sc&sektion=4]。

原文链接: http://wiki.freebsdchina.org/feature/v/vesa_console

FreeBSD DHCP服务安装笔记

一、编译内核

device bpf

bpf设备是DHCP服务必需的,FreeBSD系统默认的GENERIC内核已经包含此设备,如果您的系统内核是经过修改的,请注意此设备是否已经添加。

二、安装DHCP Server

# cd /usr/ports/net/isc-dhcp31-server
# make install clean

三、配置DHCP服务

# vi /usr/local/etc/dhcpd.conf

option domain-name "example.com";  //这个选项指定了提供给客户机作为默认搜索域的域名。
option domain-name-servers 192.168.0.100;  //这个选项用于指定一组客户机使用的DNS服务器,它们之间以逗号分隔。
option subnet-mask 255.255.255.0;  //提供给客户机的子网掩码。

default-lease-time 3600;  //客户机可以请求租约的有效期,而如果没有,则服务器将指定一个租约有效期,也就是这个值(单位是秒)。
max-lease-time 86400;  //这是服务器允许租出地址的最大时长。如果客户机请求了更长的租期,则它将得到一个地址,但其租期仅限于max-lease-time秒。
ddns-update-style none;  //这个选项用于指定DHCP服务器在一个地址被接受或释放时是否应对应尝试更新DNS。在ISC实现中,这一选项是必须指定的。

subnet 192.168.0.0 netmask 255.255.255.0 {  //配置DHCP地址池
  range 192.168.0.120 192.168.0.250;  //指定地址池中可以用来分配给客户机的IP地址范围。在这个范围之间,以及其边界的IP地址将分配给客户机。
  option routers 192.168.0.1;  //定义客户机的默认网关。
}

host mailhost.example.com {  //分配静态IP地址
  hardware ethernet 02:03:04:05:06:07;  //主机的硬件MAC地址(这样DHCP服务器就能够在接到请求时知道请求的主机身份)。
  fixed-address 192.168.0.150;  //指定固定IP地址
}

四、启动DHCP服务

# vi /etc/rc.conf

dhcpd_enable="YES"
dhcpd_ifaces="dc0"  //dc0为DHCP服务器需要监听DHCP客户端请求的接口

# /usr/local/etc/rc.d/isc-dhcpd start

FreeBSD用户和用户组管理

FreeBSD用户和用户组管理

一、添加/删除用户

添加用户

# adduser
Username: jru
Full name: J. Random User Uid (Leave empty for default):
Login group [jru]:
Login group is jru. Invite jru into other groups? []: wheel Login class [default]:
Shell (sh csh tcsh zsh nologin) [sh]: zsh Home directory [/home/jru]:
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username   : jru
Password   : ****
Full Name  : J. Random User
Uid        : 1001
Class      :
Groups     : jru wheel
Home       : /home/jru
Shell      : /usr/local/bin/zsh
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (jru) to the user database.
Add another user? (yes/no): no Goodbye!
#

或者

# pw useradd username -d homedir -g usergroup

删除用户

# rmuser username

或者

# pw userdell username
# pw userdell uid

也可以手工编辑 /etc/passwd 文件添加或删除用户:

# vipw

二、添加/删除用户组

添加

# pw groupadd groupname

删除

# pw groupdel groupname

也可以手工编辑 /etc/groups 文件添加或删除用户组。

三、切换用户

使用 su 命令可以切换用户身份。

su username
完全模拟用户登陆(比如获得用户自定的一系列环境变量等等)

su – username
或者
su -l username

四、修改用户密码

passwd 是更改用户口令最常用的命令。
此外如果有root身份,pw也可以用来更改用户口令。

修改当前用户口令
$ passwd

如果是root,方法也一样

# passwd

身为root修改用户口令

# passwd 用户名

跟上面的效果一样

pw user mod 用户名 -h0

或者 用给定字符串更改用户口令

echo “新口令”|pw user mod 用户名 -h 0

再或者 用随机字符串更改用户口令

pw user mod 用户名 -w random

五、获取用户信息

用这个命令

$id 用户名

如果要获得当前用户信息,直接输id,后面不用加用户名。

六、如何知道有那些用户登录到系统

用这个命令

users

如果需要了解更多的信息:

who

系统会吐出类似下面的输出

username1             ttyp1    11 23 23:50  (192.168.0.1)
username2             ttyp2    11 24 1:53  (192.168.0.2)

这行输出表明了当前登入的用户,使用的终端号,登入时间以及来源地址。

还可以看更详细的信息:

w

系统会吐出类似下面的输出

2:27上午  up 123 days,  6:53, 2 users, load averages: 0.43, 1.02, 0.20
USER             TTY      FROM              LOGIN@  IDLE WHAT
username1              p0       192.168.0.1      2:20上     – w
username2              p1       192.168.0.2     六08下?    2 -csh (csh)

这次输出的内容中包含了系统的一般状态(运行时间,活动用户数量,负载情况)和用户的详细情况(比who多出了用户在做什么的信息)。

原文链接:http://wiki.freebsdchina.org/faq/user_and_group/add_or_delete_user
http://wiki.freebsdchina.org/faq/user_and_group/add_or_delete_group
http://wiki.freebsdchina.org/faq/user_and_group/change_user
http://wiki.freebsdchina.org/faq/user_and_group/change_password
http://wiki.freebsdchina.org/faq/user_and_group/query_user
http://wiki.freebsdchina.org/faq/user_and_group/query_login_users

FreeBSD Shell的操作和使用

FreeBSD Shell的操作和使用

一、常见sh介绍

sh

sh是系统标准的shell.系统里面的许多脚本(例如/etc/rc.subr,./configure)都是sh脚本。能看懂sh脚本,才能自己独立解决问题。

tcsh

tcsh随发行版一起提供给用户,属于系统默认的root用户使用的shell。

tcsh是一个非常好用的 shell,合理地配置能够极大地提高工作效率,并减少出错的机会。但是需要注意的是,tcsh在很多方面与 sh 并不兼容。

bash

FreeBSD上面的bash和linux上面的是一样的。如果你没入门的话,linux论坛里面能能找到中文资料。bash和sh是兼容的。

bash不作为FreeBSD的一部分提供给用户。如果需要使用bash,需要到ports下进行安装。

二、如何查看当前用户的默认shell

用这个命令

echo $SHELL

三、如何更改用户的默认shell

1,作为root改变别人的默认shell

vipw

或者

chsh 用户名

2,改变自己的shell

chsh

四、如何设置环境变量

1,Csh

临时使用:

bsdx64# setenv CVSROOT /opt/cvsroot
bsdx64# env|grep CVSROOT
CVSROOT=/opt/cvsroot

写到.cshrc,永久生效

setenv CVSROOT  /data/cvsroot

2,Sh/Bash

临时使用:

bsdx64$ export CVSROOT=/opt/cvsroot
bsdx64$ env|grep CVSROOT
CVSROOT=/opt/cvsroot

写入 .profile 可以永久生效

CVSROOT=/data/cvsroot
export CVSROOT

或者

export CVSROOT=/data/cvsroot

原文链接:http://wiki.freebsdchina.org/faq/shell/about
http://wiki.freebsdchina.org/faq/shell/query_login_shell
http://wiki.freebsdchina.org/faq/shell/change_login_shell
http://wiki.freebsdchina.org/faq/shell/setenv