Linux入门到精通完全篇

Linux入门到精通完全篇

 

 

 

 

 

一、登入与离开系统

1、启动引导界面有grub和lilo

grub的启动配置文件位于/boot/grub/grub.conf,主要内容为:
default=0 #默认启动操作系统的时间
password= #启动时对grub.conf添加密码
kernal /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
#在其后加sinle启动可进入单用户模式
grub启动时按e可进入编辑状态

lilo的启动配置文件位于/etc/lilo.conf(未启用时文件名为lilo.conf.anaconda)
lilo启动时按ctrl+x,然后用linux -s可进入单用户模式

grub到lilo的转换:
mv lilo.conf.anaconda lilo.conf
lilo
lilo到grub的转换:
grub
grub>root(hd0,0)
grub>setup(hd0)
grub>quit


2、启动顺序:搜索检测硬件-开启服务-进入系统

3、提示符
[root@linuxsato root]#
第一个root为当前系统用户
linuxsato为主机名
第二个root为当前目录
#为root用户状态,普通用户状态为$

4、登出系统用exit

5、进入图形界面用startx 已启动用ctrl+alt+F7

6、文字终端切换 ctrl+alt+(F1-F6)

7、常用按键
ctrl+c:中断当前程序
q:退出 
Tab:命令或文档补全
上下箭头:翻看执行过的命令

8、在线帮助
man
info
--help

9、关机
sync:同步
立即关机用:shutdown -h now、shutdown -h 0、init 0
立即重启用:shutdown -r now、shutdown -r 0、init 6、reboot
shutdown -h +10 :10分钟后关机
shutdown -r +10 :10分钟后重启
shutdown -t secs 10:10秒钟后关机

10、一些系统命令
echo:显示
PATH:路径环境变量(使用环境变量用“$环境变量名”,设置用“环境变量名=”值与值之间以“:”分隔)
date:显示日期和时间
cal:显示日历
bc:计算器
*(不包括.和/)?[]''""($、'、""、``保留其功能)``
修改年月日

date -s 20060109

修改时间

date -s 10:19:00

写入到cmos

hwclock -w


二、文件和目录操作命令

cd:改变目录,内部命令
pwd:显示当前目录,内部命令
~:当前用户的家目录
ls:浏览目录
选项:-a:所有文件(包括隐藏文件);-l:显示长文件名
mkdir:创建一个目录
选项:-p:允许创建多级目录
rm:删除文件或目录
选项:-R、r:包括子目录和文件;-f:强制删除
cp:复制文件或目录
选项:-R、r:包括子目录和文件;-f:强制覆盖
mv:移动文件或目录(包括子目录和文件)
例:
mv abc abcd
(abc为文件名,可以用文件abc更名为abcd)
mv abc abcd
(abc为目录名)

文本文件相关命令:
touch:创建一个空的文件。
more:分页显示文件,不可翻页。
less:分页显示文件,可翻页。
cat:显示文件或创建文件(cat >文件 用ctrl+d保存)。
tac:从最后一行开始显示文件。
head -n 10 <文件>:显示头10行。
tail -n 10 <文件>:显示尾10行。
vi:编辑文件。
(:w、:q、:wq:分别为保存、退出、保存退出,后面加上“!”表示强制。
:w <路径>:另存为。
:r <路径>:读入另一文件的内容。
:e!:恢复到上一次保存的状态。

h l k j:向左、右、上、下移动光标
^:将光标移到行首。
$:将光标移到行末。
H、M、L:分别为将光标移到屏幕的顶端、中端、底端。
^f:向下翻页。
^d:向下翻半页。
^b:向上翻页。
^u:向上翻半页。
i:在光标前插入。
I:在光标所在行首插入。
a:在光标后插入。
A:在光标所在行末插入。
o:在光标所在行后面插入一空白行。
O:在光标所在行前面插入一空白行。
x:等价于del。
X:等价于backspace。
dw:删除词,从光标处开始删除。
dd、ndd:删除行,n代表行数。
D:删除行,从光标处向后删除。
d0(零):删除行,从光标处向前删除。
dG:删除光标所在行到结尾的所有内容。
yy、nyy:复制行,n代表行数。
p:粘贴。
u:undo
/:查找,在查找中可使用n向下查找,N向上查找。
:n1,n2s/old/new/c:查找替换,c表示替换前询问,n1,n2缺省为本行,%为全文,n,$为某行到末行。
例:%s/old/new
11,$s/old/new)
grep :检索含有检索词的行。
选项:-v:检索不包含检索词的行
wc:统计文件行数,字数和字符数。
选项:-l:统计行数。-w:统计字数(以空格为界)。-m:统计字符数。
cut:分割(以行为单位)
选项:-d "<分隔符>":设置分隔符。-f <区域>:设置用分隔符分隔后要显示的区域。
   以上两个选项可以组合使用。
   -c 起始-结束位置:以起始-结束位置分割行并显示。
例:cat /etc/passwd |cut -d ":" -f 1
last |cut -c 1-9


find <目录> <选项> <内容>:查找文件
选项:-name:以文件名查找;-user:以用户名查找
例:
find / -name abc
find / -name *abc
find / -user user1 #查找user1的所有文件
which:在$PATH范围内查找

-rwxrw-r-- 1 root root 123
第一个“-”为文件类型:
d:目录
l:链接文件
b:块设备
c:字符设备
后面9个字符为文件或目录的权限
前三个为所有者权限
中间三个为属组权限
后三个为其组权限
r:读 4
w:写2
x:执行 1
chgrp:改变文件或目录属组
选项:-R:包括子目录和文件
例:
chgrp user abc
chown:改变文件或目录所有者
选项:-R:包括子目录和文件
例:
chown user1:user abc
(user1为所有者,user为属组)
chmod:改变文件或目录权限
选项:-R:包括子目录和文件
有两种方法:
(1)用数值
例:
chmod 777 abc
777为rwxrwxrwx
(2)u代表所有者权限;g代表属组权限;o代表它组权限;a代表所有人
+为添加权限;-为删除权限;=为设置权限
例:
chmod u=rwx,g=rw,o=r abc
abc的权限为rwxrw-r--
chmod u-x,g-w,o+w abc
在原有基础上对所有者权限减x,对属组权限减w,对它组权限加w


三、磁盘管理

1、磁盘表示法:以文件的形式存在,位于/dev/
ide硬盘表示法:
hda hda1 hda2 …
hdb
hdc

SISC硬盘表示法:
sda sda1 sda2 …
sdb
sdc

光驱:
/dev/cdrom
/dev/cdrom1

软驱:
/dev/fd0
/dev/fd1
/dev/fd2

USB设备:当作SISC硬盘处理,在SISC硬盘后处理。

2、磁盘操作命令
fdisk:分区
选项:-l:查看磁盘状况;直接跟硬盘文件为进行分区。
(m p n d w q)
最多只能建立4个基本分区,最多只能建立一个扩展分区,在扩展分区上建立逻辑分区
扩展分区或基本分区号只能为1-4;逻辑分区号只能从5开始。
mke2fs:格式化磁盘。
选项:-j:ext3格式,否则为ext2格式;-i:设置i节点大小,默认为4K,类似文件分配表;   -b:设置b节点大小,用于存放文件内容。
df:查看各挂载分区总容量,使用容量等
选项:-m:以M字节显示
du:查看当前目录下所有目录大小
du -a:查看当前目录下所有文件和目录大小
du -s:查看当前目录大小
fsck:磁盘坏轨检测/修复
选项:-a:进行修复
mount <设备文件名> <挂载目录>:挂载
选项:-t:指定类型
例:
光盘:mount [-t iso9660] /dev/cdrom /mnt/cdrom
软盘:mount [-t msdos] /dev/fd0 /mnt/floppy
分区:mount [-t ext3] /dev/sdb1 /mnt/sdb1
对于光盘可简写成:
mount /dev/cdrom
mount /mnt/cdrom
对于软盘可简写成:
mount /dev/fd0
mount /dev/floppy
分区没有这种简写法。
umount <设备文件名> <挂载目录>:卸载
选项:-a:卸载所有设备
要点:
(1)挂载、卸载不能在工作目录下进行。
(2)挂载成功后,工作目录的文件会暂时离开。
(3)/etc/fstab存放系统开机后自动挂载的分区的配置信息。

3、制作Linux启动盘
mkbootdisk --device /dev/fd0 `uname -r`
uname -r:显示Linux核心的版本


四、Linux的目录结构

1、目录
/bin:可执行文件
/boot:Linux 核心文件,开机相关文件(vm(Linux-2.14.18-14))
    /boot/grub/grub.conf
/dev:设备相关文件(/dev/cdrom)
/etc:系统服务配置文件,开机读取文件(*.conf, dhcpd.conf,named.conf)
/etc/rc.d:开批机处理文件
/etc/rc.d/init.d /etc/xinetd.d:: 服务启动文件
/etc/X11:X-win 设定文件 XF86Config
/etc/sysconfig:系统设置文件
/home:家目录
/root:root用户家目录
/lib:函数库
/mnt(mount的缩写):挂载点目录
  /mnt/cdrom:光驱 /mnt/floppy:软驱
/proc:系统执行过程中的各种状态信息
/sbin:可执行文件(root使用)
/tmp:存放临时文件
/usr:程序与指令(相当于Windows的programfiles目录)
   /usr/bin = /bin
   /usr/sbin =/sbin
/var:服务登录活页夹/ 日志等
   /var/log:日志
   /var/spool/mail:E-mail
/lost + found:碎片文件


2、文件
~/.bashrc文件:别名设定
~/.bash_profile文件中可以进行PATH设置
~/.bash_history:用户操作命令的历史
~/.bash_logout:退出系统要执行的命令
/etc/inittab:设置运行级别、开启几个字符终端、开关ctrl+alt+del
/etc/sysconfig/i18n:字符集设置
/etc/fstab:存放系统开机后自动挂载的分区的配置信息。
/etc/profile:PATH、MAIL、History设置
/etc/bashrc:umask设置
/etc/man.config:帮助文件路径


五、Linux帐号管理

1、几个重要文件
/etc/passwd:存放帐号信息的文件
例:
root:x:0:0:root:/root:/bin/bash


①为用户名
②:密码象征位
③:uid(用户标识号)
0为系统管理员
1-499为系统帐号
500-65535为普通帐号
④:gid(组标识符)
0为系统管理组
1-499为系统帐号组
500-65535为普通帐号组
⑤:为说明字段
⑥:家目录
⑦:shell
/bin/bash 帐号可用于登录
/bin/nologin 帐号不可用于登录

/etc/shadow:用户口令加密文件
例:
root:$aasxw:1667:0:99999:7:::
①   ②      ③ ④  ⑤  ⑥⑦⑧⑨
①:用户名
②:加密的口令,前加“!”为失效口令
③:上次变更密码的日期(相对于1970.1.1的天数)
④:密码不可变更的天数,0代表随时可变更
⑤:几天后必须更改密码
⑥:密码到期前7天提示
⑦:失效时间
⑧:取消帐号时间

/etc/group:组信息文件

2、帐号管理指令

groupadd:添加组
选项:-g:后面跟gid
groupdel:删除组(先删除组中的帐号,才能删除组)
useradd:添加用户
选项:-u:后面跟uid;-g:后面跟gid;-o:允许uid重复
例:
useradd user1
useradd -u 510 -g 510 test
useradd -u 0 -g0 -o admin(添加一个系统管理员admin,系统管理员的帐号uid和gid都为0)
userdel:删除帐号
选项:-r:完全删除
usermod:暂时停用或启用帐号
选项:-L:停用;-U:启用
su <帐号>:身份切换,主要用于telnet登录,默认帐号为管理员root
选项:-:加载shell
id:查询用户信息
groups:查询用户所属组
w:查看登录用户信息
finger:查询登录帐号信息


3、手工添加用户

(1)建组/etc/group
(2)建帐号/etc/passwd
(3)修改密码
pwconv passwd
passwd <用户名>
(4)建立家目录并拷贝家目录下的配置文件
mkdir
cp -r /etc/skel /home/家目录
(5)更改家目录属性

 

六、压缩与打包

gzip:压缩成*.gz格式,不保留原文件,只能压缩文件
选项:-1~9:压缩比。-d:解压缩。
例:gzip abc
bzip2:压缩成*.bz2格式,不保留原文件,只能压缩文件
选项:-d:解压缩。-z:压缩,可省略。-k:保留原文件。-f:若文件存在则强制覆盖。
例:bzip2 abc
zcat:查看*.gz文件内容
bzcat:查看*.bz2文件内容
tar:压缩或打包文件或目录,保留原文件
选项:-c:打包。-x:解包。-z:压缩(gzip,*.tar.gz)。-j:压缩(bzip2,*.tar.bz2)。-v:显示信息。
   -f:使用*.tar/*.tar.gz/*.tar.bz2格式,放在最后。-t:不解压查看。
例:
tar -cvf abc.tar abc
tar -xvf abc.tar

tar -zcvf abc.tar.gz abc
tar -zxvf abc.tar.gz

tar -jcvf abc.tar.bz2 abc
tar -jxvf abc.tar.bz2

tar -tvf abc.tar
tar -ztvf abc.tar.gz
tar -jtvf abc.tar.bz2

 

七、链接文件


硬链接文件与源文件是指向同一物理区块。
软链接文件是指向源文件

ln:硬链接文件
选项:-s:软链接文件或目录。
例:
ln abc.txt abc.txt.hard
ln -s abc abc.soft
硬链接文件与软链接文件的区别:
(1)硬链接文件的文件类型是-;软链接文件的类型是l。
(2)硬链接文件只能链接文件不能链接目录;软链接文件可以链接文件或目录。
(3)硬链接文件或软链接文件及其源文件一方修改不影响另一方。
(4)硬链接文件与源文件删除一方不影响另一方;软链接文件删除不影响源文件,源文件删除,软链接文件不可用。

 

 

八、程序管理


ps:查看进程。
选项:-aux:详细查看所有进程。-A、-e:所有进程。
-a:列出带有控制终端的全部进程。-x:列出没有控制终端的进程。-u:列出进程的所有者。
输出结果标题的含义
USER:谁拥有这个进程。
PID:进程的标识符。
%CPU:进程占用CPU的百分比。
%MEM:进程占用内存的百分比。
VSZ:进程占用虚拟内存的总量。
RSS:进程占用的真实内存的总量。
TTY:进程的控制终端。
STAT:进程的状态。S为进程休眠中。R为CPU正在处理的进程。D为不可中断休眠状态。
       T为正在被纠错程序跟踪或者已经被终止的进程。Z为“昏迷”的进程。
       W为内存中没有驻留页面。<为高优先权进程。N为低优先权进程。
       L为内存被锁定在那里(通常就表示需要实时操作功能)。
START:进程开始的时间。
COMMAND:进程名称和它的命令行参数。
top:动态查看进程。
kill:删除进程(包括后台进程,可用pid和%工作号)
选项:-15:停止,可省略。-9:删除。-1:挂起。
&:后台运行,跟在命令后。
^Z:切换到后台并停止。
fg:切换到前台运行。
bg:将后台程序运行起来。
   fg %工作号
   bg %工作号
jobs:查看后台程序。

 


九、系统查看


dmesg:查看系统硬件信息。
free:查看系统内存使用情况。
uname:查看Linux系统信息。
选项:-a:所有信息。-r:版本号。-n:主机名。
Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux
uptime:查看开机多久,多少人登录,过去1、5、15分钟系统负载。
w:查看登录用户信息。
finger:查看登录用户信息。
last:查看最近一个月用户登录情况。
选项:-5:最近五天。

 

十、shell

shell是命令解析器

常用的Linux shell:bash shell、B shell(Bourne shell)、C shell、K shell

bash shell的特点:
1、命令的记忆功能
2、指令和文件名补全功能
3、命令别名功能
4、前后台操作
5、可进行编程

bash shell设定文件
系统设定文件:
/etc/profile
/etc/bashrc
/etc/man.config
个人设定文件:
~/.bashrc
~/.bash_profile
~/.bash_history
~/.bash_logout
(/etc/skel)


bash shell有关符号
1、*:n个字符,不包括/。
?:1个字符。
[]:表示1个字符的范围,方括号中的字符范围可以由直接给出的字符组成,也可以由表示限定范围的起始字符、终止字符及中间的连字符(-)组成。
特别需要注意的是,连字符“-”仅在方括号内有效,表示字符范围,如在方括号外面就成为普通字符了。
而*和?在方括号外面是通配符,若出现在方括号之内,它们也失去通配符的能力,成为普通字符了。
2、'':用单引号括起来的字符都作为普通字符出现。
"":由双引号括起来的字符,除''、""和$这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。
``:用反引号括起来的字符串被shell解释为命令行,执行时,命令中的特殊字符,如$、"、?等又将具有特殊含义。
3、$:引用变量。
4、#:注释。
5、||:如果前面的命令有错,则执行后面的命令。
&&:如果前面的命令没有错,则执行后面的命令。
6、>:正确输出重定向(覆盖),等价于1>。
>>:正确输出向(追加),等价于1>>。
2>:错误输出重定向(覆盖)。
2>>:错误输出重定向(追加)。
&>:正确和错误输出重定向。
<:输入重定向。
例:正确和错误分别重定向到不同文件
ls /root 1>/tmp/good 2>/tmp/bad
正确和错误分别重定向到相同文件
ls /root 1>/tmp/abc 2>&1
或 ls /root &>/tmp/abc
7、|:管道,前面命令的输出作为后面命令的输入。

 

 

十一、计划任务


1、at <时间>:设置突发性计划任务。
例:at 12:00
at 12:00 2004-6-10
at 5pm+3days
(am) (weeks、hours)
atq:查询at计划任务。
atrm:删除at计划任务。


2、crontab:设置例行计划任务。
选项:-l:查看。-e:编辑。-r:删除所有。
例:每天中午12:00给root发信
0 12 * * * mail -s "test" root 说明:
第一个为分,取值为0-59
第二个为时,取值为0-23
第三个为日期,取值为1-31
第四个为月,取值为1-12
第五个为周,取值为0-6
*代表所有
*/5代表每隔5
例:
12 8 1 * *
0 12 1 6 *
0 12 1 * 0
*/5 * * * *

 

十二、RPM软件管理程序

1、什么是RPM
RPM是软件管理程序,提供软件的安装、升级、查询、反安装的功能。
优点:
a、安装方便,软件中所有数据都经过编译和打包
b、查询、升级、反安装方便
缺点:
a、缺乏灵活性
b、存在相依属性

2、RPM包格式
例:
bind-9.2.1-9.i386.rpm

bind是软件名称
9.2.1-9为版本号
i386为硬件平台

硬件平台有:
i386:适用x86平台
i586:MMX以上
i686:PII以上
noarch:无硬件平台限制

4、资源
/mnt/cdrom/RedHat/RPMS

5、指令选项
-i:安装。
-U:升级安装,如果不存在也安装。
-F:升级安装,如果不存在不安装。
-v:查看信息。
-h:有进度条。
--replacepkgs:强制覆盖安装。
--nodeps:不考虑相依属性。
-q <软件名>:查询。
-qa:查询所有。
-ql <软件名>:列出软件的文件清单。
-qi <软件名>:列出软件信息。
-qf <文件名>:查询文件所属软件。
-e <软件名>:删除软件。
例:
rpm -ivh bind-9.2.1-9.i386.rpm #安装
rpm -Uvh/Fvh bind-10.0.0-6.i386.rpm #升级安装

 

十三、系统服务

linux的系统服务分两种:
1、独立启动型,启动后一直注入内存,位于/etc/rc.d/init.d目录。
2、等待启动型,用xinetd(本身是一个独立启动型服务)调度,配置文件位于/etc/xinetd.d目录。

独立启动型和等待启动型服务的统一管理程序:ntsysv
(并不立即启动,只是设置系统启动时开启的服务)

独立启动型服务的管理:
1、service <服务名> start|stop|restart|status
service --status-all
2、/etc/rc.d/init.d/服务名 start|stop|restart|status

立即启动等待启动型服务:
先在ntsysv中设置,再用service xinetd restart或/etc/rc.d/init.d/xinetd restart。

常见的系统服务有:httpd、named、dhcpd、smb、vsftpd、telnet。

 

十四、系统设置

1、setup:系统设置,配置文件位于/etc/sysconfig/*

2、/etc/inittab:进入开机等级(系统运行级别)、开启几个终端
id:3:initdefault:
3为开机等级。
linux的系统运行级别有
0:系统关机
1:单用户模式
2:多用户模式,没有NFS(网络文件服务)
3:多用户模式,有NFS,开启字符终端,是Linux默认运行级别。
4:系统未用,留给用户,可由用户自行定义
5、多用户模式,开启图形终端
6、重新引导

Trap CTRL+ALT+DELETE为开/关CTRL+ALT+DELETE

3、umask [<掩码>]:文件/目录生成掩码(掩码为三位)
新建文件的默认权限是666-掩码
新建目录的默认权限是777-掩码
例:umask 066
新建文件的默认权限是rw-------
新建目录的默认权限是rwx--x--x

4、file <文件名>:检测文件类型。

5、md5sum <文件名>:生成指纹。

 

十五、Linux TCP/IP设置

1、手工修改配置文件:
(1)/etc/sysconfig/network-scripts/ifcfg-eth0:设置ip、子网掩码等。
DEVICE=eth0
ONBOOT=
BOOTPROTO=static/dhcp
BROADCAST=
IPADDR=
NETMASK=
GATEWAY=
(2)/etc/sysconfig/network:设置主机名和网关。
NETWORKING=
HOSTNAME=
GATEWAY=
(3)/etc/resolv.conf:设置DNS。
nameserver
(4)/etc/hosts:设置本地域名解析
127.0.0.1 linux local.localdomain localhost
(5)/etc/host.conf:指定如何解析主机名。
order hosts,bind #指定主机名查询顺序,先查询/etc/hosts文件,然后再使用DNS来解         析域名。
multi on #指定是否/etc/hosts文件中指定的主机可以有多个地址。
nospoof on #指不允许对该服务器进行IP地址欺骗。


2、命令
ifconfig <网卡> netmask <掩码>:设置IP,临时性的,当重启后无效。

ifdown <网卡>:关闭网卡。
ifup <网卡>:激活网卡。

3、常用的网络命令:
netstat
选项:-a:所有网络连接。-n:以数字形式。-t:显示TCP连接。-u:显示UDP连接。
   -l:显示监听端口。-p:显示PID。
ping
选项:-c:设置发送的包数。
route:显示/修改路由表(静态路由)。
选项:-n:显示路由表。
route add/del -net/host <地址> [netmask ] gw/dev <网关或设备>
例:route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.3.253
route add -host 192.168.2.1 gw 192.168.3.254
traceroute:路由跟踪。

 

十六、DHCP服务设置

主要文件清单:
/etc/rc.d/init.d/dhcpd:服务文件。
/etc/dhcpd.conf:配置文件,要手工去创建。
/usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample:配置文件的样本文件。
/var/lib/dhcp/dhcp.leases:租用文件。

/etc/dhcpd.conf文件的主要内容:
subnet netmask {
option routers ;    #网关ip
option subnet-mask ;   #子网掩码
option domain-name ""; #DNS name
option domain-name-servers ;    #DNS ip
range dynamic-bootp ; #设置地址池
host <标识>{ #设置ip与MAC绑定,多个绑定可用多个host
hardware ethernet 00:00:00:00:00:00;
fixed-address ;
}
}

安装用:rpm -ivh *dhcp*
启用服务:service dhcpd start

 

十七、ftp服务设置

主要文件清单:
/etc/sbin/vsftpd:服务文件。redhat 9.0为/etc/rc.d/init.d/vsftpd
/etc/vsftpd.conf:配置文件。redhat 9.0为/etc/vsftpd/vsftpd.conf
/etc/vsftpd.ftpusers:不能用于ftp登录的用户。
/var/ftp:默认的匿名用户(anonymous或ftp,无密码)登录的目录。

/etc/vsftpd.conf文件配置:
1、默认配置:
anonymous_enable=YES #允许匿名用户访问
local_enable=YES #允许本地用户访问
write_enable=YES #具有写权限
local_umask=022 #本地用户创建文件或目录的掩码
connect_from_port_20=YES #开启20端口
2、允许匿名用户具有写权限(上传/创建目录)
在默认配置下添加以下内容:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
另外还需具有所有权限的目录
3、屏蔽本地所有用户浏览其他目录的权限(除了家目录,匿名用户本身只能访问家目录)
在默认配置下添加以下内容:
chroot_local_user=YES
4、屏蔽部分本地用户浏览其他目录的权限
在默认配置下添加以下内容:
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
另外再创建文件/etc/vsftpd.chroot_list,并添加需要屏蔽的用户。
5、性能选项
idle_session_timeout=600
data_connection_timeout=120
local_max_rate=50000   #本地用户的最高速率
anon_max_rate=30000   #匿名用户的最高速率

修改/etc/passwd文件的用户家目录可以改变用户登录的目录
修改/etc/passwd文件的用户的登录shell为/sbin/nologin,则不能用于本地登录,可以用于ftp登录。

/etc/xinetd.d/vsftpd文件的主要内容:(“=”前后有空格)
only_from = 192.168.1.1|192.168.1.0/24 #只接收来至某ip或网段
no_access = 192.168.3.2|192.168.3.0/24 #拒绝接收来至某ip或网段
access_times = 8:00-17:00 #设置访问时间
instances = 200 #设置最大连接数
per_source = 5 #设置每个ip可有几个连接

ftp客户端使用ftp
help、?:帮助
lcd:本地目录切换
get:下载
put:上传
mget:下载多个文件
mput:上传多个文件
quit、bye:退出

 

十八、SAMBA服务设置

主要文件清单:
/etc/rc.d/init.d/smb #服务文件(实质是smbd和nmbd,它们分别监听不同的端口)
/etc/samba/smb.conf #配置文件
/etc/samba/smbpasswd #samba用户文件

/etc/samba/smb.conf文件的主要内容:
[global]
workgroup= #设置工作组
host allow=192.168.1. 192.168.2. 127. #允许访问的主机
security=user #设置安全等级,安全等级有share、user、server、domain
encryption password=yes #密码在传输中加密
smb passwd file=/etc/samba/smbpasswd #设置samba用户和密码的存放文件
[homes] #共享samba用户的家目录
comment=  #注释
writable=yes #设置共享目录可写
[printers] #设置打印机共享
comment=
path=/var/spool/samba
writable=no
printable=yes
[<标识>] #设置共享目录
comment= #注释
path= #设置共享目录
writable=yes #设置共享目录可写
printable=no #设置共享目录不可打印


添加samba用户:
smbadduser 用户:组    #用户和组必须是linux的用户和组

安装:rpm -ivh *samba*
启用服务:service smb start


十九、DNS服务设置


文件清单:
/etc/rc.d/init.d/named #服务文件
/etc/named.conf #配置文件
/var/named/named.ca #指向根域名服务器
/var/named/local.zone #本地环回地址解析文件


配置DNS服务:
1、修改/etc/named.conf文件(正解、反解、别名、主、辅、子域授权)
options {
directory "/var/named"; #指明DNS区域文件所在的目录
forwarders {ip地址;};  #转发DNS
};

zone "." IN {
type hint; #hint代表高速缓存
file "named.ca";
}; #根域的域名服务器信息从named.ca中得到

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update (none;)
};#本机域名信息存放在localhost.zone文件中,即指定localhost解析为127.0.0.1

zone "0.0.127.in-addr.arpa" IN {
}; #指定本机域名的反解文件

zone "sato.com" IN {
type master; #master为主域名服务器;slave为辅助域名服务器
file "db.sato.com"; #指定区域文件名,如果是辅助域名服务器,则不要指定区域文件,而使用masters {ip地址;};指向主DNS
}; #创建新区域sato.com的正解

zone "168.192.in-addr.arpa" IN {
type master;
file "db.sato.com.arpa";
}; #创建192.168开头的ip的反解

2、在/var/named下创建文件
(1)db.sato.com
@ IN SOA dns.sato.com. root.sato.com. (
20040829 #区域信息文件版本号
28800 #refresh,辅助域名服务器多久刷新一次
14400 #retry,辅助DNS服务器刷新不成功多久重试一次
720000 #expire,刷新不成功后多久失效
86400) #TTL
@ IN NS dns.sato.com.
dns IN A 192.168.1.1
www IN A 192.168.1.2
ftp IN A 192.168.1.3
www1 IN CNAME www
www2 IN CNAME www
#NS代表区域的域名服务器;A:主机(正解);PTR:反解;CNAME:别名;MX:邮件;HINFO:硬件信息。

(2)db.sato.com.arpa
@ IN SOA dns.sato.com. root.sato.com. (
20040829 #区域信息文件版本号
28800 #refresh,辅助域名服务器多久刷新一次
14400 #retry,辅助DNS服务器刷新不成功多久重试一次
720000 #expire,刷新不成功后多久失效
86400) #TTL
@ IN NS dns.sato.com.
1.1 IN PTR dns.sato.com.
1.2 IN PTR www.sato.com.
1.3 IN PTR ftp.sato.com.
#有反解文件必有正解文件,并且两文件的域名和ip要对应

子域授权的一个例子(主要使用NS标记指向子域)
1、修改/etc/named.conf
zone "linux.com" IN {
type master;
file "db.linux.com";
};
2、vi /var/named/db.linux.com
@ IN SOA dns.linux.com. root.linux.com. (
20040831
30
15
60
30)
@ IN NS dns.linux.com.
dns IN A 192.168.1.1
redhat IN NS redhat.linux.com.
redhat IN A 192.168.100.1

DNS验证:
nslookup
ping 域名

安装:rpm -ivh *bind*
验证:rpm -qa|grep bind
安装文件组成:
bind:DNS服务器端
bind-utils:DNS工具
caching-nameserver:配置文件


二十、www服务设置

文件清单:
/etc/rc.d/init.d/httpd  #服务文件
/etc/httpd/conf/httpd.conf  #配置文件
/var/www/html  #默认存放主页文件
/var/www/cgi-bin  #CGI程序
/var/www/manual  #apache说明文件
/var/error  #错误提示文件
/var/icons  #图标
/var/log/httpd  #日志文件

配置HTTP服务
1、/etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd"  #指定http运行目录
Timeout 300  #client超过300s还未连上则断开
Listen 80  #监听端口(可修改,如8080)
DocumentRoot "/var/www/html"  #定义主页存放的路径
MaxClient 150  #支持最多并发访问客户数
2、启用http:service httpd start
3、修改/创建用户自己的主页
在/var/www/html中加入自己创建的主页
主页格式为index.html
修改DocumentRoot "/var/www/html"可将路径修改到其它目录

创建虚拟主机
在同一个主机上为多个单独的域名提供WEB服务,各个域名互不干扰,完全独立
1、创建DNS,为多个域名指定ip
(1)/etc/named.conf
zone "sina.com.cn" IN {
type master;
file "db.sina.com.cn";
};
(2)/var/named/db.sina.com.cn
@ IN SOA www.sina.com.cn. root.sina.com.cn. (
20040831
30
15
60
30)
@ IN NS www.sina.com.cn.
www IN A 192.168.0.3
www1 IN CNAME www
www2 IN CNAME www
2、修改/etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.0.3

ServerName www.sina.com.cn
ServerAlias www
DocumentRoot /var/www/html/www.sina

……(同上)
3、在/var/www/html下创建
www.sina
www1.sina
www2.sina
三个目录对应3个域名并加入index.html文件
4、修改/etc/resolv.conf,将nameserver指向自己
5、service httpd restart

安装:/mnt/cdrom/RedHat/RPMS
rpm -ivh *http*
验证:rpm -qa|grep http


二十一、简易的Linux防火墙配置

ipchain:linux2.2以下版本
iptables:linux2.3以上版本

iptables使用:
-t:指定类型,类型有filter、nat、mangle
-L:查看
-F:清除所有
-X:清除自定义的表
-Z:将所有表计数器与流量统计归零
-D:删除某一条规则
例:
iptables -L
iptables -F
iptables -D INPUT 2

新增规则:
iptables -A|I INPUT|OUTPUT|FORWARD [-i|o ] -p
-s --sport -d --dport -j ACCEPT|DROP
说明:
-A:在最后一行新增规则
-I:在第一行新增规则
INPUT:输入主机方向
OUTPUT:输出主机方向
FORWARD:不进入主机页转发出去
-i:流入网卡方向
-o:流出网卡方向
interface:网卡(eth0、eth1、ppp0)
-p:协议,缺省为所有协议
-s:源ip地址或网段,缺省为所有
-d:目标ip地址或网段
--sport、--dport:端口号
-j:接运作
例:
1、对来自192.168.0.1的所有封包不予接收
iptables -A INPUT -s 192.168.0.1 -j DROP
2、对来自192.168.0.1的ICMP封包不接收
iptables -A INPUT -p icmp -s 192.168.0.1 -j DROP
3、不允许192.168.1.0/24这个网段的机器与本机通信
iptables -A INPUT -s 192.168.1.0/24 -j DROP
4、只允许192.168.0.1这台机器ftp本机,其他机器则不允许
iptables -A INPUT -p tcp -s 192.168.0.1 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 21 -j DROP
5、不允许任何人ping本机
iptables -A INPUT -p icmp -s -j DROP
6、不允许任何人telnet本机
iptables -A INPUT -p tcp --dport 23 -j DROP

保存、清除、还原规则
·iptables-save >/root/iptables.txt  #iptables规则设定后,一旦重启,所有规则将消失
·iptables-restore /root/iptables.txt  #还原
·iptables -F INPUT|OUTPUT|FORWARD  #清除

设定开机后自动运行iptables防火墙
修改/etc/rc.d/rc.local文件加入/sbin/iptables-restore /root/iptables.txt

iptables -A INPUT -p tcp -i eth0 -s 192.168.1.1 --syn -j DROP
#--syn主动联接的则DROP

iptables -A INPUT -p all -m mac --mac-source 01:01:00:00:00:01 -j DROP
 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值