Linux学习笔记

第1讲:Linux应用与发展
1.Linux系统结构:
硬件->内核层->shell层->应用层->用户


第2讲:Linux系统安装
1.远程登录管理工具:putty,SecureCRT
  图形化管理:vnc
  文件传输:SSH Secure


第3讲:Linux常用命令
1.命名规则:除/之外,所有的字符都是合法的。
2.命令格式:命令-选项 参数
  例:ls -la /etc
3.文件处理命令:ls
  文件类型:d 目录
            - 二进制文件
            l 软连接文件link
  权限:r 读
        w 写
        x 执行execute
  用户:u user   所有者
        g group  所有组
        o others 其他人
  ls 选项[-ald][文件或目录]
  -a:显示所有文件
  -l:详细信息显示
  -d:查看目录属性
  -i:文件i节点,linux下每个文件有一个节点
 
 ctrl+c 结束命令


 ls //查看目录结构
 cd //进入目录
 pwd //查看当前目录
 touch //创建一个文件
 mkdir //创建新目录
 cp    //拷贝 加上R表示目录移动
 mv    //移动文件,更名 
 rm    //删除文件 加上-r删除目录 -f(不用确认直接删除)
 
 cat   //查看文件内容
 more  //分页显示内容
 head  //查看文件前几行
 tail  //查看文件后几行
 ln    //产生链接文件 -s 创建软连接 (软连接类似于windows中的快捷方式,硬链类 似于拷贝,同时实时更新)。
 
4.权限管理命令:
  chmod //r-4,w-2,x-1 改变目录或者文件权限
  chown //改变文件或目录的所有者
  chgrp //改变所有组
  umask //缺省值


5.文件搜索命令:
 which    //后街命令,查看命令路径,
 whereis  //查看命令帮助信息
 find     //[搜索路径][搜索关键字] 
-name(文件名) *匹配任意字符 ?匹配单个字符
-size(文件大小) 1个block数据块=512字节 +大于 -小于
-user(所有者)根据文件所有者查找
        -type(文件类型) f二进制文件 l软链接文件 d目录
时间:ctime atime mtime(天为单位) cmin amin mmin(分钟为单位) 
     c-change改变(文件属性) a-access访问 m-modify修改(内容)
     -之内,+超过
链接符号:-a and逻辑与 -o or逻辑或
 find .... -exec 命令  {}[find查询结果] \[转移符]
   -ok(询问确认)


-inum(i节点)
 locate[搜索关键字]
 grep[指定字符串][源文件]


6.帮助命令:
 man[命令或配置文件]
 info[任何关键字]
 whatis[任何关键字]//获取简短信息
 指令 --help
 help 查看shell 内置命令的帮助


7.压缩解压命令
 gzip 选项[文件] //只能压缩文件,不能保留源文件
 gunzip gzip -d  //解压缩
 tar 选项[cvf][目录]
-c 产生.tar打包文件       -x//解压
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
 zip选项[-r][压缩后文件名称][文件或者目录] -r 压缩目录
 uzip //解压缩
 bzip2 选项[-k]保留原文件


7.网络通信指令:
  write //发送指定用户信息
  wall //发送所有用户广播
  ping //测试网络是否连同
  ifconfig


8.系统关机指令:
  shutdown -h now //关机
  reboot //重启系统


9.shell应用技巧
  <talb>键补齐文件名
  命令别名:
alias copy=cp;
alias Xrm="rm -r";
查看别名信息:alias
删除别名:unalias
  输入/输出重定向:
  管道:
命令1|命令2|命令3
  命令连接符:
;连接多个命令
&& ||
  命令替换符:
命令1 ~命令2~(将一个命令的输出作为另一个命令的参数)


第4讲:文本编辑器vim
1.插入命令:
a //光标后附加文本
A //本行行末附加文本
i //在光标前插入文本
I //在本行开始插入文本
o //在光标下插入新行
O //在光标上插入新行
2.定位命令:
h //左
j //下
k //上
l //右

$ //末尾
0 //行首


H //移至屏幕上端
  M //移至屏幕中央
L //移至屏幕下端


:set nu   //设置行号
:set nonu //取消行号
gg   //到第一行
G   //到最后一行
nG   //到第n行
        :n        //到第n行


3.删除命令:
x   //删除光标所在处字符
nx  //删除光标所在处后的n个字符
dd  //删除光标所在行,ndd删除n行
dG  //删除光标所在行到末尾的内容
D   //删除从光标所在处到行尾
:nl,n2d //伤处指定范围的行


4.复制和剪切命令:
yy,Y   //复制当前行
nyy,nY //复制当前行下n行
dd     //剪切当前行
ndd    //剪切当前行以下n行
p,P    //粘贴在当前光标所在行下或行上


5.替换和取消命令
r //取代光标所在处字符
R //从光标所在处开始替换字符,按Esc结束
u //取消上一步操作


6.搜索和替换命令
/string  //向前搜索指定字符串,搜索是忽略大小写:set ic
n        //搜索指定字符串的下一个出现位置
:%s/old/mew/g //全文替换着指定字符串
:n1,n2s/old/new/g //在一定范围内替换指定字符串


7.自定义快捷键:
map //eg:map ^p i#<esc>
ab  name myeail//替换


第5讲:Linux引导流程解析
1.系统引导流程
2.inittab文件剖析
格式:id:run-levels:action:process
id//标识符,一般为两位字母或数字
run-levels//指定运行级别
action//指定运行状态
process//指定要运行的脚本/命令

action常用值:
powerfail//当电源错误是执行process指定命令,不等待其结束
powerokwait//当电源恢复时执行process指定的命令
respawn:一旦process指定命令中止,便重新运行该命令




3.firmware
     |
  BootLoader
     |
   Kernel
     |
    init
     |
  /etc/inittab
     |
  initdefault
     |
  /etc/rc.d/rc.sysinit
     |
  /etc/rc/d/rc
     |
  /etc/rc.d/rcN.d N=0-6
     |
  username password 
  
4.设置自启动程序
ln -s
chkconfig
ntsysv


5.grub配置选项
default:定义缺省启动系统
timeout:定义缺省等待时间
splashimage:定义grub界面图片
hiddenmenu:隐藏菜单
title:定义菜单选项名称
root:设置grub的根设备即内核所在的分区
kernel:定义内核文件所在位置
initrd:命令加载镜像文件
6.grub命令:
e:编辑当前的启动菜单项
c:进入grub的命令行方式
b:启动当前的菜单项
d:删除当前行
esc:返回grub启动菜单界面


7. 给grub设置密码


第6讲:Linux软件包管理
1.RPM包管理
安装:rpm -ivh sudo-1.7.2pl-5.e15.i386.rpm
查询:rpm -q sudo    rpm -qa | grep samba
--excludedocs //不安装软件包中的文档文件
--prefix PATH //将软件包安装到由PATH指定的路径下
--test      //只对安装进行测试,并不实际安装

--replacepkgs  //覆盖安装
--replacefiles //忽略文件冲突
--nodeps       //未解决依赖关系,该命令强制安装

查询(q):
-a //查询所有已安装的软件包
-f //查询文件所属软件包
-p //查询软件包
-i      //查询软件包信息
-l      //显示软件包中的文件列表
-d      //显示被标注为文档的文件列表
-c      //显示被标注为配置文件的文件列表


校验:rpm -V 软件名称
5     //文件的md5校验值
S     //文件大小
                L     //链接文件
T     //文件的创建时间
D     //设备文件
       U     //文件的用户
G     //文件的用户组
M     //文件的权限

软件包文件提取:
rpm2cpio ... | cpio -idv //解压所有文件到当前目录
rpm2cpio ... | cpio -idv ./.... //解压指定文件到当前目录


2.YUM包管理
好处:自动解决软件包的依赖关系,方便软件升级。

yum install //安装
yum check-update //检测升级
yum update  //升级
yum list    //软件包查询
yum info    //软件包信息
yum remove  //卸载
yum -help   //帮助


3.源代码包安装
应用举例(proftpd)


4.脚本安装
应用举例(webmin,openoffice)


5.APT包管理

第7讲:Linux用户管理
1./etc/passwd(用户信息)
root:x:0:0:root:/root:/bin/bash
用户名:密码位:UID:GID:注释性描述:宿主目录:命令解释器(shell)


Linux用户分为三种:
超级用户(root,UID=0)
普通用户(UID 500-60000)
伪用户(UID 1-499)


2./ect/shadow (用户密码)
root:...:14965:0:999999:7:::
用户名:加密密码:最后一次修改时间:最小建个时间:最大时间间隔:警告时间:账号闲置时间:失效时间:标志


3.、/etc/skel
新用户信息文件


4./etc/login.defs 
  /etc/deault/useradd
用户配置文件


5./etc/motd 
登录信息


6.思考:普通用户为什么能够修改密码
SetUID:
当一个用户具备这个权限,用户执行这个程序将以所有者的身份执行
chmod u+s; chmod 4755;


粘着位=1
如果一个权限为777的目录,被设置了粘着位,每个用户都可以在目录下创建文件,但是
只可以删除自己所有者的文件


查找SetUID程序:
find/-perm -4000 -o -peri=m -2000


8.添加用户:
useradd
usermod //用户信息修改


9.用户组管理命令
添加用户组:groupadd -g 888 webadmin


gpasswd //设置组密码及管理组内成员
-a //添加用户到组用户
-d //从用户组中删除用户
-A //设置用户管组理员
-r //删除用户组密码
-R //禁止用户切换为改组


10.对目录授权
groupadd softadm
usermod -G softadm jack
gpasswd -a mary softadm
chgrp softadm /software
chmod g+w /software


11.用户组管理命令
groupadd -g 888 web admin //添加用户组
groupdel //删除用户组 
groupmod //修改组信息


12.用户管理命令
pwck // 检测 /etc/passwd文件(锁定文件)
vipw //编辑  /etc/passwd文件
id   //查看用户id和组信息
finger //查看用户详细信息
su     //切换用户(su - 切换环境设置)
passwd -S //查看用户密码状态
who,w     //查看当前登录用户信息


13.用户组管理命令
groups //查看用户隶属于那些用户组
newgrp //切换用户组
grpck  //用户组配置文件检测
chgrp  //修改文件所在组
vigr   //编辑/etc/group 文件(锁定文件)


14.禁用和恢复用户
禁用:
usermod -L username
passwd -l username
恢复:
usermod -U username
passwd -u username
15.删除用户
userdel -r 用户名


17.chage
设定密码
-l 查看用户密码设置
-m 密码修改最小天数
-M 密码修改最大天数
-d 密码最后修改日期
-I 密码过期后锁定用户的天数
-E 设置密码的过期日期
-W 设置密码过期前,开始警告的天数


18.启动或停用shadow功能
pwconv/pwunconv
grpconv/grpunconv


19.批量添加用户
newusers //导入用户信息文件
pwunconv //取消shadow password功能
chpasswd //导入密码文件(格式 用户名:密码)
pwconv   //将密码写入shadow文件


20.限制用户su为root
groupadd sugroup
chmod 4550 /bin/su
chgrp sungroup /bin/su


21.Apache
编辑Apache配置文件
使用Apache启动脚本
更新网页


A:
a.设置用户为配置文件所有者 chown
b.改变所属组,把用户加入组,授予组 w 权限
c.visudo 用户 地址=/bin/vi/etc/httpd/conf/httpd.conf


B:
a.visudo 用户 地址=/bin/vi/etc/httpd/conf/httpd.conf start reload fullstatus configtest


C:/var/www/html 改变所有者


D:
ftp


第8讲:Linux进程管理
1.程序和进程
程序(静态概念)
进程(动态概念)
2.程序和进程的区别
前台进程:异步运行(等待)
后台进程:同步状态(不需要等待)
3.进程状态
就绪,等待,运行
4.进程命令
w:
JCPU//所消耗的CPU时间
PCPU//CPU执行程序耗费的时间
WHAT用户正在执行的操作
load average:分别显示系统在过去1,,,,15分钟内的平均负载程度
FROM:显示用户从何何处登录
IDLE:用户限制的时间
ps:(查看进程)
a//显示所有用户进程
u//显示用户名和启动时间
x://显示没有控制终端的进程
e://显示所有进程,包括没有控制终端的进程
l:长格式显示
w:宽行显示,可以使用多个w进行加宽显示

PID//进程号
PPID//父进程的进程号
TTY//进程启动的终端
STATA//进程当前状态 S休眠 D不可中断的休眠 R运行 Z僵死 T停止        NI//进程优先级

TIME//进程启动以来启动CPU的总时间
COMMAND/CMD:进程的命令名
USER//用户名
%CPU:占用CPU时间和总时间的百分比
%MEM:占用内存与系统内存总量的百分比

ps -le or -aux//查看隶属于自己进程详细信息
ps -uU user//查看系统中指定用户执行的进程
kill:(杀死进程)
kill -9 进程号(强行关闭)
kill -1 进程号(重启进程)
xkill//关闭图形程序
killall//结束所有进程
pkill 服务名称//杀掉进程
pgrep 程序名字//判断程序是否正在运行

nice:(指定程序的运行优先级)
格式:nice -n command
列入:nice -5 myprogram

renice:
改变一个正在运行的进程的有限级
格式:renice n pid
例如:renice -5 777
优先级的取值范围(-20,19)
nohup:
使用户退出登陆后仍旧继续执行
nohup将执行后的数据信息和错误信息默认存储到文件nohup.out中
格式:nohup program &;
5.进程的挂起和恢复
挂起和终极:
挂起:ctrl+z
终止:ctrl+c
恢复:
恢复到前台继续运行(fg)
恢复到后台继续运行(bg)
查看被挂起的进程(jobs)
6.top
作用:进程状态显示和进程控制,每5s自动刷新一次
d:指定刷新时间间隔
c:显示整个命令行而不仅仅现实命令名
u:查看指定用户的进程
k:杀死进程
 
7.计划任务
at //安排作业在某一时刻执行一次
绝对计时方法:midnoght moon teatime
hh:mm[today]
hh:mm MM/DD/YY
相对计时方法:
now+n minutes
now+n hours
now+n days
at -d or atrm 删除队伍中的任务
at -l or atq  查看队列中的任务

at配置文件
/etc/at.allow文件存在,列举出的用户才能使用at
/etc/at.allow不存在,/etc/at.deny存在,列处用户不能使用at

batch //安排作业在系统负载不重时执行一次
使用方法同at


crontab //安排周期性运行的作业
crontab {-l|-r|-e}
-l:显示当前的crontab
-r:删除当前的crontab
-e:使用编辑器编辑当前的crontab文件
crontab -e //分钟 小时 天 月 星期 命令/脚本
把知道的具体时间添上,不知道的都添上*
例如:0 18 * 1-3 2,5
书写注意事项:
1.不能为空;
2.连续用—,多个用,
3.命令应该给出绝对路径
4.用户应该具有权限
crontaba文件建立好以后可以到/var/spool/cron目录确认

cron配置文件:
/etc/cron.allow
/etc/cron.deny
和at类似


8.进程处理方式:
standalone //独立运行
xinetd     //进程托管
atd.crond  //计划任务

第9讲:Linux文件管理系统
1.文件系统构成
/user/bin、/bin:存放所有用户可以执行的命令
/user/sbin、/sbin:存放只有root可以执行的命令
/home:用户缺省宿主目录
/proc:虚拟文件系统,存放当前内存镜像
/dev:存放设备文件
/lib:存放系统程序运行所需的共享库
/lost+found:存放一些系统出错的检查结果
/tmp:存放临时文件
/etc:系统配置文件
/var:包含经常发生变动的文件,如邮件,日志文件,计划任务等
/usr:存放所有命令,库,手册页等
/mnt:临时文件系统的安装点
/boot:内核文件及自举程序文件保存位置
2.常用命令:
df//查看分区情况
du//查看文件和目录的大小 du -sh 目录
fsck,e2fsck//检测修复文件系统-y(自动修复)
file//判断文件类型:file


3.使用光驱
挂载光驱:
mount /dev/cdrom /mnt/cdrom
卸载光驱:
umount /mnt/cdrom
eject  //弹出光驱


4.添加硬盘或分区
fdisk//对硬盘进行分区
m:帮助
p:显示分区表
n:添加新分区 ext3 ext2
t:改变分区文件的类型
d:删除分区
w:保存退出
mkfs//创建文件系统
mount//尝试挂载
/etc/fstab //写入配置文件

/etc/fstab:配置文件
物理分区名/卷标 挂载点 文系统 缺省设置   是否检测  检测顺序
  LABEL=/ /       ext3     defaults    1/0      0/1/2


5.SWAPFILE的实现 
/dev/null:伪设备,类似黑洞
/dev/zero:伪设备,填充0


dd if=/dev/zero of=/var/swap/fileeswap bs=1024k count=(bs的个数)
dd //可以创建指定大小目录 


mkswap /var/swap/file.swap :创建
swapon /var/swap/file.swap :打开
swapoff /var/swap/file.swap :关闭


6.磁盘配额
a.开启分区配额功能:
编辑/etc/fstab,在挂载属性上加上标志ursquota或grpquota
b.建立配额数据库(进入单用户模式)
qutotacheck -cvuga
会生成aquota.user,aquoto,group两个文件
c.启动配额功:
quotaon 分区名称 qutoaoff关闭配额
d.编辑用户配额
edquota 用户名  edquta -g 用户组名
blocks(kb) soft hard 空间大小 soft软限制 hard硬限制
inodes     soft hard 文件多少
e.查看配额使用情况:
管理员查看 repquota -a;


7.系统地潜在威胁
备份介质的选择:
硬盘,光盘,磁带,可移动存储设备
备份策略:
完全备份:每隔一段时间对系统进行一次完全的备份
增量备份:首先是进行一次完全备份,隔段时间备份


备份的分类:
系统备份:主要备份/etc、/boot、/var/log、/user/local
用户备份:备份/home
记录更改简历备份日志:
记录系统地更改
建立备份日志
妥善保管
总结:
备份/备份分区/压缩/校验/加密


8.cp命令备份举例
cp -Rpu 备份目录 目标目录
-p 保持备份目录及文件属性
-u 增量备份
scp//远程备份


9.tar 命令举例
可对多个文件打包
tar -包 -C 解压到指定目录


第10讲:Shell编程
1.一个简单的shell的脚本
shell结构:
a.#指定执行脚本的shell
b.#注释行
c.命令和控制结构
创建shell程序的步骤:

2.Shell变量
两类:临时变量和永久变量
自定义变量:


位置变量和特殊变量:
例如:ls -l file1 file2 file3
$0 --->ls -l
$n --->代表程序的第n个参数值

$*这个程序的所有参数
$#这个程序的参数个数
$$这分唱歌不放心呀的PID
$!执行上一个后台命令的PID
$?执行上一个后台命令的返回值(0->成功,非0->失败)



3.Shell命令
read:从键盘读入数据,赋值给变量
eg:read USERNAME
expr:shell变量的算术运算
eg:expr 3+5
  expr $var-5
  expr $var1/$var2
  expr $var \* 10
4.变量测试语句
用于测试变量是否相等,是否为空,文件类型等
格式:test 测试条件
文件测试:
test -d  file指定文件是否为目录
简化:[-d $1]
5.流控制语句
if语句的流程图
        if/else
if() then |elseif() then| else 


for...done语句
格式:for 变量 in 名字表
do 
命令表
done
6.awk命令运用
awk -F 域分割符‘命令’
例如:awk -F:(不加F默认是空格)
7.select
select 变量 in 关键字
do command ... done


8.case...esac
case 变量 in
字符串1:
字符串2:
esac
9.while语句,格式:
while 条件
do 命令 done 


10.until
格式和while相同,不同的是until执行的条件是假


11.continue和break


12.shift指令:参数左移,每执行一次,参数序列顺次左移一个位置,$#的值减1


13.函数应用
  函数的定义:
函数名()
{
命令序列
}
函数的调用:不带()
函数名:参数1 参数2
函数中的变量:
变量均为全局变量,没有局部变量


14.shell脚本调试
sh -x script //执行脚本,并显示信息
sh -n script //不执行脚本,只是检查语法,返回错误信息


15.sh脚本
a.对脚本有r权限
b.对脚本所在目录有rx权限


第11讲:Linux网络设置
1. TCP/IP物理层:网卡
OSI物理层:网卡
数据链路层:MAC

网络层:IP ARP ICMP


传输层:TCP UDP

TCP/IP应用层:SSH,Apache
OSI会话层:客户端--服务器
  表示层:加密,压缩


2.计算机网络寻址
     ARP         Hosts,DNS,NIS
MAC<--------->IP<---------------->FQHN
     RARP
MAC:数据链路层
00:0C:29:3D:34:A8(共48位)
厂商标识,网卡标识
IP:网络层
192.168.14.127
IPV4 32 IPv6 128

DOS 拒绝服务攻击 SYBFLOAD


TCP/UDP:
TCP:可靠,三次握手(断点重发,定时器) 全双工/单工/半双工
UDP:速度快,不那么可靠
FQHN:应用层
完整的计算机名称 www.lampbrother.net.
(主机名 二级域 顶级域 根域)


ARP 地址解析协议
arp -a 查看ARP缓存表
arp -d IP地址 删除ARP记录
arp -s IP地址 MAC地址 添加ARP静态记记录
RARP 反向地址解析协议 
知道自己的MAC地址,去询问自己的IP地址



/etc/hosts
IP地址 主机名或域名 别名

NIS -Network Information  System
文件集中管理
Nis Sever /etc/passwd /etc/shadow

DNS -Domain Name System
BIND //域名解析软件  

客户端-->www.lampbrother.net
1.本机DNS服务器 
 缓存(广义缓存)
2.根域 .
--> .net
3.顶级域 .net
-->lampbrother.net
4.返回DNS服务器-->客户端


MAC-->IP(可以绑定多个)
  -->IP
IP -->MAC(可以绑定多个)
  -->MAC
FQHN-->IP(可以绑定多个)
   -->IP
[nslookup www.sina.com]查看其IP


IP-->FQHN
 -->FQHN


3.网络配置文件
/etc/sysconfig/networ-scripts/ifcfg-eth0
IPADDR=新IP地址
NETMASK=子网掩码
BRODCAST=广播地址
GATEWAY=网关
/etc/sysconfig/network 
HOSTNAME=主机名
/etc/rc.d/init.d/network start/stop/restart
/etc/services 网络服务信息

/etc/resolv.conf 指定DNS服务器地址
namesever DNS服务器IP地址(小于等于3个)


4.网络管理命令
ifconfig //查看设置ip地址
ehtool //检测网络连接
arp   //查看ARP表信息
ping  //探测远程主机 -c (次数) -s(大小)
route //操作路由器
traceroute //查看路由路径
netstat //监控网络状态


第12讲(一):Linux文件共享服务
1.Samba简介
Samba:通过SMB协议在网络上的计算机共享文件个打印服务的软件包
SMB协议:客户端协议,位于应用层
启动服务:/etc/rc.d/init.d/smb start
Samba有两个守护进程:smbd nmbd
smbd-->监听139TCP端口,处理SMB请求包
nmbd-->监听137和138UDP端口处理浏览共享和计算机名称解析
2.Samba配置
/etc/samba/smb.conf:
[global]设置全局环境选项
[homes]设置用户宿主目录共享
[printers]设置打印机共享
[sharefiles]设置文件共享
注:行号前有分号:(设置选项)或英镑符#(信息)表示注释

[gloabal]:
workgroup=指定工作组或域
sever string=描述
security=指定安全模式:
share 无权限验证
user 缺省,推荐,由Linux Samba服务器验证
server 第三方主机验证
domain 第三方主机验证
hosts allow=限定主机访问
hosts deny=禁止访问的ip
long file=指定日志文件存放位置
max log size=指定日志文件大小 
[homes]:
comment=Home Directories 描述
browseable=no 无权向目录隐藏
writable=yes可写 no只读 


3.Samba应用实例一
允许用户通过windows客户端访问自己的宿主目录
a.Netfilter/Iptables #iptables -f 关闭防火墙
 SELinux setsebool -P samba_enable_home_dirs on
 关闭防火墙
b.1)用户必须是系统用户
 2)设置samba验证密码
    smbpasswd -a 用户名
c.smbstatus//查看用户


4.Samba应用实例二
设置共享目录/software,允许用户jack与mary可以通过windows客户端访问,并具有读写权限
a.chcon -t samba_share_t /software
b.vi /etc/samba/smb.conf
[共享名]
path=共享目录
valid users=指定访问用户
writable=权限
c.服务器重启 
给用户 samba验证密码 sampasswd


5.Samba应用实例三
简历一个公共的只读目录/public
[public]
comment=Red Only Public
path =/public
writable=no

6.Samba应用实例四
建立部门资料共享目录/hr
[hr]
path=/hr
valid users= zhangsan lisi wangwu
writable=yes
chmod 1777 /hr



第12讲(二):FTP服务器配置
windows与Linux文件共享-Samba
FTP应用---vsftpd
UNIX类操作系统文件共享--NFS
UNIX类操作系统文件共享--SSH


配置文件(/etc/vsftpd/vsftpd.conf)
1.匿名访问
anonymous_enable=YES
xferlog_enable=YES
2.访问
ftp FTP地址
ftp>
ls->查看目录下文件
cd->切换目录(FTP)
bin->二进制传输
lcd->切换下载目录(本地)
get->下载单个文件
mget->下载多个文件
put->上传多个文件
mput->上传多个文件
prompt->关闭交互模式
bye-->退出
open-->链接FTP服务器
user-->输入FTP服务器用户名和密码

限制指定的用户不能访问,而其他用户可以访问
local_enable=YES
write_enable=YES
userlist_file=/etc/vsftpd_user_list
限制指定用户可以访问,而其他用户不可以访问
userlist_enable=YES
userlist_dent=NO
userlist_file=/etc/vsftpd_user_list


3.设置chroot
设置所有用户执行chroot
chroot_local_user=YES
设置指定的用户不执行chroot
chroot_local_user=YES
chroot_list_enable=YES
chrot_list_file=/etc/vsftpd/chroot

nmap 端口扫描


第12讲(三):scp与rsync设置
1.ssh 远程登录 SecureCRT
2.sftp 文件共享(类FTP ) SSH Secre File Transfer Client
3.scp 文件共享(类cp)


ssh
1.空密码用户禁止登录
        2.root登录禁止
-2 SSH2
/etc/ssh/sshd_config
permitRootLogin yes
port
远程管理控制SSH
本机拷贝文件到远程主机:
scp 本地文件 用户名@远程主机地址:远程主机目标目录
scp -r 本地目录 用户名 @远程主机地址:远程主机目标目录
        从元曾主机拷贝文件到本地:
scp 用户名@远程主机地址:远程文件 本地目录
scp -r用户名@远程主机地址:远程目录  本地目录
常用选项:-p:保持原有文件属性
 -r:复制目录
 -P:指定端口号
建立信任主机
1)备份服务器生成密钥,拷贝公钥给服务器
2)服务器生成认证密码           
建立密钥对
ssh -keygen -t rsa


rsync应用
*方便增量的备份
*可镜像保存整个目录树和文件系统
*保持文件的权限,时间,软件连接等
*文件传输效率高
*可以是使用SSH加密通道


启用:
编辑配置文件/etc/xinetde.d/rsync
设置.disable=no
重启xineted进程service xinetd restart




NFS网络文件服务
Network File System 
NFS服务器共享目录 /etc/exports
格式:共享陆慕 允许访问主机(权限)
/public 允许所有主机访问/public目录
/website 192.168.16.128(ro)
exportfs 重新输出共享目录格式:exportgs -rv


第13讲:LAMP环境编译
1.编译前的准备
make gcc gcc -c++是否安装
关闭防火墙


2.tar解压包
  ./configure  #设置
  make   #调用make
  sudo make install #安装源码
  make clean        #删除临时文件
































第1讲:Linux应用与发展
1.Linux系统结构:
硬件->内核层->shell层->应用层->用户


第2讲:Linux系统安装
1.远程登录管理工具:putty,SecureCRT
  图形化管理:vnc
  文件传输:SSH Secure


第3讲:Linux常用命令
1.命名规则:除/之外,所有的字符都是合法的。
2.命令格式:命令-选项 参数
  例:ls -la /etc
3.文件处理命令:ls
  文件类型:d 目录
            - 二进制文件
            l 软连接文件link
  权限:r 读
        w 写
        x 执行execute
  用户:u user   所有者
        g group  所有组
        o others 其他人
  ls 选项[-ald][文件或目录]
  -a:显示所有文件
  -l:详细信息显示
  -d:查看目录属性
  -i:文件i节点,linux下每个文件有一个节点
 
 ctrl+c 结束命令


 ls //查看目录结构
 cd //进入目录
 pwd //查看当前目录
 touch //创建一个文件
 mkdir //创建新目录
 cp    //拷贝 加上R表示目录移动
 mv    //移动文件,更名 
 rm    //删除文件 加上-r删除目录 -f(不用确认直接删除)
 
 cat   //查看文件内容
 more  //分页显示内容
 head  //查看文件前几行
 tail  //查看文件后几行
 ln    //产生链接文件 -s 创建软连接 (软连接类似于windows中的快捷方式,硬链类 似于拷贝,同时实时更新)。
 
4.权限管理命令:
  chmod //r-4,w-2,x-1 改变目录或者文件权限
  chown //改变文件或目录的所有者
  chgrp //改变所有组
  umask //缺省值


5.文件搜索命令:
 which    //后街命令,查看命令路径,
 whereis  //查看命令帮助信息
 find     //[搜索路径][搜索关键字] 
-name(文件名) *匹配任意字符 ?匹配单个字符
-size(文件大小) 1个block数据块=512字节 +大于 -小于
-user(所有者)根据文件所有者查找
        -type(文件类型) f二进制文件 l软链接文件 d目录
时间:ctime atime mtime(天为单位) cmin amin mmin(分钟为单位) 
     c-change改变(文件属性) a-access访问 m-modify修改(内容)
     -之内,+超过
链接符号:-a and逻辑与 -o or逻辑或
 find .... -exec 命令  {}[find查询结果] \[转移符]
   -ok(询问确认)


-inum(i节点)
 locate[搜索关键字]
 grep[指定字符串][源文件]


6.帮助命令:
 man[命令或配置文件]
 info[任何关键字]
 whatis[任何关键字]//获取简短信息
 指令 --help
 help 查看shell 内置命令的帮助


7.压缩解压命令
 gzip 选项[文件] //只能压缩文件,不能保留源文件
 gunzip gzip -d  //解压缩
 tar 选项[cvf][目录]
-c 产生.tar打包文件       -x//解压
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
 zip选项[-r][压缩后文件名称][文件或者目录] -r 压缩目录
 uzip //解压缩
 bzip2 选项[-k]保留原文件


7.网络通信指令:
  write //发送指定用户信息
  wall //发送所有用户广播
  ping //测试网络是否连同
  ifconfig


8.系统关机指令:
  shutdown -h now //关机
  reboot //重启系统


9.shell应用技巧
  <talb>键补齐文件名
  命令别名:
alias copy=cp;
alias Xrm="rm -r";
查看别名信息:alias
删除别名:unalias
  输入/输出重定向:
  管道:
命令1|命令2|命令3
  命令连接符:
;连接多个命令
&& ||
  命令替换符:
命令1 ~命令2~(将一个命令的输出作为另一个命令的参数)


第4讲:文本编辑器vim
1.插入命令:
a //光标后附加文本
A //本行行末附加文本
i //在光标前插入文本
I //在本行开始插入文本
o //在光标下插入新行
O //在光标上插入新行
2.定位命令:
h //左
j //下
k //上
l //右

$ //末尾
0 //行首


H //移至屏幕上端
  M //移至屏幕中央
L //移至屏幕下端


:set nu   //设置行号
:set nonu //取消行号
gg   //到第一行
G   //到最后一行
nG   //到第n行
        :n        //到第n行


3.删除命令:
x   //删除光标所在处字符
nx  //删除光标所在处后的n个字符
dd  //删除光标所在行,ndd删除n行
dG  //删除光标所在行到末尾的内容
D   //删除从光标所在处到行尾
:nl,n2d //伤处指定范围的行


4.复制和剪切命令:
yy,Y   //复制当前行
nyy,nY //复制当前行下n行
dd     //剪切当前行
ndd    //剪切当前行以下n行
p,P    //粘贴在当前光标所在行下或行上


5.替换和取消命令
r //取代光标所在处字符
R //从光标所在处开始替换字符,按Esc结束
u //取消上一步操作


6.搜索和替换命令
/string  //向前搜索指定字符串,搜索是忽略大小写:set ic
n        //搜索指定字符串的下一个出现位置
:%s/old/mew/g //全文替换着指定字符串
:n1,n2s/old/new/g //在一定范围内替换指定字符串


7.自定义快捷键:
map //eg:map ^p i#<esc>
ab  name myeail//替换


第5讲:Linux引导流程解析
1.系统引导流程
2.inittab文件剖析
格式:id:run-levels:action:process
id//标识符,一般为两位字母或数字
run-levels//指定运行级别
action//指定运行状态
process//指定要运行的脚本/命令

action常用值:
powerfail//当电源错误是执行process指定命令,不等待其结束
powerokwait//当电源恢复时执行process指定的命令
respawn:一旦process指定命令中止,便重新运行该命令




3.firmware
     |
  BootLoader
     |
   Kernel
     |
    init
     |
  /etc/inittab
     |
  initdefault
     |
  /etc/rc.d/rc.sysinit
     |
  /etc/rc/d/rc
     |
  /etc/rc.d/rcN.d N=0-6
     |
  username password 
  
4.设置自启动程序
ln -s
chkconfig
ntsysv


5.grub配置选项
default:定义缺省启动系统
timeout:定义缺省等待时间
splashimage:定义grub界面图片
hiddenmenu:隐藏菜单
title:定义菜单选项名称
root:设置grub的根设备即内核所在的分区
kernel:定义内核文件所在位置
initrd:命令加载镜像文件
6.grub命令:
e:编辑当前的启动菜单项
c:进入grub的命令行方式
b:启动当前的菜单项
d:删除当前行
esc:返回grub启动菜单界面


7. 给grub设置密码


第6讲:Linux软件包管理
1.RPM包管理
安装:rpm -ivh sudo-1.7.2pl-5.e15.i386.rpm
查询:rpm -q sudo    rpm -qa | grep samba
--excludedocs //不安装软件包中的文档文件
--prefix PATH //将软件包安装到由PATH指定的路径下
--test      //只对安装进行测试,并不实际安装

--replacepkgs  //覆盖安装
--replacefiles //忽略文件冲突
--nodeps       //未解决依赖关系,该命令强制安装

查询(q):
-a //查询所有已安装的软件包
-f //查询文件所属软件包
-p //查询软件包
-i      //查询软件包信息
-l      //显示软件包中的文件列表
-d      //显示被标注为文档的文件列表
-c      //显示被标注为配置文件的文件列表


校验:rpm -V 软件名称
5     //文件的md5校验值
S     //文件大小
                L     //链接文件
T     //文件的创建时间
D     //设备文件
       U     //文件的用户
G     //文件的用户组
M     //文件的权限

软件包文件提取:
rpm2cpio ... | cpio -idv //解压所有文件到当前目录
rpm2cpio ... | cpio -idv ./.... //解压指定文件到当前目录


2.YUM包管理
好处:自动解决软件包的依赖关系,方便软件升级。

yum install //安装
yum check-update //检测升级
yum update  //升级
yum list    //软件包查询
yum info    //软件包信息
yum remove  //卸载
yum -help   //帮助


3.源代码包安装
应用举例(proftpd)


4.脚本安装
应用举例(webmin,openoffice)


5.APT包管理

第7讲:Linux用户管理
1./etc/passwd(用户信息)
root:x:0:0:root:/root:/bin/bash
用户名:密码位:UID:GID:注释性描述:宿主目录:命令解释器(shell)


Linux用户分为三种:
超级用户(root,UID=0)
普通用户(UID 500-60000)
伪用户(UID 1-499)


2./ect/shadow (用户密码)
root:...:14965:0:999999:7:::
用户名:加密密码:最后一次修改时间:最小建个时间:最大时间间隔:警告时间:账号闲置时间:失效时间:标志


3.、/etc/skel
新用户信息文件


4./etc/login.defs 
  /etc/deault/useradd
用户配置文件


5./etc/motd 
登录信息


6.思考:普通用户为什么能够修改密码
SetUID:
当一个用户具备这个权限,用户执行这个程序将以所有者的身份执行
chmod u+s; chmod 4755;


粘着位=1
如果一个权限为777的目录,被设置了粘着位,每个用户都可以在目录下创建文件,但是
只可以删除自己所有者的文件


查找SetUID程序:
find/-perm -4000 -o -peri=m -2000


8.添加用户:
useradd
usermod //用户信息修改


9.用户组管理命令
添加用户组:groupadd -g 888 webadmin


gpasswd //设置组密码及管理组内成员
-a //添加用户到组用户
-d //从用户组中删除用户
-A //设置用户管组理员
-r //删除用户组密码
-R //禁止用户切换为改组


10.对目录授权
groupadd softadm
usermod -G softadm jack
gpasswd -a mary softadm
chgrp softadm /software
chmod g+w /software


11.用户组管理命令
groupadd -g 888 web admin //添加用户组
groupdel //删除用户组 
groupmod //修改组信息


12.用户管理命令
pwck // 检测 /etc/passwd文件(锁定文件)
vipw //编辑  /etc/passwd文件
id   //查看用户id和组信息
finger //查看用户详细信息
su     //切换用户(su - 切换环境设置)
passwd -S //查看用户密码状态
who,w     //查看当前登录用户信息


13.用户组管理命令
groups //查看用户隶属于那些用户组
newgrp //切换用户组
grpck  //用户组配置文件检测
chgrp  //修改文件所在组
vigr   //编辑/etc/group 文件(锁定文件)


14.禁用和恢复用户
禁用:
usermod -L username
passwd -l username
恢复:
usermod -U username
passwd -u username
15.删除用户
userdel -r 用户名


17.chage
设定密码
-l 查看用户密码设置
-m 密码修改最小天数
-M 密码修改最大天数
-d 密码最后修改日期
-I 密码过期后锁定用户的天数
-E 设置密码的过期日期
-W 设置密码过期前,开始警告的天数


18.启动或停用shadow功能
pwconv/pwunconv
grpconv/grpunconv


19.批量添加用户
newusers //导入用户信息文件
pwunconv //取消shadow password功能
chpasswd //导入密码文件(格式 用户名:密码)
pwconv   //将密码写入shadow文件


20.限制用户su为root
groupadd sugroup
chmod 4550 /bin/su
chgrp sungroup /bin/su


21.Apache
编辑Apache配置文件
使用Apache启动脚本
更新网页


A:
a.设置用户为配置文件所有者 chown
b.改变所属组,把用户加入组,授予组 w 权限
c.visudo 用户 地址=/bin/vi/etc/httpd/conf/httpd.conf


B:
a.visudo 用户 地址=/bin/vi/etc/httpd/conf/httpd.conf start reload fullstatus configtest


C:/var/www/html 改变所有者


D:
ftp


第8讲:Linux进程管理
1.程序和进程
程序(静态概念)
进程(动态概念)
2.程序和进程的区别
前台进程:异步运行(等待)
后台进程:同步状态(不需要等待)
3.进程状态
就绪,等待,运行
4.进程命令
w:
JCPU//所消耗的CPU时间
PCPU//CPU执行程序耗费的时间
WHAT用户正在执行的操作
load average:分别显示系统在过去1,,,,15分钟内的平均负载程度
FROM:显示用户从何何处登录
IDLE:用户限制的时间
ps:(查看进程)
a//显示所有用户进程
u//显示用户名和启动时间
x://显示没有控制终端的进程
e://显示所有进程,包括没有控制终端的进程
l:长格式显示
w:宽行显示,可以使用多个w进行加宽显示

PID//进程号
PPID//父进程的进程号
TTY//进程启动的终端
STATA//进程当前状态 S休眠 D不可中断的休眠 R运行 Z僵死 T停止        NI//进程优先级

TIME//进程启动以来启动CPU的总时间
COMMAND/CMD:进程的命令名
USER//用户名
%CPU:占用CPU时间和总时间的百分比
%MEM:占用内存与系统内存总量的百分比

ps -le or -aux//查看隶属于自己进程详细信息
ps -uU user//查看系统中指定用户执行的进程
kill:(杀死进程)
kill -9 进程号(强行关闭)
kill -1 进程号(重启进程)
xkill//关闭图形程序
killall//结束所有进程
pkill 服务名称//杀掉进程
pgrep 程序名字//判断程序是否正在运行

nice:(指定程序的运行优先级)
格式:nice -n command
列入:nice -5 myprogram

renice:
改变一个正在运行的进程的有限级
格式:renice n pid
例如:renice -5 777
优先级的取值范围(-20,19)
nohup:
使用户退出登陆后仍旧继续执行
nohup将执行后的数据信息和错误信息默认存储到文件nohup.out中
格式:nohup program &;
5.进程的挂起和恢复
挂起和终极:
挂起:ctrl+z
终止:ctrl+c
恢复:
恢复到前台继续运行(fg)
恢复到后台继续运行(bg)
查看被挂起的进程(jobs)
6.top
作用:进程状态显示和进程控制,每5s自动刷新一次
d:指定刷新时间间隔
c:显示整个命令行而不仅仅现实命令名
u:查看指定用户的进程
k:杀死进程
 
7.计划任务
at //安排作业在某一时刻执行一次
绝对计时方法:midnoght moon teatime
hh:mm[today]
hh:mm MM/DD/YY
相对计时方法:
now+n minutes
now+n hours
now+n days
at -d or atrm 删除队伍中的任务
at -l or atq  查看队列中的任务

at配置文件
/etc/at.allow文件存在,列举出的用户才能使用at
/etc/at.allow不存在,/etc/at.deny存在,列处用户不能使用at

batch //安排作业在系统负载不重时执行一次
使用方法同at


crontab //安排周期性运行的作业
crontab {-l|-r|-e}
-l:显示当前的crontab
-r:删除当前的crontab
-e:使用编辑器编辑当前的crontab文件
crontab -e //分钟 小时 天 月 星期 命令/脚本
把知道的具体时间添上,不知道的都添上*
例如:0 18 * 1-3 2,5
书写注意事项:
1.不能为空;
2.连续用—,多个用,
3.命令应该给出绝对路径
4.用户应该具有权限
crontaba文件建立好以后可以到/var/spool/cron目录确认

cron配置文件:
/etc/cron.allow
/etc/cron.deny
和at类似


8.进程处理方式:
standalone //独立运行
xinetd     //进程托管
atd.crond  //计划任务

第9讲:Linux文件管理系统
1.文件系统构成
/user/bin、/bin:存放所有用户可以执行的命令
/user/sbin、/sbin:存放只有root可以执行的命令
/home:用户缺省宿主目录
/proc:虚拟文件系统,存放当前内存镜像
/dev:存放设备文件
/lib:存放系统程序运行所需的共享库
/lost+found:存放一些系统出错的检查结果
/tmp:存放临时文件
/etc:系统配置文件
/var:包含经常发生变动的文件,如邮件,日志文件,计划任务等
/usr:存放所有命令,库,手册页等
/mnt:临时文件系统的安装点
/boot:内核文件及自举程序文件保存位置
2.常用命令:
df//查看分区情况
du//查看文件和目录的大小 du -sh 目录
fsck,e2fsck//检测修复文件系统-y(自动修复)
file//判断文件类型:file


3.使用光驱
挂载光驱:
mount /dev/cdrom /mnt/cdrom
卸载光驱:
umount /mnt/cdrom
eject  //弹出光驱


4.添加硬盘或分区
fdisk//对硬盘进行分区
m:帮助
p:显示分区表
n:添加新分区 ext3 ext2
t:改变分区文件的类型
d:删除分区
w:保存退出
mkfs//创建文件系统
mount//尝试挂载
/etc/fstab //写入配置文件

/etc/fstab:配置文件
物理分区名/卷标 挂载点 文系统 缺省设置   是否检测  检测顺序
  LABEL=/ /       ext3     defaults    1/0      0/1/2


5.SWAPFILE的实现 
/dev/null:伪设备,类似黑洞
/dev/zero:伪设备,填充0


dd if=/dev/zero of=/var/swap/fileeswap bs=1024k count=(bs的个数)
dd //可以创建指定大小目录 


mkswap /var/swap/file.swap :创建
swapon /var/swap/file.swap :打开
swapoff /var/swap/file.swap :关闭


6.磁盘配额
a.开启分区配额功能:
编辑/etc/fstab,在挂载属性上加上标志ursquota或grpquota
b.建立配额数据库(进入单用户模式)
qutotacheck -cvuga
会生成aquota.user,aquoto,group两个文件
c.启动配额功:
quotaon 分区名称 qutoaoff关闭配额
d.编辑用户配额
edquota 用户名  edquta -g 用户组名
blocks(kb) soft hard 空间大小 soft软限制 hard硬限制
inodes     soft hard 文件多少
e.查看配额使用情况:
管理员查看 repquota -a;


7.系统地潜在威胁
备份介质的选择:
硬盘,光盘,磁带,可移动存储设备
备份策略:
完全备份:每隔一段时间对系统进行一次完全的备份
增量备份:首先是进行一次完全备份,隔段时间备份


备份的分类:
系统备份:主要备份/etc、/boot、/var/log、/user/local
用户备份:备份/home
记录更改简历备份日志:
记录系统地更改
建立备份日志
妥善保管
总结:
备份/备份分区/压缩/校验/加密


8.cp命令备份举例
cp -Rpu 备份目录 目标目录
-p 保持备份目录及文件属性
-u 增量备份
scp//远程备份


9.tar 命令举例
可对多个文件打包
tar -包 -C 解压到指定目录


第10讲:Shell编程
1.一个简单的shell的脚本
shell结构:
a.#指定执行脚本的shell
b.#注释行
c.命令和控制结构
创建shell程序的步骤:

2.Shell变量
两类:临时变量和永久变量
自定义变量:


位置变量和特殊变量:
例如:ls -l file1 file2 file3
$0 --->ls -l
$n --->代表程序的第n个参数值

$*这个程序的所有参数
$#这个程序的参数个数
$$这分唱歌不放心呀的PID
$!执行上一个后台命令的PID
$?执行上一个后台命令的返回值(0->成功,非0->失败)



3.Shell命令
read:从键盘读入数据,赋值给变量
eg:read USERNAME
expr:shell变量的算术运算
eg:expr 3+5
  expr $var-5
  expr $var1/$var2
  expr $var \* 10
4.变量测试语句
用于测试变量是否相等,是否为空,文件类型等
格式:test 测试条件
文件测试:
test -d  file指定文件是否为目录
简化:[-d $1]
5.流控制语句
if语句的流程图
        if/else
if() then |elseif() then| else 


for...done语句
格式:for 变量 in 名字表
do 
命令表
done
6.awk命令运用
awk -F 域分割符‘命令’
例如:awk -F:(不加F默认是空格)
7.select
select 变量 in 关键字
do command ... done


8.case...esac
case 变量 in
字符串1:
字符串2:
esac
9.while语句,格式:
while 条件
do 命令 done 


10.until
格式和while相同,不同的是until执行的条件是假


11.continue和break


12.shift指令:参数左移,每执行一次,参数序列顺次左移一个位置,$#的值减1


13.函数应用
  函数的定义:
函数名()
{
命令序列
}
函数的调用:不带()
函数名:参数1 参数2
函数中的变量:
变量均为全局变量,没有局部变量


14.shell脚本调试
sh -x script //执行脚本,并显示信息
sh -n script //不执行脚本,只是检查语法,返回错误信息


15.sh脚本
a.对脚本有r权限
b.对脚本所在目录有rx权限


第11讲:Linux网络设置
1. TCP/IP物理层:网卡
OSI物理层:网卡
数据链路层:MAC

网络层:IP ARP ICMP


传输层:TCP UDP

TCP/IP应用层:SSH,Apache
OSI会话层:客户端--服务器
  表示层:加密,压缩


2.计算机网络寻址
     ARP         Hosts,DNS,NIS
MAC<--------->IP<---------------->FQHN
     RARP
MAC:数据链路层
00:0C:29:3D:34:A8(共48位)
厂商标识,网卡标识
IP:网络层
192.168.14.127
IPV4 32 IPv6 128

DOS 拒绝服务攻击 SYBFLOAD


TCP/UDP:
TCP:可靠,三次握手(断点重发,定时器) 全双工/单工/半双工
UDP:速度快,不那么可靠
FQHN:应用层
完整的计算机名称 www.lampbrother.net.
(主机名 二级域 顶级域 根域)


ARP 地址解析协议
arp -a 查看ARP缓存表
arp -d IP地址 删除ARP记录
arp -s IP地址 MAC地址 添加ARP静态记记录
RARP 反向地址解析协议 
知道自己的MAC地址,去询问自己的IP地址



/etc/hosts
IP地址 主机名或域名 别名

NIS -Network Information  System
文件集中管理
Nis Sever /etc/passwd /etc/shadow

DNS -Domain Name System
BIND //域名解析软件  

客户端-->www.lampbrother.net
1.本机DNS服务器 
 缓存(广义缓存)
2.根域 .
--> .net
3.顶级域 .net
-->lampbrother.net
4.返回DNS服务器-->客户端


MAC-->IP(可以绑定多个)
  -->IP
IP -->MAC(可以绑定多个)
  -->MAC
FQHN-->IP(可以绑定多个)
   -->IP
[nslookup www.sina.com]查看其IP


IP-->FQHN
 -->FQHN


3.网络配置文件
/etc/sysconfig/networ-scripts/ifcfg-eth0
IPADDR=新IP地址
NETMASK=子网掩码
BRODCAST=广播地址
GATEWAY=网关
/etc/sysconfig/network 
HOSTNAME=主机名
/etc/rc.d/init.d/network start/stop/restart
/etc/services 网络服务信息

/etc/resolv.conf 指定DNS服务器地址
namesever DNS服务器IP地址(小于等于3个)


4.网络管理命令
ifconfig //查看设置ip地址
ehtool //检测网络连接
arp   //查看ARP表信息
ping  //探测远程主机 -c (次数) -s(大小)
route //操作路由器
traceroute //查看路由路径
netstat //监控网络状态


第12讲(一):Linux文件共享服务
1.Samba简介
Samba:通过SMB协议在网络上的计算机共享文件个打印服务的软件包
SMB协议:客户端协议,位于应用层
启动服务:/etc/rc.d/init.d/smb start
Samba有两个守护进程:smbd nmbd
smbd-->监听139TCP端口,处理SMB请求包
nmbd-->监听137和138UDP端口处理浏览共享和计算机名称解析
2.Samba配置
/etc/samba/smb.conf:
[global]设置全局环境选项
[homes]设置用户宿主目录共享
[printers]设置打印机共享
[sharefiles]设置文件共享
注:行号前有分号:(设置选项)或英镑符#(信息)表示注释

[gloabal]:
workgroup=指定工作组或域
sever string=描述
security=指定安全模式:
share 无权限验证
user 缺省,推荐,由Linux Samba服务器验证
server 第三方主机验证
domain 第三方主机验证
hosts allow=限定主机访问
hosts deny=禁止访问的ip
long file=指定日志文件存放位置
max log size=指定日志文件大小 
[homes]:
comment=Home Directories 描述
browseable=no 无权向目录隐藏
writable=yes可写 no只读 


3.Samba应用实例一
允许用户通过windows客户端访问自己的宿主目录
a.Netfilter/Iptables #iptables -f 关闭防火墙
 SELinux setsebool -P samba_enable_home_dirs on
 关闭防火墙
b.1)用户必须是系统用户
 2)设置samba验证密码
    smbpasswd -a 用户名
c.smbstatus//查看用户


4.Samba应用实例二
设置共享目录/software,允许用户jack与mary可以通过windows客户端访问,并具有读写权限
a.chcon -t samba_share_t /software
b.vi /etc/samba/smb.conf
[共享名]
path=共享目录
valid users=指定访问用户
writable=权限
c.服务器重启 
给用户 samba验证密码 sampasswd


5.Samba应用实例三
简历一个公共的只读目录/public
[public]
comment=Red Only Public
path =/public
writable=no

6.Samba应用实例四
建立部门资料共享目录/hr
[hr]
path=/hr
valid users= zhangsan lisi wangwu
writable=yes
chmod 1777 /hr



第12讲(二):FTP服务器配置
windows与Linux文件共享-Samba
FTP应用---vsftpd
UNIX类操作系统文件共享--NFS
UNIX类操作系统文件共享--SSH


配置文件(/etc/vsftpd/vsftpd.conf)
1.匿名访问
anonymous_enable=YES
xferlog_enable=YES
2.访问
ftp FTP地址
ftp>
ls->查看目录下文件
cd->切换目录(FTP)
bin->二进制传输
lcd->切换下载目录(本地)
get->下载单个文件
mget->下载多个文件
put->上传多个文件
mput->上传多个文件
prompt->关闭交互模式
bye-->退出
open-->链接FTP服务器
user-->输入FTP服务器用户名和密码

限制指定的用户不能访问,而其他用户可以访问
local_enable=YES
write_enable=YES
userlist_file=/etc/vsftpd_user_list
限制指定用户可以访问,而其他用户不可以访问
userlist_enable=YES
userlist_dent=NO
userlist_file=/etc/vsftpd_user_list


3.设置chroot
设置所有用户执行chroot
chroot_local_user=YES
设置指定的用户不执行chroot
chroot_local_user=YES
chroot_list_enable=YES
chrot_list_file=/etc/vsftpd/chroot

nmap 端口扫描


第12讲(三):scp与rsync设置
1.ssh 远程登录 SecureCRT
2.sftp 文件共享(类FTP ) SSH Secre File Transfer Client
3.scp 文件共享(类cp)


ssh
1.空密码用户禁止登录
        2.root登录禁止
-2 SSH2
/etc/ssh/sshd_config
permitRootLogin yes
port
远程管理控制SSH
本机拷贝文件到远程主机:
scp 本地文件 用户名@远程主机地址:远程主机目标目录
scp -r 本地目录 用户名 @远程主机地址:远程主机目标目录
        从元曾主机拷贝文件到本地:
scp 用户名@远程主机地址:远程文件 本地目录
scp -r用户名@远程主机地址:远程目录  本地目录
常用选项:-p:保持原有文件属性
 -r:复制目录
 -P:指定端口号
建立信任主机
1)备份服务器生成密钥,拷贝公钥给服务器
2)服务器生成认证密码           
建立密钥对
ssh -keygen -t rsa


rsync应用
*方便增量的备份
*可镜像保存整个目录树和文件系统
*保持文件的权限,时间,软件连接等
*文件传输效率高
*可以是使用SSH加密通道


启用:
编辑配置文件/etc/xinetde.d/rsync
设置.disable=no
重启xineted进程service xinetd restart




NFS网络文件服务
Network File System 
NFS服务器共享目录 /etc/exports
格式:共享陆慕 允许访问主机(权限)
/public 允许所有主机访问/public目录
/website 192.168.16.128(ro)
exportfs 重新输出共享目录格式:exportgs -rv


第13讲:LAMP环境编译
1.编译前的准备
make gcc gcc -c++是否安装
关闭防火墙


2.tar解压包
  ./configure  #设置
  make   #调用make
  sudo make install #安装源码
  make clean        #删除临时文件


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值