首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

linux入门备忘录

linux入门备忘录

+更改密码: passwd


+更改启动默认界面:
在/etc目录下有一个inittab文件,其中有一行配置:
id:3:default
其中,数字3就是代表一启动进入字符终端,如果改为5则代表一启动进入X Window


+退出登录:
不论你是root用户还是普通用户,只需简单地执行exit命令就可以退出登录


+关闭机器:
在Linux系统中,普通用户是无权关闭系统的!只有root用户才能够关闭它。当然如果你是按关机按钮则


别当别论。我们可以通过以下几种方法实 现:
1) 按下CTRL+ALT+DEL组合键,这样系统将重新启动!
2) 执行reboot命令,这样系统也将重新启动!
3) 执行shutdown -h now命令,这样系统将关闭计算机!
4) 执行halt命令,可以关闭计算机。
注意千万不要随意采用硬关机、重启动键等方式关闭系统,那样会导致Linux文件系统遭受破坏!


+虚拟控制台:
在Suse Linux下按 CTRL+ALT+F1~12 切换 F1~6为提示符界面 F7~12为图形界面


+目录结构:
在Linux下只有一个根目录
如果有多个分区的话,就需要将其它分区mount到根目录上来用
Linux分区时,有一个选项要填,那就是Mount Point,我们将其中一个写成了“/”,也就是根目录
重要的目录:
/bin:存放着一百多个Linux下常用的命令、工具
/dev:存放着Linux下所有的设备文件!
/home:用户主目录,每建一个用户,就会在这里新建一个与用户同名的目录,给该用户一个自己的空



/lost+found:顾名思义,一些丢失的文件可能可以在这里找到
/mnt:外部设备的挂接点,通常用cdrom与floppy两个子目录!它的存在简化了光盘与软盘的使用。你


只需在塞入光盘后,运行:mount /mnt/ cdrom,就可以将光盘上的内容Mount到/mnt/cdrom上,你就可以


访问了。不过你使用完成后,应该离开该目录,并执行umount /mnt/cdrom。同样 的,软盘就是mount


/mnt/floppy和umount /mnt/floppy了。
/proc:这其实是一个假的目录,通过这里你可以访问到内存里的内容。
/sbin:这里存放着系统级的命令与工具
/usr:通常用来安装各种软件的地方
/usr/X11R6 X Window目录
/usr/bin与/usr/sbin 一些后安装的命令与工具
/usr/include、/usr/lib及/usr/share 则是存放一些共享链接库
/usr/local 常用来安装新软件
/usr/src Linux源程序
/boot:Linux就是从这里启动的
/etc:这里存放在Linux大部分的配置文件
/lib:静态链接库
/root:root用户的主目录,这就是特权之一!
/var:通常用来存放一些变化中的东西!
/var/log:存放系统日志
/var/spool:存放一些邮件、新闻、打印队列等


+mount/umount:
eg, mount /dev/hda1 /mnt/c
umount /mnt/c


+ls技巧之一:
ls --color=never
ls --color=auto 设置为对终端输出时用彩色显示文件名
ls --color=always


+cat/more/less/head/tail:
cat --> type
more --> type /p
less --> 支持上下翻页 上b下p

51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
head命令
通过head命令可以仅查看某文件的前几行,格式为:
head 行数 文件名
如果未指定行数,则使用默认值10

tail命令
与head命令相对应的,我们可以使用tail命令来查看文件尾部的内容。通常用来实时监测某个文件是否被

修改,通常用来观察日志。如:
tail -f maillog

+编辑文件:
在Red Hat Linux 7中有许多文字编辑工具,其中最常用的应该是vi,这是一个广泛应用于所有UNIX系统

的编辑器。它的使用有些特别:
首先,可以使用命令“vi 文件名”打开一个文件。
刚启动的时候,vi处于命令状态,不能够输入任何字符。在这个状态下,可以使用方向键进行移动,而需

要输入内容时,你需要输 入“i”或“a”命令进入编辑状态。编辑完成后,你需要按下“ESC”键回到命令状态


在命令状态下,你可以输入“:q!”不存盘退出,输入“:wq”存盘退出

+文件的复制、删除与移动:
1) cp命令:文件/目录复制命令
它的语法格式为:cp [选项] 源文件或目录 目标文件或目录
? a 该选项常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,就象DOS中的xcopy /s一


- f 如果目标文件或目录已存在,就覆盖它,并且不做提示
- i 与f选项正好相反,它在覆盖时,会让用户回答“Y”来确认
- p 使用该选项,复制文件时将保留修改时间和访问权限
- r 若给出的源是一个目录,那么cp将递归复制该目录下所有的子目录和文件,不过这要求目标也是一个

目录名
另外,大家要注意的是,如果源是文件名,目标是目录名的话,那么使用cp命令可以指定多个源文件名。

如:
$ cp a.txt b.txt /home/user1
该命令将把a.txt和b.txt文件复制到/home/usr1目录中。
2) rm命令:文件/目录删除命令
它的语法格式为:rm [选项] 文件 …
- f 在删除过程中不给任何指示,直接删除
- r 指示rm将参数中列出的全部目录和子目录都递归地删除
- i 交互式的删除,每个文件在删除时都给出提示
使用rm命令时一定要小心,特别是以root用户登录时,我就看到过一个朋友在使用rm命令删除/home/tmp

目录时将命令“rm -rf /home/tmp”误输 成了 “rm -rf / home/tmp”,结果等他走回电脑面前,整个系统

都被删除了!
3) mv命令:文件/目录移动命令
它的语法格式为:mv [选项] 源文件或目录 目标文件或目录
- f 如果操作要覆盖某已有的目标文件时不给任何指示
- i 交互式的操作,如果操作要覆盖某已有的目标文件时会询问用户是否覆盖
mv命令的执行效果与参数类型的不同而不同!
第一参数(源) 第二个参数(目标) 结果
文件名 文件名 将源文件名改为目标文件名
文件名 目录名 将文件移动到目标目录
目录名 目录名 目标目录已存在:源目录移动到目标目录
目标目录不存在:改名
目录名 文件名 出错

+显示当前目录:pwd

+回到这个用户的主目录: 直接输入命令“cd”,而不加任何参数

+列目录命令:ls
- a 显示指定目录下所有的子目录与文件,包括隐藏文件;
- c 按文件的修改时间排序
- l 采用长格式来显示文件的详细信息,每个文件一行信息,其内容为:文件类型与权限 链接数 文件属

主 文件属组 文件大小 最近修改时间 文件名

+每一个文件或目录的访问权限都有三组,每组用三位表示,如:
d rwx r-x r--
第一部分:这里的d代表目录,其它的有:- 代表普通文件 c 代表字符设备文件;l代表快捷方式

+文件/目录权限设置命令:chmod
这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限。该命令有两种用法:
1 用包含字母和操作符表达式的文字设定法
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
其中who表示对象,是以下字母中的一个或组合:
u:表示文件所有者
g:表示同组用户
o:表示其它用户
a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读
w:可写
x:可执行
例如:为同组用户增加对文件a.txt的读写权限:
chmod g+rw a.txt
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
2 用数字设定法
而数字设定法则更为简单:chmod [mode] 文件名
关键是mode的取值,一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则有1

表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:
111 101 100
再将其每三位转换成为一个十进制数,就是754。
例如,我们想让a.txt这个文件的权限为:
自己 同组用户 其他用户
可读 是 是 是
可写 是 是
可执行
那么,我们先根据上表得到权限串为:rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换

成为一个十进制数,就得到664,因此我 们执行命令:
chmod 664 a.txt

+改变文件的属主命令:chown
语法格式很简单:chown [选项] 用户名 文件/目录名
其中最常用的选项是“R”,加上这个参数,可以将整个目录里的所有子目录和文件的属主都改变成指定用

户。

+改变文件属组命令:chgrp
该命令也很简单:chgrp 组名 文件名名”来 实现这一目的

+增加一个新用户
在Linux系统中,只有root用户才能够创建一个新用户,如下的命令将新建一个登录名user1的用户。
# useradd user1
但是,这个用户还不能够登录,因为还没给它设置初始密码,而没有密码的用户是不能够登录系统的。在

默认情况下,将会在/home目录下新建一 个与用户名相同的用户主目录。如果需要另外指定用户主目录的

话,那么可以使用如下命令:
# useradd -d /home/xf user1
同时,该用户登录时将获得一个Shell程序:/bin/bash,而假如你不想让这个用户登录,也就可以指定该

用户的Shell程序为:/bin/false,这样 该用户即使登录,也不能够执行Linux下的命令:
# useradd -s /bin/false user1
在Linux中,新增一个用户的同时会创建一个新组,这个组与该用户同名,而这个用户就是该组的成员。

如果你想让新的用户归属于一个已经存在 的组,则可以使用如下命令:
# useradd -g user user1
这样该用户就属于user组的一员了。而如果只是想让其再属于一个组,那么应该使用:
# useradd -G user user1
完成了这一操作后,你还应该使用passwd命令为其设置一个初始密码

+删除一个用户
删除用户,只需使用一个简单的命令“userdel 用户名”即可。不过最好将它留在系统上的文件也删除掉,

你可以使用“userdel -r 用户名”来 实现这一目的

+修改用户属性
在前面我们看到了在新建一个用户的时候如何指定它的用户主目录,如何指定它的Shell,如何设置它所

属的组…等等。在Linux中提供了一个命 令来实现:
usermod -g组名 -G 组名 -d 用户主目录 -s 用户Shell
还有一种直接的方法,那就是修改/etc/passwd文件,在这个文件中每个用户占用一行,它的内容为:
用户名:密码:用户ID:组ID:用户全名:用户主目录:用户Shell
不过值得注意的是,密码这一项通常是用一个*号代替的,你是看不到的

+增加一个组
还记得Linux的文件可以为同组的人、非同组的人设置不同的访问权限吗?我们可以根据自己的需要创建

用户组:
groupadd 组名

+删除一个组
同样的,我们有时会需要删除一个组,它的命令就是groupdel 组名

+修改组成员
如果我们需要将一个用户加入一个组,只需编辑/etc/group文件,将用户名写到组名的后面。例如

将newuser用户加入到softdevelop组,只需找 到softdevelop这一行:
softdevelop:x:506:user1,user2
然后在后面加上newuser,形成:
softdevelop:x:506:user1,user2,newuser

+常用网络命令
在Red Hat Linux 7.1系统提供了与网络相关的工具,掌握好这些工具是十分必要的:
第一类:设置工具
1.netconf:
netconf是Red Hat Linux提供的Linuxconf的一部分,主要用于设置与网络相关的参数。它可以在consle

下运行(文本菜单),也可以在X-Window 中运行(图形界面)。在前面,我们介绍过了netconf的一些应

用,它的使用比较简单,只要认识上面的英文就可以了,所以在此就不再多 说。BTW,如果你设置好

了X-Window的话,用用图形界面的netconf,会更漂亮的哟。
2.ifconfig
ifconfig是Linux系统中最常用的一个用来显示和设置网络设备的工具。其中“if”是“interface”的缩写。
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
它可以用来设备网卡的状态,或是 显示当前的设置。
下面我们简单地说明常用的命令组合:
1) 将第一块网卡的IP地址设置为192.168.0.1:
ifconfig eth0 192.168.0.1 (格式:ifconfig 网络设备名 IP地址)
2) 暂时关闭或启用网卡:
关闭第一块网卡:ifconfig eth0 down
启用第一块网卡:ifconfig eth0 up
3) 将第一块网卡的子网掩码设置为255.255.255.0:
ifconfig eth0 netmask 255.255.255.0(格式:ifconfig 网络设备名 netmask 子网掩码)
我们也可以同时设置IP地址和子网掩码:
ifconfig eth0 192.168.0.1 netmask 255.255.255.0
4) 将第一块网卡的广播地址设置为192.168.0.255:
ifconfig eth0 -broadcast 192.168.0.255
5) 将第一块网卡设置为不接收多播数据包:
ifconifg eth0 allmulti
如果要让其接收,则使用命令:ifconfig eth0 -allmulti
6) 查看第一块网卡的状态:
ifconfig eth0
如果要查看所有的网卡状态,则直接使用不带参数的ifconfig命令即可。
ifconfig输出的状态信息是十分有用的,下面,我们就简单说明一下:
有几个状态比较重要:
- UP/DOWN:网卡是否启动了,如果是DOWN的话,那肯定无法用的;
- RX packets中的errors包的数量如果过大说明网卡在接收时有问题;
- TX packets中的errors包的数量如果过大说明网卡在发送时有问题;
3.route
route命令是用来查看和设置Linux系统的路由信息,以实现与其它网络的通讯。要实现两个不同的子网之

间的网络通讯,需要一台连接两个网络 路由器或者同时位于两个网络的网关来实现。
在Linux系统中,我们通常设置路由是为了解决以下问题:该Linux机器在一个局域网中,局域网中有一个

网关,能够让你的机器访问Internet, 那么我们就需要将这台机器的IP地址设置为Linux机器的默认路由


1) 增加一个默认路由:
route add 0.0.0.0 gw 网关地址
2) 删除一个默认路由:
route del 0.0.0.0 gw 网关地址
3) 显示出当前路由表
route
第二类:诊断工具
1.ping
ping是一个最常用的检测是否能够与远端机器建立网络通讯连接。它是通过Internet控制报文协议ICMP来

实现的。而现在有些主机对ICMP进行过 滤,在这种特殊的情况下,有可能使得一些主机Ping不通,但能

够建立网络连接。这是一种特例,在此事先说明。
同样的,在此不罗列ping命令的所有可选参数,而是通过实例来说明一些常用的组合,需要更详细地了解

的,可以通过www.linuxaid.com.cn网站 在线培训的命令查询工具获得。
1) 检测与某机器的连接是否正常:
ping 192.168.0.1
ping www.linuxaid.com.cn
也就是说,我们可以用IP地址或域名来指定机器。
2) 指定ping回应次数为4:
在Linux下,如果你不指定回应次数,ping命令将一直不断地向远方机器发送ICMP信息。我们可以通过-c

参数来限定:ping -c 4 192.168.0.1
3) 通过特定的网卡进行ping:
有时,我们需要检测某块网卡(系统中有多块)能否ping通远方机器。我们需要在执行ping命令时指出:
ping -I eth0 192.168.0.1
2.traceroute
如果你ping不通远方的机器,想知道是在什么地方出的问题;或者你想知道你的信息到远方机器都经过了

哪些路由器,可以使用traceroute命 令。顾名思义:trace是跟踪,route是路由,也就是跟踪路由。
使用这个命令很简单:
traceroute 远程主机IP地址或域名
这个命令的输出类似:
1 路由器(网关)的IP地址 访问所需时间1 访问所需时间2 访问所需时间3
2 路由器(网关)的IP地址 访问所需时间1 访问所需时间2 访问所需时间3
………
1) 最前面的数字代表“经过第几站”;
2) 路由器(网关)的IP地址就是“该站”的IP地址;
3) 访问所需时间1、2、3是指访问到这个路由器(网关)需要的时间。

3.netstat
在Linux系统中,提供了一个功能十分强大的查看网络状态的工具:netstat。它可以让您得知整个Linux

系统的网络情况。
1)统计出各网络设备传送、接收数据包的情况:
使用命令:netstat -i
这个命令将输出一张表,其中包括:
Iface:网络接口名 MTU:最大传输单元
RX-OK:共成功接收多少个包 RX-ERR:接收的包中共有多少个错误包
RX-DRP:接收时共丢失多少个包 RX-OVR:共接收了多少个碰撞包
TX-OK:共成功发送多少个包 TX-ERR:发送的包中共有多少个错误包
TX-DRP:发磅时共丢失多少个包 TX-OVR:共接收了多少个碰撞包
2)显示网络的统计信息
使用命令:netstat -s
使用这个命令,将会以摘要的形式统计出IP、ICMP、TCP、UDP、TCPEXT形式的通信信息。
3)显示出TCP传输协议的网络连接情况:
使用命令:netstat -t
这个命令的输出也是一张表,其中包括:
Local Address:本地地址,格式是IP地址:端口号
Foreign Address:远程地址,格式也是IP地址:端口号
State:连接状态,包括LISTEN、ESTABLISHED、TIME_WAIT等。
4)只显示出使用UDP的网络连接情况:
使用命令:netstat -t
输出格式也是一样的。
5)显示路由表:
使用命令:netstat -r
这个命令的输出与route命令的输出相同。
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
+网络配置文件
在Red Hat Linux 7.1中有一些用于存放网络配置的文件:
1./etc/hosts
在该文件中存放的是一组IP地址与主机名的列表,如果在该列表中指出某台主机的IP地址,那么访问该主

机时将无需进行DNS解析。
2./etc/host.conf
该文件用来指定域名解析方法的顺序,如:
order hosts,bind
它说明,首先通过/etc/hosts文件解析,如果在该文件中没有相应的主机名与IP地址的对应关系,再通过

域名服务器bind进行解析。
3./etc/resolv.conf
在该文件中存放域名服务器的IP地址。
4./etc/protocols
Red Hat Linux 7.1系统使用该文件辨别本主机使用的,并通过它完成协议和协议号之间的映射,用户不

应修改该文件。
5./etc/services
该用户用于定义现有的网络服务,用户无需修改它,它通常由安装网络服务的程序来维护。该文件包括网

络服务名、网络端口号和使用的协议类 型,其中网络端口号和使用的协议类型之间有一个斜杠分开,在

设置行的最后还可以添加一些服务的别名。
5./etc/xinetd.d目录
在Linux系统中有一个超级服务程序inetd,大部分的网络服务都是由它启动

的,如chargen、echo、finger、talk、telnet、wu-ftpd等…,在7.0 之间的版本它的设置是

在/etc/inetd.conf中配置的,在Red Hat 7.0后,它就改成了一个xinetd.d目录。
在xinetd.d目录中,每一个服务都有一个相应的配置文件,我们以telnet为例,说明一下各个配置行的含

义:
service telnet
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.telnetd
log_on_failure+=USERID
disable=yes
}
第一行,说明该配置用来设置telnet服务。
第二行,说明Socket连接类型是stream,也就是TCP
第三行,是指不等待到启动完成
第四行,是指以root用户启动服务进程
第五行,是指服务进程是/usr/sbin/in.telnetd
第六行,是用于做一些出错日志
第七行,是指禁止远方telnet,如果需要开放则将该配置改为:disable=no
修改了xinetd的配置,需要重启xinetd才能够生效,有两种方法可以实现:
1) 执行如下命令:
/etc/rc.d/init.d/xinetd restart
2) 执行如下命令:
killall -HUP xinetd

+网络服务访问限制
在Red Hat Linux 7.1中加强了网络安全的防范,如果你安装时安全等级不是在最低一级的话,那么本机

之外的所有访问都可能被拒绝。这是因为 在Red Hat 7.1中做了一些默认的ipchains设置,这是Linux内

置的防火墙机制,它可以使用一些规则来允许或禁止某种访问。
它的规则存放在/etc/sysconfig/ipchains文件中,如果你想让它暂时不生效,那你可以运

行/etc/rc.d/init.d/ipchains stop,那么所有的规则 都被取消,所有的网络访问都将被允许。
你可以运行/etc/rc.d/init.d/ipchains status来获知现在对网络访问的限制。关于这方面的知识,本文

限于篇幅无法详细介绍,有兴趣的读者 可参考《Linux防火墙》一书。

+WEB服务器
在Linux系统中最适合于做服务器的当数Apache,Red Hat Linux 7.1中集成了Apache 1.3.19版,你只要

在安装时选中WEB服务器,那么系统将自 动完成Apache服务器的安装,在默认情况,WWW服务就已经启动

了。
如果你在安装时没有选择WEB服务器包,那也没有关系,你只需执行以下命令即可:
1) 将Red Hat Linux 7.1安装光盘的第一张放入光驱,然后执行如下命令:
# mount /mnt/cdrom
2) 转到apache安装文件所在目录:
# cd /mnt/cdrom/RedHat/RPMS
3) 使用RPM完成安装:
# rpm -ivh apache-1.3.19-5.i386.rpm
现在,你就已经拥有一个基于Linux的WEB服务器了,它的配置文件位于/etc/httpd/conf目录下,你可根

据需要进行相应的修改,修改完后执 行:/etc/rc.d/init.d/httpd restart即可。而WEB服务的主目录则

在/var/www/html目录下,你可以将你的WEB页传到这里就可以更新了。
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
而如果每一个用户都想要拥有一个自己的主页的话,则:
1) 首先在自己的用户主目录下建一个public_html目录:
# cd
# mkdir public_html
2) 然后将自己的用户主目录的权限改为大家可读
# chmod 755 用户主目录
3) 这样你就可以使用“localhost/~用户名/”访问到每个用户的主页了。
5.5 FTP服务器
在Red Hat Linux 7.1中集成了Wu-FTP 2.6.1做为FTP服务器,在你安装时只要选择了FTP包的话,那么你

的Linux服务器就是一台FTP服务器了,如 果当时没有安装的话,也没有关系,跟安装apache一样:
1) 将Red Hat Linux 7.1安装光盘的第一张放入光驱,然后执行如下命令:
# mount /mnt/cdrom
2)转到wu-ftp安装文件所在目录:
# cd /mnt/cdrom/RedHat/RPMS
3)使用RPM完成安装:
# rpm -ivh wu-ftp-2.6.1-16.i386.rpm
由于FTP服务是由xinetd超级服务器创建的,所以关于FTP服务器的配置在/etc/xinetd.d目录下的wu-ftpd

文件中:
service ftp
{
socket_type=stream
wait=no
user=root
server=/usr/sbin/in.ftpd
server_args=-l -a
log_on_success+=DURATION USERID
log_on_failure+=USERID
nice=10
disable=no
}
下面,我们介绍一些关于FTP服务器的管理方法:
1、 暂时关闭FTP服务
有两种方法可以使FTP服务暂停:
1) 以root用户身份执行:
# ftpshut now
这样就会在/etc目录下生成一个shutmsg的文件,这时FTP服务器将无法使用,直到你删掉这个文件。
2) 修改配置文件/etc/xinetd.d/wu-ftpd,将disable=no改为disable=yes,然后重启xinetd。
2、 禁止某用户使用FTP服务
有两种方法可以禁止某用户使用FTP服务器:
1) 在/etc/ftpuser中写入该用户帐号名
2) 在/etc/ftpaccess中写入一行配置:
deny-uid 用户名
用这种方法还可以禁止一个组的用户使用
deny-gid 组名
3、 禁止匿名用户(anonymous)登录FTP服务器
有许多种方法可以实现,但我觉得最简单有效的方法就是将anonymous写入配置文件:/etc/ftpuser中,

就可了

+文件服务器
我们还可以使用Red Hat Linux 7.1内置的Samba为局域网内的Windows主机做文件服务器。如果在安装系

统时选择了SMB服务器软件包的话,那么 安装完以后,Samba服务就已经Ready了。
不过为了方便配置,建议安装一下swat,它提供了一个WEB界面的配置工具。它的安装包是第二张光盘

的/RedHat/RPMS/samba-swat-2.0.7- 36.i386.rpm。
安装完以后,它会在xinetd.d目录中新建一个swat文件,其内容为:
service swat
{
port=901
socket_type=stream
wait=no
only_from=127.0.0.1
server=/usr/sbin/swat
log_on_failure+=USERID
disable=yes
}
我们看到disable的值是yes,也就是说,现在swat还没有启用,因此,我们需要将其改为disable=no,然

后重启xinted。另外,由于这里有一 句:
only_from=127.0.0.1
说明只能在本机使用swat,而如果你想在Windows中用IE来配置的话,请将这句注释掉或删掉。
下面,我们以设置一个大家都可以访问的homes目录为例,说明SWAT的设置方法:
1) 打开IE浏览器,在地址栏上输入Linux的主机名或IP以及“:901”,例如:
http://192.168.0.1:901
2) 如果连接正常,将出一个登录提示窗,要求输入用户名与密码,在此以root为用户名,并输入root用

户的密码,再单击确定;
3) 如果输入无误,将出现Samba的配置界面:Swat的首页;
我们可以看到在Swat界面中,最上面有7个图标,分别是:HOME(首页)、GLOBALS(全局设置)、SHARES

(共享设置)、PRINTERS(打印 机)、STATUS(状态)、VIEW(查看)、PASSWORD(密码)
4) 首先,我们单击GLOBALS图标,将出现GLOBALS设置页面,其中我们对以下几项进行设置:
? BaseOption à Workgroup:在些输入工作组名(如NetBIOS中的工作组名)
? BaseOption à Netbios name:主机名
? SecurityOption à Security:选择安全等级,在些选择“SHARE”
? SecurityOption à hosts allow:允许的主机,通常写入你的网络号,如192.168.0.
? SecurityOption à hosts deny:如果你不让某台机器使用,则写入它的IP地址
修改完后,点击“Commit Changes”按钮(在7个图标的下边一些),保存设置。
5) 然后,单击SHARES图标,进行共享设置:
第一步:在Create Share按钮的右边文本框中输入要设置的共享名
第二步:单击“Create Share”按钮;
第三步:确认“BaseOptions à Path的值为你想共享的目录,例如/home/smb/test(注意这必须是已经存

在的目录);
第四步:将“SecurityOptions à writeable”的值设置为Yes,使该目录共享为可写;
第五步:将“SecurityOptions à guest ok”的值设置为Yes,使该目录无需密码访问;
第六步:在“SecurityOptionsàhosts allow、hosts deny”中设置相应的主机IP;
第七步:将“BrowseOptionsàbrowseable”设置为Yes,使其便于使用
最后,点击“Commit Changes”按钮,保存设置。
现在,我们就可以在Windows 9x上通过网络邻居访问到这台Samba服务器,并且有一个可读、可写的共享

目录。
在平时使用的时间,系统管理员可以点击“STATUS”按钮,切换到状态页面对其进行监测,在这个页面上,

你可以:
1) 启动(Start smbd按钮)、停止Samba(Stop Smbd按钮)服务,以及重启服务(Restart smbd按钮)


2) 另外,你可以看到当前与Samba服务器建立的连接(Active Connections),并且可以按下“X”按钮,

中止它的访问;
3) 同时你还可以检测到正在访问的文件夹(Active Shares),正打开的文件(Open Files)。
Samba服务还可以对用户进行认证,与Window NT域进行集成等强大的功能,在些限于篇幅就不详细介绍,

有兴趣的读者可以参考《实战Samba》一 书
51 c8051f(f020,f040) msp430 arm(2410,2510) fpga(xc3s4000) dsp(5116 dm642) keilc vc++ matlab linux protel Ten_layerPCB mpegx h.26x Rscode Turbocode ofdm VideoBroadcasting ldpc_code(now!)
返回列表