Linux命令学习笔记完整终结版

更新时间:2024-04-05 18:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一堂课学习笔记

资料下载:www.linux-life.com 内部资料区

网址配置:ifconfig etho ipaddress + netmask + 子网掩码 ctrl+alt+F1 =图形界面

ctrl+alt+F2,F3,F4,F5,F6,F7=控制台登录

系统启动过程:BIOS – MBR – GRUB – KWNE – INIT – LOGIN Linux 的7个运行级别:0-6: 0 – halt(关机) 1 – 单用户无网络 2 – 单用户有网络 3 – 多用户模式有网络 4 – 用户自定义 5 – X-windows 6 – reboot重启 通常只用3和5

init命令可以切换不同的运行级别 gedit命令启动文本编辑器 glxgears测试显卡性能 firefox火狐浏览器

文件目录: bin – 存放基础命令 boot – 启动核心 dev – 设备文件

etc – 应用程序配置文件 home – 普通用户的家目录 lib – 库文件

lost+found – 存放丢失的文件 media – 挂载其他设备 mnt – 挂载其他文件系统 opt – 可选文件夹

root – root用户的家目录 sbin – 超级用户使用的命令 usr – 用户自带程序

tmp – 临时文件夹(系统过段时间会自动删掉) 红帽子官方网站:docs.redhat.com 大论坛:www.chinaunix.net

ls – 列出目录 file – 查看文件类型 man ls – 查看命令参数 ls –l 以长格式列出文件信息

权限 链接数 所属组 用户 文件大小 文件最后修改时间 文件名 ls –ltr 按时间排序最新的文件出现在最后

man ls 之后可输入/关键字 然后按n 和shift+n进行上下查看 也可输入?+关键字 data –显示当前时间

修改时间:data –s ―20120313 20:15:00‖

hwclock –w 写入到bells时钟当中 system-config-printer – 启动打印机配置程序 按俩下table键可以查看有哪些命令

临时配置IP地址:ifconfig eth0 IP地址+netmask+子网掩码 永久配置IP地址:setup,service network restart 系统安装: Sda1 Sda2 Sda3 Sda5 Sda4 / 根分区 SWAP 交换分区(模拟内存)

在装系统时有个按键 :A+空格 键可以用

第二堂课学习笔记

HW Kernel UI APP Shell X-windows

基础命令:history – 查看历史记录 !+对应的数字号 shift+pagedown和pageup进行翻滚 Clear – 进行清屏 pwd – 查看当前目录所在路径

Cd – 进入目录 cd ~+用户名 – 进入到某个用户的目录 Mkdir – 创建目录 mkdir –p test123/456/789

Rmdir – 删除目录 rm – 删除文件 rm –r – 删除递归 rm –rf – 强制删除递归 Cd .. –回到上层目录 cd ../..

Touch – 创建空文件或更新文件修改时间(如果文件存在) Cp source destination 拷贝 Cp xyz dir1/xyz1 – 重命名 Cp dir1/* ./ -拷到本目录 参数:-r –递归 -f – 强制 Mv – 移动(没有递归)

Mv dir1 dir2 mv xyz abc – 重命名 Cat – 查看整个内容,显示短文本

More /etc/service 回车键是一行一行的翻,空格键是一页一页的翻 Less /etc/service – 能够用n和shift+n 上下翻滚 /tcp匹配 Fdisk –l –查看现有磁盘的所有分区 Fdisk –l /dev/sda

M 是查看帮助 P 查看现有分区 W 写入 Fdisk /dev/sda 对其进行分区 对磁盘进行分区步骤:

1. N – 新建分区 2. +40G 3. P 4. W

5. Reboot

6. Mkfs.ext4 /dev/sdaX –将磁盘分区进行格式化 7. Mkdir /mnt/hdd

8. Mount /dev/sdaX /mnt/hdd

9. 分区时要分俩个:一个是根分区,一个是SWAP分区(是内存的1.5倍)

第三堂课学习笔记

uname – 查看系统信息 uname – a – 查看整个信息

uname –r –查看核心的版本 (主-整个,次-2.6,修订-.32)

arch – 查看

halt –p 关机连电源一起关掉 shutdown –h now 关闭 shutdown –r now 重启

shutdown –r +5 – 5分钟后重启

shutdown –r +5 “system will be rebooted in 5 min‖

sshd – 远程登录服务

chkconfig sshd on – 让某个服务在开机时自动启动(等价于2345这几个级别) chkconfig – level 3 sshd on – 只在3级别下开机时自动启动

chkconfig –list sshd – 查看是否开机启动 service sshd start –立即启动 service sshd restart – 重启服务

su – user useradd abc

passwd abc – 创建密码 su – abc su – root

last – 查看成功登录成功的用户 lastb – 查看不成功登录的用户 who – 查看哪些用户登录进来

w – 查看哪些用户登录进来在干什么

mkfs –t(类型) ext4 /dev/sdaX mkdir /mnt/disk

挂载:将硬件分区映射到目录下:mount –t ext4 /dev/sdaX /mnt/disk umount /mnt/disk – 解除挂载(解除映射关系)

df – 查看哪些文件系统被挂载 df – h 以人类可读的方式查看

开机自动挂载:写入 vim /etc/fstab

/dev/sda6(分区设备) /mnt/disk(挂载点) ext4(文件系统类型) default(挂载参数)(是否启用备份) 0(开机是否检查,0,1,2,除了根分区可以为1,其他的都是2)

Ls - l

chown instructor(所属用户):screen(所属组) a chown instructor a –只改用户 chgrp screen a –只改组 chown user:group filename chown –R – 递归 chgrp –R – 递归

chown user filename chgrp group filename

groupadd X – 添加组

ll :工有11位

0 1 2 3 4 5 6 7 8 9 10 文件 用户 组

0

类型 权限

软链接: touch file1

ln –s file1 file – 软链接增加快捷方式 echo 123 > file1 将123写到file1里面

硬链接:只能在同一个文件系统下进行 ln file1 file2 ln file1 file3

file – 查看类型 du xyz

du –h boot.iso –查看文件大小 du –sh /var 查看目录大小

find /(路径目录)-name(指定文件名)“string*“(关键字)或者”*string*“或者string find / -user instructor –name ―*‖

find –user user1 / -exec mv {} /root/find \\; mtime + 5 – 5天前

文本处理:grep ntp /etc/services

grep string filename – 返回的是一行 vim – 编辑

diff 123 456 –对比 diff file1 file2

sort – 排序 sort –g 按数字大小排序 comm -12 file1 file2 – 俩个文件中都有对排序过后的文件进行对比

comm -23 file1 file2 – 第一个有但第二个中没有 sort abc > abc1 将abc定向到abc1 head –n 6 a – 显示前6行

head –n 6 filename head –n -4 a –显示倒数第4行之前面的所有内容 tail – 显示最后 tail –n +7 a – 包括第7行之后的所有内容 wc –l a – 只显示行数 wc – l < a wc –w – 显示单词数 wc –c – 字符数 tail a – 显示最后10行(默认都是10行)

VIM编辑器:

按 a – 插入 esc – 到命令模式 shift + : :w – 保存文件 q – 退出 q!- 不保存强制退出

在命令模式下按:u – 撤销 ctrl+r – 恢复

第四堂课学习笔记

ctrl + shift + 6 – 切换最后打开的2个文件 :next 切换下一个 :prev 上一个 进入vim – e 1 或 e 2 打开文件 vim – o 1 2 –分屏打开俩个文件 ctrl +w(俩下) – 进行切换

进入vim 后 – sp 1,sp 2 分屏打开文件1,2

替换字符串 - :, s/src-sring/des_string/g :1,$(最后一行) s/aaa/bbb/g :u 撤销

删除: dd –删除一行 d4d –删除4行 d4(向下的箭头)-删除向下4行 d4(向上的箭头) – 删除向上4行

:100,200 d + 回车 – 删除第100行到第200行

:100,200 g/ort/d + 回车 – 删除100到200行中含有ort的关键字 dw –删除一个单词 d3w – 删除3个单词 X – 删除字符 19X – 删除19个字符

复制:yw – 复制一个单词 yy – 复制一行 y4w – 复制4个单词 y4y – 复制4行 粘贴:P

:100,200 y –复制100—200行 行定位: shift+g

按 1+shift+g – 定位到第1行 G 1G 50G :$ :1 :50 重复:按.(点)

:syn tax on :syn tax off –将语法加量进行打开和关闭 :set nu –设置行号 :set nonu –去除行号

Gpm

yum install gpm sercice gpm start chkconfig gpm on

磁盘分区:t – 更改 l – 查看 a – 设置启动为*(boot启动) yum :

/etc/yum.repos.d vim aaa.repo [wangli] –随便写

name=XXXX –随便写

baseurl = http://192.168.0.254/pub/rhel6/dvd enable = 1 (使配置文件生效) gpgcheck=0

关于yum groupinstall .x window 必须在init 3 下执行

第五堂课学习笔记

192.168.1.128 和192.168.1.25同或得到子网掩码 子网掩码乘以IP地址得到网络号

几个存放文件:

/etc/hosts /etc/services /etc/nsswitch.config – 先找file再找DNS /etc/resolv.config – DNS服务器 /etc/sysconfig/network #代表注释符号 更改主机名三步:

1, hostname abc.com

2, vim /etc/hosts – ip abc.com 3, vim /etc/sysconfig/network

eth0 – 物理网卡 br0 – 虚拟桥接 ppp0 – 拨号 临时设置路由:

route add –net 192.168.1.0 netmask 255.255.255.0 dev eth0 或者 route add –host 192.168.1.200 gw(经过网关) 192.168.1.111 Route add default gw 192.168.1.1 Route del – 删除路由

/etc/sysconfig/network-scripts ifcfg-eth0 –文件 ifcfg-br0

Bridge = ―br0‖

DEVICE = ―br0‖ DEVICE = ‖eth0‖

BOOTPROTO = ―static‖ BOOTPROTO = ―none‖ IPADDR = “” IPADD = ―‖

NETMASK = NETMASK = ―‖ ONBOOT =‖yes‖ ONBOOT = ―yes‖ TYPE = ―Bridge‖ BRIDGE = ―br0‖

差错工具:ping,traceroute

vim /etc/passwd 一个用户只有一个主要组 1 2 3 4 5 6 7 用 密 用 组ID 用户 家目录 shell 户 码 户 别名 名 ID

0代表root

useradd leon

/sbin/nologin – 禁止登陆shell vim /etc/shadow

1(用户名) 2(加密后的密码) 3(密码最后更改日期)4(0代表密码随时可以改) 5(密码在多少天后必须修改,99999不限制) 6(密码到期多少天前提醒) 7(多少天后失效)

vim /etc/group

1(组名) 2(密码) 3(组ID) 4(用户)

一个用户可以对应很多组 一个组里面有很多用户 groupadd g group1

groupadd –g 600 group2 – 设定600组ID groupmod –g 550 group2 – 更改组ID

groupmod –n group0 group1 – 将组1改成组0 groupdel group0 – 删除组

useradd user1 group group1

passwd user1 + 密码 useradd –g group1 user1 –指定主要组 who am I passwd user1 id

useradd –g group1 –G(指定次要组) group2,group3 user1 userdel –r user1 –删除用户的同时把用户的家目录删掉

/var/spool/mail/ - 用户邮件存放的地方

- s + shell(/sbin/nologin) - d /home/aaaa – 指定家目录 Usermod –s /bin/bash user1 – 修改

文件系统:

touch -- * 代表所有参数结束 vim \\! 转译 ‘ ’括起来 文件类型:

- 普通文件 d – 目录 l – 链接

设备文件: c – 字符设备 b – 块设备 s – 套接字设备 Proc – 内存中运行的内核文件 selinux – 防护机制 Usr – 第三方软件 var – 运行数据存放的目录 /etc/fstab

Blkid /dev/sda1 >> /etc/fstab – 追加到末尾

e2label /dev/sda5

e2label /dev/sda5 labelxxxx -挂载系统 /etc/fstab LABELXXX

blkid /dev/sda5 >>/etc/fstab

d11w -挂载系统

blkid /dev/sda1 | awk ?{print $2}‘ |sed s/\\‖//g – 去掉符号

第六堂课学习笔记

文件权限: ll:

文件权限位:

1 2 3 4 5 6 7 8 9 10 11

- r w x r w - r - - . – 没有设定FACL 文件 user group others + - 设定FACL 类型

r(4) – 只读 w(2)– 可写 x (1)– 可以执行

chmod u = rwx abc chmod u = rwx , g = rw abc chmod u = rwx , g = rw , o = r abc

chmod 764 abc chmod 777 abc chmod a (代表所有用户) = rwx abc chmod g-x , o – wx abc chmod 000 abc chmod a+r abc chmod u+wx , g+w abc chmod –R 764 xyz 对目录的递归

chattr + i abc – 防止改写的权限标志 chattr – i abc lsattr abcd

echo xxxx > xyz –在xyz文件上写内容 特殊权限:

SUID(权重是4) – 在执行程序的时候变更所属用户 用于普通二进制文件,只能用作二进制的可执行程序 chmod u+s abc chmod u-s abc

SGID(权重是2) – 可用于普通二进制文件和目录 – 属于组 chmod g+s abc chmod g-s abc

SBIT(权重是1) – 只用于目录,其他用户可以改写前提是存在w权限,但是其他用户没法删除

chmod o+t abc chmod o-t abc 实验 :cp /bin/sleep/tmp chmod 777 /tmp/sleep su - abc

/tmp/sleep 123 &

ps aux|grep sleep | grep –v grep —查看sleep 进程

chmod 0777 (代表没有特殊权限)sleep

chmod u+s sleep chmod u-x sleep(变成大写的S) 实验:mkdir sgid chmod 2777 sgid

su – abc cd sgid touch fadffdd ll

umask: 0022 0002

目录 文件 root: 777 666 022 022 755 644 abc: 777 666 022 022 755 644

.bash_profile — .bashrc — /etc/bashrc (优先级从大到小)

远程控制:

ssh 进程 sshd daemon 搭建服务器的步骤: 1,install 2, configure 3, boot/startup

4, 防护 iptables/selinux 5, 测试

配置ssh 服务器:

1,yum install openssh-server 2, cd /etc/ssh/

3, service sshd start/restart

chkconfig sshd on – 开机启动

4,service iptables restart – 重新载入 5,ssh 192.168.0.51

指定用户 ssh –l abc 192.168.0.51 w – 命令

wall ―test‖ 向所有用户发送文件 echo totty1(内容) > /dev/tty1

scp root@192.168.0.51:/tmp/file /root/tmp 远端

scp install.log root@192.168.0.51:/tmp

配置telnet安装:

yum install telnet-server telnet

chkconfig telnet on (等同于 vim /etc/xinetd.d/telnet中的disable改为no) chkconfig xinetd on

service xinetd start

vim /etc/sysconfig/iptables 将22改成23 (ctrl + a – 加1,ctrl +x – 减1) service iptables restart telnet 192.168.0.51

红帽子第七堂课学习笔记

chkconfig --list – 查看开机启动的服务 chkconfig --list + 服务名称

WEB服务:

1. yum install httpd 2. vim /etc/httpd/config

3. service httpd start chkconfig httpd on 4. vim /etc/iptables 将端口号改成80端口

service iptables restart

5. 测试 网站首页:vim /var/www/html/index.html

sshd 配置文件:/etc/ssh/sshd-config 配置ssh服务器密钥: 客户端:ssh-keygen cd /.ssh – 密钥位置

mv id_rsa.pab authorized_keys

在客户端:scp root@192.168.0.151:/root/.ssh/id.rsa (远程端) ~/.ssh/

服务器端:vim /etc/ssh/sshd-config 把passwd改成no(PassAuthentication改成no) Service sshd restart Ctrl + d – 退出

VNC安装:yum list all |grep vnc

1, yum install tigervnc-server tigervnc

2,vim /etc/sysconfig/vncservers –最后俩个配置参数 0 - 5900

3,在当前用户配置vncpasswd service vncserver start chkconfig vncserver on

4, vim /etc/sysconfig/iptables – 改端口号 Service iptables restart 5, 测试

家里配YUM源:baseurl = file:///mnt/cdrom(镜像存放的位置)

多用户VNC,在abc用户下设置 vncpasswd Netstat –tln|grep 590

如果添加 –localhost 必须经过ssh再用VNC去访问很安全

加了localhost 客户端上配置:vncviewer –via abc@192.168.0.151(远端) localhost:9

fdisk –l – 查看文件系统分区

shift + pagedown/pageup 上下翻滚

gpm 安装

tune2fs –l /dev/sda1 – 查看sda1的信息

tune2fs –i 1d/1w/1m /dev/sda1 – 重启系统后在一天后会进行系统完整性检查 tune2fs –L +卷标名 /dev/sda1 – 修改卷标名 ‘’空卷标

Tune2fs –o user_xattr,acl /dev/sda1 修改默认挂载参数

交换分区:

mkswap /dev/sda5 – 创建交换分区

swapon /dev/sda5 – 启用sda5 vim /etc/fstables

swapon –s 等价于 cat /proc/swaps 都是查看swap分区

第八堂课学习资料

facl(file access control list) – 文件控制列表 getfacl file – 查看facl权限

setfacl –m u:leon:rwx,g:group:r-- file 多个用户用逗号分开 实验:

useradd leon,ada,chris echo 123 > file setfacl –m u:leon:rwx,u:ada:rw-,u:chris:r-- file setfacl –x u:leon,u:ada file 删除某一个 setfacl –b file 删除所有facl规则

安装:rhn redhat network

虚拟化:yum grouplist |grep irt

四个组件:yum groupinstall virtualization

virtuallization client

virtualization platform tools

service sshd start 等价于 /etc/init.d/sshd start init.d / - ls libvir*

service libvirt-guests restart – 管理具体的虚拟机 service libvirtd restart – 虚拟机的基础服务

启动:BIOS – MBR(446(引导字符)+64+2) – GRUB – kernel(initrd.img临时文件系统)- init – service – tty/x-window

在GRUB界面:e – 编辑 a – 核心参数修改 p – 针对加密后的 c – 完全自己输命令(用boot命令启动)

cd 进入/boot – 第一行是boot分区位置

第二行是核心位置和根分区位置 第三行是临时文件系统位置 b – 进入正常启动

grub 的配置文件:

/etc/grub.conf – 链接文件

/boot/grub/menu.lst – 链接文件 /boot/grub/grub.conf – 配置文件

加密grub:

grub-md5-crypt |tee –a(在文件最后添加) /boot/grub/grub.conf

vim /etc/init – 运行级别的配置文件

第九堂课学习笔记

httpd apache(rhel6.0可以下载超过2G的文件) iis,tux,zeus,resin,tomcat

vim /etc/httpd/conf/httpd.conf - 配置文件

重要参数: ServerRoot – httpd服务存放的位置 Listen

ps aux|grep 1579 timeout

Include conf.d

ServerAdmin – 如果服务器出错,联系管理员 DocumentRoot /var/www/html – 首页的位置

mkdir /var/www/html/{dir1,dir2} index..html

httpd –t 查看配置文件语法是否错误

域名httpd 要更改/etc/hosts 里面的IP地址和域名服务器 还要加 NameVirtualHost 192.168.0.151

在目录里面还有加上:ServerName 域名前面没有*

多行注释的命令:100,200 s/^/#/g

访问时需要密码验证:

1,mkdir /var/www/html/test cd test

echo test > index.html

vim /etc/httpd/conf/httpd.conf

2,加 AllowOverride AuthConfig

service httpd restart

3. 在test里面新建一个.htaccess里面内容写: AuthName ―aaaaa‖ AuthType Basic

AuthUserFile /var/www/html/test/.htpasswd Require valid-user

4. htpasswd –c /var/www/html/test/.htpasswd httpuser

FTP服务器:

数据传输端口:20 数据控制端口:21

yum install vsftpd service vsftpd start chkconfig vsftpd on

/etc/sysconfig/iptables 端口改成20:21 测试:ftp +IP地址

工作目录是在:/var/ftp/pub

FTP客户端命令:

cd , ls/dir, get/mget , put/mput, pwd, quit !ls –查看本地目录 !pwd, !cd/lcd FTP模式 :port(主动) pasv(被动)

anonymous 匿名

ftp配置文件:

/etc/vsftpd/vsftpd.conf

/etc/hosts.allow /etc/hosts.deny userlist_enable=YES

user_list ftpusers

存在 userlist_deny=NO 那么user_list是白名单,ftpusers是黑名单

getsebool –a |grep ftp setsebool –p ftp_home_dir=1

实验:useradd –s /sbin/nologin ftpuser passwd

第十堂课学习笔记

TCP_Wrapper(一般不用) cd /etc ls host.* vim hosts.allow

sshd:192.168.0.0/255.255.255.0 vim hosts.deny sshd:xxx/xxx

ALL:ALL 所有服务都允许

-A INPUT –P tcp --dport(目标端口) 22 –j(动作) ACCEPT

telnet服务:

1, yum install telnet-server 2, chkconfig telnet on 3, service xinetd start 4, chkconfig xinetd on 5, iptables tcp 23

--dport 22 –s(源地址) 192.168.0.0/24 –j ACCEPT

getenforce

setenforce 0 代表关闭 setenforce 1 代表启动

vim /etc/selinux/config 配置文件

enforcing – 运行

permissive – 临时关闭 disabled – 彻底关闭

getsebool –a |grep ftp – 查看预设规则 setsebool

setsebool –P ftp_home_dir on/1

anonymous –匿名用户, 密码是电子邮件格式,只能看 /var/ftp的目录

第十一堂课学习笔记

vsftp服务实验: 1,install

2,vsftpd.conf(/etc/vsftpd/vsftpd.conf) 3,service/chkconfig

4, iptables tcp 20,9001-9002

selinux – setsebool –p ftp_home_dir on/1

vsftpd.conf配置:

anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022

dirmessage_enable=YES xferlog_enable=YES xferlog_std_format=YES listen=YES

pasv_enable=YES pasv_min_port=9001 pasv_max_port=9200

pam_service_name=vsftpd userlist_enable=YES userlist_deny=NO tcp_wrappers=YES

chroot_list_enable=YES (可选)

chroot_list_file=/etc/vsftpd/chroot_list (可选)

系统管理命令:

groupmod –n group2 group1 - 将组1改成组2 groupdel groupadd

/etc/skel目录下 useradd 的参数:

-d /home/testuser 指定家目录 -g 指定主要组 -G 指定次要组

-s /bin/bash 指定shell (-m)

usermod 跟useradd 的参数一样

/var/spool/mail/testuser – 邮件存放的位置

userdel –r testuser 彻底把用户删掉,包括邮件

创建过程是:先建group再建user,删除相反

进程管理:

sleep 12345 – 前台进程

ps aux(代表全部进程)|grep 12345 kill + 进程号

sleep 12345 & - 后台进程 jobs – 查看运行的后台进程 kill %1 – 结束第1个后台进程

第十二堂课学习笔记

ps aux 查看后台执行的程序 ps –ef - PPID kill -9 ID号 ps –ef|grep sleep nohup sleep 12345 &

jobs – 只能查看本终端下的进程 先运行screen增加一个屏幕 screen –r 只能打开一个

screen –ls – 查看正在使用的屏幕 screen –r 5503

ctrl +a+d 暂时退出不间断程序 ctrl+d 完全退出 定时执行程序:

at hh:min AM DDMMYY at 10:00 AM 10.10.12 at now + 20 minutes at 6:00 pm + 3 days man at

atq/at –l 查看 atrm/at -d 删除

serveice atd status

crontab

service crond status –查看是否运行 crontab –e

CMD

0-59 0-23 1-31 1-12 0-7(0和7都代表星期天)

* * * * * ls > /tmp/aaa – 每隔一分钟 59 23 * * * ls 59 23 1 * * ls 59 23 1 4 1 ls

*/2 * * * * ls – 每隔2分钟

crontab –l > /tmp/cronlist –重定向 crontab –r 删除

crontab /tmp/cronlist –导入恢复

whoami

crontab –e –u abc 用户abc

只有root 用户才能修改其他用户的crontab

Kill –l 查看有多少种信号 - 9 强制退出/回收信号

pkill + 进程名称 – 根据进程名称来进行结束进程

mkswap ,swapon,swapon –s,cat /proc/swaps

挂载镜像包:

dvd.iso(镜像包名称) /mnt/iso iso9660 loop 0 0

磁盘限额:

1,umount /mnt/quota

Mount –o usrquota,grpquota /dev/sda7 /mnt/quota 或 /etc/fstab , mount –o remount /mnt/quota 2,quotacheck –ug /mnt/quota 3,edquota –u leon

blocks soft hard indoes soft hard 0 100000 200000 0 4 8 4,quotaon –ug /mnt/quota

repquota(只适用于root用户) –vsug /mnt/quota

dd if=/dev/zero of=a(/mnt/quota下自己创建的文件) bs=1024 (单位是kb) count=9999999999 源文件 输出文件 ll –h quota

正则:

?单个字符 *所有 \\!转义 ^行开头 $行结尾

^abc$ 代表以a开头的abc,c结尾 []代表或 a[bz]c,a[b-z]c

grep abc file

[a-z,A-Z] 管道

重定向:

> 代表定向 >> 代表追加

cat file |grep a[c-z] |wc –l > /dev/null 2>&1

不显示在屏幕上 错误不显示在屏幕上

完整写法:1 > /dev/null 2>&1

第十三堂课学习笔记

网络知识点:host – DNS解析命令 nslookup – DNS解析命令

磁盘加密:

1,磁盘加密建立:

cryptsetup luksFormat /dev/sdb1(分区) 大写的YES cryptsetup luksOpen /dev/sdb1 decrypt(映射名可以自己随便写) mkfs.ext4 /dev/mapper/decrypt

mount /dev/mapper/decrypt /mnt/crypt

2, 磁盘加密解除:

umount /mnt/crypt

cryptsetup luksClose decrypt

fuser –ci /mnt/crypt –查看正在占用磁盘的进程

加密磁盘自动打开并开机自动挂载:

vim /etc/crypttab 在这里面添加三项:

#name device password_file 这一行不需要写出来 decrypt(是mapper下的映射名) /dev/sdb1 /root/crypt_key

/etc/fstab

/dev/mapper/decrypt /mnt/crypt ext4 defaults 0 0

touch /root/crypt_key

chmod 600 /root/crypt_key

cryptsetup luksAddKey /dev/sdb1 /root/crypt_key

逻辑卷管理:LVM 1, PV – 物理卷,里面可以是分区,也可以是一整块磁盘 2, VG – 卷组 3, LV – 逻辑卷

创建逻辑卷的三步骤: 1,创建pv

fdisk -l

创建三个分区:100M,200M,300M 用 t 修改成8e

pvcreate /dev/sda1 /dev/sda2 /dev/sda3 pvscan –查看pv信息

pvdisplay –查看详细的pv信息

pvdisplay /dev/sda1 –查看指定的分区信息 pvremove /dev/sda1 –删除物理卷

2,创建卷组:

vgcreate testvg(vg名) /dev/sda1 /dev/sda2 /dev/sda3

vgscan ,vgdisplay,vgremove testvg

3,创建lv

lvcreate –L 150M –n lv01 testvg

创建完后的设备名叫 /dev/testvg/lv01

lvscan, lvdisplay, lvremove /dev/testvg/lv01

mount /dev/testvg/lv01 /mnt/lv01

开机自动挂载:/etc/fstab 里面

第十四堂课学习笔记

vg的增大和减小:

pvcreate /dev/sda4

vgextend testvg /dev/sda4 增加sda4容量 vgreduce testvg /dev/sda4 减少sda4 sda5

pvmove /dev/sda4 /dev/sda5 在vg中将sda4的数据移动到sda5里面去

lv的增大:

FS(文件系统) < Partition

lvextend –L +200M /dev/testvg/lv01

resize2fs /dev/testvg/lv01 增加文件系统大小

lv的减小:

1,umount /mnt/wangle

2, mke2fs –n /dev/testvg/lv01 –查看文件系统的大小主要查看blocks数量单位是KB 如果是减少了还得计算减少之后的值 resize2fs –f /dev/testvg/lv01 206848K lvreduce –L -153600KB /dev/testvg/lv01

网络文件系统:Network Filesystem (NFS) RPC(rpcbind/portmap)

1,yum install nfs-utils rpcbind service rpcbind status

2,/etc/exports 配置文件

共享的目录 共享的网段

/tmp/nfs 192.168.0.0/24(ro,root_squash)

rw ro(只读) sync(同步) async(先内存后硬盘) no_root_squash(不身份压缩成nobody普通用户) root_squash all_squash (身份压缩)

anonuid (必须存在于/etc/passwd中) anongid

3,service nfs start Service nfslock start 4, iptables 先关掉 5,测试

服务端:exportfs -a 所有 -r 重新共享 -u 卸载共享 -v 查看共享

客户端:showmount –e serverip mkdir /mnt/nfs

mount –t nfs 192.168.0.220:/tmp/nfs .mnt/nfs

端口设置:

/etc/sysconfig/nfs里面的四个文件: MOUNTD_PORT=892

STATD_PORT=662

LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769

service nfs restart service nfslock restart

netstat 查看有10个固定端口 TCP/UDP 111 TCP/UDP 2049 TCP/UDP 892 TCP/UDP 662 TCP 32803 UDP 32769

NFS自动挂载:

192.168.0.220:/tmp/nfs /mnt/nfs nfs soft,intr,timeo=50(等于5S) 0 0

每次进入misc中自动挂载: 先是进入:/misc中

然后修改:/etc/auto.misc

nfs -ro,soft,intr 192.168.0.220:/tmp/nfs 最后进入nfs中

/etc/auto.master是管理auto.misc文件的

用户管理: id 命令

只要uid=0 该用户就是root用户

第十五堂课学习笔记

LDAP – 集中用户密码认证和数据存储集中认证

服务器端:先在服务端建几个客户端没有的用户和密码

1,yum install openldap-servers openldap openldap-clients migrationtools 2,cd /etc/openldap

cp slapd.conf.bak slapd.conf

vim /etc/openldap/slapd.conf – 在里面添加俩个参数:rootpw,password-hash rootpw 后面跟 slappasswd 创建的密码 password-hash 后面跟 {crypt} 3,,拷贝数据库文件:

cp /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

4,vim /usr/share/migrationtools/migrate_common.ph 在这个配置文件中修改俩个参数 $DEFAULT_MAIL_DOMAIN=‖my-domain.com;

$DEFAULT_BASE=‖dc=my-domain,dc=com‖; 意思是将域名改成与主配置文件/etc/openldap/slapd.conf中的域名一样

5,/usr/share/migrationtools/migrate_passwd.pl /etc/passwd > /etc/openldap/user.ldif /usr/share/migrationtools/migrate_group.pl /etc/group > /etc/openldap/group.ldif 意思是利用migrationtools工具将本地的用户和密码转化成ldif文件

vim /etc/openldap/base.ldif 在里面添加如下内容: dn:dc=my-domain,dc=com dc:my-domain objectClass:top objectClass:domain

dn:ou=People,dc=my-domain,dc=com ou:People

objectClass:top

objectClass:organizationalUnit

dn:ou=Group,dc=my-domain,dc=com ou:Group

objectClass:top

objectClass:organizationalUnit 6,slapadd –vl base.ldif slapadd –vl user.ldif

slapadd –vl group.ldif 意思是将ldap下的三个ldif文件添加到数据库中 7,chown –R ldap:ldap /var/lib/ldap 更改文件的用户和组 8,service slapd start

9,tcp 389 iptables 在防火墙中添加tcp389这个端口

客户端:直接在setup里面第一个选项里面启用ldap服务,并修改服务器的ip地址和域名

LDAP和NFS组合应用: 1,安装NFS

2,vim /etc/exports 里面添加

/home 192.168.0.0/24(rw,root_squash)

3,nfs自动挂载:

在 /etc/master里面添加 /home /etc/auto.home vim /etc/auto.home 里面添加:

* -rw,soft,intr 192.168.0.200:/home/& 匹配

所有 用户

service autofs stop service autofs start

例如ldapuser1用户会自动添加/home/ldapuser1这个家目录

组与ACL: getfacl

setfacl -m u:abc:rwx file setfacl –x u:abc,u:xyz file

setfacl –b file

ll 查看文件后面有+表示设定了acl权限

第十六堂课学习笔记

selinux:

/etc/selinux

在内存中更改:getenforce

Setenforce 0 –关闭 临时变更selinux的状态

sestatus

-v 参数

setsebool –P ftp_home_dir=1或者setsebool –P ftp_home_dir on

ll –Z 查看安全文本

修改安全文本类型:

chcon –t httpd_sys_content_t index.html 类

chon –Rt 递归

restorecon –Rv /var/www/html 修改文件或文件夹的安全文本

递 归 详

yum install policycoreutils-gui

System-config-selinux 图形界面管理selinux

补充:semanage fcontext –a –t ?/common(/.*)?‘ restorecon –vvFR /common

软件安装RPM(redhat package manager)

rpm –ivh xxx.rpm 安装 rpm –Uvh xxx.rpm 更新

rpm -qa rpm –q gpm

rpm –ql gpm 软件安装包查询

rpm –e gpm 卸载

rpm –qf /etc/vsftpd/vsftpd.conf 查询

yum list

yum list gpm yum list updates yum list installed yum update gpm

yum grouplist 软件包组

yum groupinstall ?X Window System‘ yum groupinstall ?Desktop‘

yum remove gpm

yum groupremove ?Desktop‘

yum clean all –清除缓存

chkconfig --level 35 sshd on

netstat –utln 查看使用的端口 u t 监 数字

d c p p

lsof –i :80 查看80端口开启了哪些服务

/var/log 日志文件

第十七堂课学习笔记

服务故障排除:

telnet 192.168.0.254 80 看是否能够连接上 查看setenforce selinux 的状态

防护机制 ,防火墙

查看日志 /var/log

保证atd服务在运行 at midnight/noon Feb 14

service crond status

crontab –e –u abc 等同于 vim /var/spool/cron/root service crond restart

crontab –l [-u abc]

crontab –r [-u abc] 删除 crontab –l > mytab 导出 crontab mytab 导入

日志管理:

系统日志:klogd 和 rsyslogd 存放于 /proc/kmsg /var/log/messages

/etc/rsyslog.conf 里面: . device: level: authpriv debug cron info kern notice mail warn localo err local 7 crit alert emerg *

lastlog 最后登录的用户的信息 (读取的是/var/log/lastlog文件) last –成功 /var/log/wtmp

lastb –不成功的 /var/log/btmp utmpdump /var/log/lastlog who who am i

logrotate –周期执行然后将日志归档 /etc/logrotated

fg %1 放在前台运行 bg %1 放在后台运行

nice - - 20 sleep 12345 指定优先级为-20 ps –elf|grep 12345 默认优先级为10 renice -20 –p PID

renice -20 –u USER 更改所有进程的优先级

http://kernel.org linux-2.6.27.47.tar.bz2

第十八堂课学习笔记

编译核心:

1,先保证 /usr/src/kernels 这个文件目录的大小有8-10G左右的空间大小 解压所拷贝的内核:tar jxvf + 文件名字

2,make mrproper 清理以前编译文件留下的配置文件,清理临时

3,make menuconfig 配置内核(相当于vim .config-核心配置文件)ntfs选择M install gcc

install ncurses-devel 4,make –编译内核

5,make modules_install 编译内核模块

6,make install 安装(把核心放到boot,自动修改grub文件)

vim /etc/grub.config uname –r

lsmod –查看系统载入了哪些模块

启用新内核:

单独加载ntfs模块:

1,make menuconfig 将ntfs选择M和write 2,make modules-prepare

3,make modules SUBDIRS=fs/ntfs cd fs/ntfs 里面有一个ntfs.ko文件

4,mkdir –P /lib/modules/2.6.32.27/kernel/fs/ntfs

5,cp fs/ntfs/ntfs.ko /lib/modules/2.6.32.27/kernels/fs/ntfs 6,depmod –a 生成模块关系列表

modprobe ntfs –加载ntfs模块 lsmod |grep ntfs

救援模式:选择第三项rescue ls --color

chroot /mnt/sysimage

grub-install /dev/vda 写入磁盘的MBR

第十九堂课学习笔记

Shell脚本编程: 1,例子 vim a.sh

#!/bin/sh (sh是父shell) 将用这个shell解释下面的内容 echo hi

chmod a+x a.sh 加上执行权限 ./a.sh –执行

变量赋值:a=1

echo $a –打印a的值 等同于 echo ${a}

bash 子shell

export a=1 在子shell中给a赋值 bash 进入子shell echo $a

2,数组赋值: b[0]=a b[1]=b b[2]=c b[3]=d b[abc]=e

echo ${b[0]} 打印b[0]的值

echo $b[@] 打印所有数组的值

#!/bin/sh

echo $0 打印./a.sh本身

echo $1 打印./a.sh 第一个参数 echo $2打印./a.sh 第二个参数

echo $# 打印参数的个数

echo $@和echo $* 代表打印所有的参数

set –x 打开跟踪

set +x 关闭跟踪 并不常用 readonly b=1 只读b=1 echo $b

条件语句 if语句: 例子:

#!/bin/bash a=1

if [空格$a –eq 1空格] then

echo OK else

echo NO fi

嵌套if语句

#!/bin/bash a=1

if [空格$a –eq 1空格] then

echo OK else

if [ $a –eq 2 ] then

echo 2 else

echo NO fi fi 另一种:

#!/bin/bash a=1

if [空格$a –eq 1空格] then

echo OK elif [ $a –eq 2 ] then

echo 2 else

echo NO fi

case 语句:

#!/bin/bash a=2

case $a in

1) echo 1;; 分隔符用俩个分号 2) echo 2;; 3) echo 3;; *) echo NO esac

-eq 等于 -ne 不等于 -gt 大于

-ge 大于等于 -lt 小于

-le 小于等于

字符串比较:=,!=

例子:

#!/bin/bash a=

if [ x‖$a‖ != x111 ] (―‖是防止字符串中有空格) then

echo OK else

echo NO fi

例子:

#!/bin/bash if [ -f /tmp/abc ] then

echo OK else

echo NO

中文版shell脚本学习指南 英文版 Classic Shell Scrip。。。。

循环语句: #!/bin/bash

for ((i=1;i<=100;i++)) do

echo $i done

例子: #!/bin/bash sum=0

for ((i=1;i<=100;i++))

(-f是判断/tmp/abc这个文件是否存

在并为普通文件)

do

sum=$(expr $sum空格+空格$i) done

echo $sum

printf 是输出不换行

while 循环: #!/bin/bash sum=0 i=1

while [ $i –le 100 ] do

sum=$(expr $sum + $i) i=$(expr $i + 1) done

echo $sum

until循环:(一般用的少) #!/bin/bash i=1

until [ $i –gt 100 ] do

echo $i

i=$(expr $i + 1) done

break/continue #!/bin/bash sum=0

for ((i=1;i<=100;i++)) do

if [ $i –gt 100 ] then

break/continue fi

sum=$(expr $sum + $i) done

echo $sum

break 1 跳出1层循环 break 2 跳出2层循环

1-100间的质数: #!/bin/bash a=1 b=100

for((i=$a;i<=$b;i++)) do

flag=0

if [ $i –lt 2 ] then

continue fi

for((j=2;j<$i;j++)) do

res=$(expr $i % $j) if [ $res –eq 0 ] then

flag=1 break fi

done

if [$flag –eq 0 ] then

echo $i fi done

函数: func() {

date }

func 调用函数

例子: func() {

echo $0

函数体

echo $1 echo $2 }

func 111 222

func $1 $2 是把脚本的函数的参数传给函数

完整的质数计算方法: #!/bin/sh check() {

if [ $# -ne 2 ] then

echo ―2 paraments needed,quit‖ exit fi

}

number_check() {

num=$1

c=$(echo $num | wc –c) c=$(expr $c – 1) for((i=1;i<=$c;i++)) do

ch=$(echo $num|cut –c $i)

flg=$(echo $ch | grep [0-9].* | wc –l) if [ $flg –eq 0 ] then

echo ―$num is not a number,quit‖ exit fi done

if [ $num –lt 2 ] then

echo ―num is less than 2,quit‖ exit fi }

switch() {

if [ $1 –gt $2 ] then

max=$1 min=$2 else

max=$2 min=$1 fi }

prime() {

for((i=$min;i<=$max;i++) do

flag=1 for((j=2;j<$i;j++)) do

x=$(expr $i % $j) if [ $x –eq 0 ] then flag=0 break fi done

if [ $flag –eq 1 ] then

echo $i fi done }

check $@

number_check $1 number_check $2 switch $1 $2 prime

第二十堂课学习笔记

SED匹配打印:

查看文本的第100行:

head –n 100 /etc/services|tail –n 1 sed –n ?1‘p /etc/services

sed –n ?100‘p /etc/services sed –n ?1,10‘p /etc/services 用了变量一定要用双引号 a=100

sed –n ―$a‖p /etc/services

sed –n ?/http/‘p file 将所有含有http字段的行打印出来

sed –n ?1,/http/‘p file 打印从第1行到第一次出现http字符的行 $ 代表最后一行

插入:a\\ 代表在之后插入

sed ?1 a\\zzz‘ abc 在第一行后面插入zzz 变量 b=zzz

sed ―1 a$b‖ abc

sed ?1 i\\zzz‘ abc 在第一行之前插入zzz

sed ?/3c/ i\\zzz‘ abc 只要是包含3c这个字符的行之前添加zzz 修改文本:

sed ?/3c/ c\\zzz‘ abc 指把带有3c字符的一整行替换为zzz

sed –i ?/abc=/ c\\abc=1‘ a.ini 有的版本没有-i这个参数 sed ?/abc=/ c\\abc=1‘ a.ini > b(一个文件)

删除文本:

sed ?/3c/‘d file 删除包含3c这个字符的行 sed ?1‘d file sed ?1,2‘d file

替换文本:

sed ?s/3c/aaa/g‘ abc 将3c这个字符串替换成aaa sed ?s/abc=.*空格 /abc=1空格 /g‘ abc a=abc

sed ―s/$a/xyz/g‖ file

cat abc | tr ?\\n‘ ?|‘ sed ?s/|/ /g‘ abc cat abc | tr –d ―‖ 删除空格 tr ?\\\\t\\\\n\\n‘ ― ―

awk –F: ?{print $1}‘ /etc/passwd 打印第一列 分隔符 $0 代表整行

$NF 代表最后一列 awk ?{printf $0}‘ abc 解析\\n换行

$ 1 同样代表第1列

awk –F‘[: ]‘ ?{print $NF}‘ abc

awk –F: ?{print $1,$NF,$3}‘ /etc/passwd

BEGIN与END

a: 1 summary b: 2 a 1 c: 4 b 2 d: 5 打印成 c 4 d 5 total 12

awk –F‘[: ]‘ ?{print $1,$NF}‘ abc

awk –F‘[: ]‘ ?BEGIN{print ―summary‖} {print $1,$NF}‘ abc

awk –F‘[: ]‘ ?BEGIN{print ―summary‖} {print $1,$NF;sum=sum+$NF} END{print ―total ―sum}‘ abc

#!/bin/sh

awk –F ?[: ]‘ ?

BEGIN{print ―symmary‖} {

print $1,$NF; sum=sum+$NF }

END{print ―total ―sum} ?abc

NR代表记录值 sum/NR是求平均值

~代表包含,匹配 !~代表不匹配

awk –F: ?{ if($1~/root/) print $0}‘ /etc/passwd 简写:awk –F: ?$1~/root/‘ /etc/passwd 精确匹配:

awk –F: ?{if($3==‖0‖) print $0}‘ /etc/passwd If($3>$4) print $1,$2,$3 打印多列

‘{printf ―%d\\n‖, $3}‘ /etc/passwd 由$3进行替换

awk –F: ?{printf $0 ―\\n‖}‘ /etc/passwd 正则表达式:

awk –F: ?/root/‘ /etc/passwd

awk –F: ?/^root/‘ /etc/passwd 代表第一列有root的打印出来

&&和,!取反,||或

awk –F: ?{ if(($3>$4)&&($3>10)) print $0}‘ /etc/passwd

awk 内置变量

ARGC 命令行参数个数 ARGV 命令行参数排序

ENVIRON 支持队列中系统环境变量的使用 FILENAME awk浏览的文件名 FNR 浏览文件的记录数

FS 设置输入域分隔符,等价于命令 NF 浏览记录的域个数

awk –F: ?{print NR,$1}‘ /etc/passwd /tmp/abc

awk –v FS=: -v OFS=\\| ?{print NR,$1}‘ /etc/passwd /tmp/abc

-v ORS= -V ORS=,

ORS默认是换行 awk 内置函数

gsub 用来作替换的 ― ―引号内代表字符串

awk –F: ?{gsub(―root‖,‖a‖);print $0}‘ /etc/passwd 将root替换成a gsub($1,‖a‖)

sed –n ?1,20‘p /etc/passwd | awk ?{ if(($3<=$4) && ($5!=‖ ―)) print $5}‘ | sed ?s/‖‖/_/g‘

第二十一堂课学习笔记

用户身份的切换: su wangle

env 不改变环境变量

su – wangle

env 改变环境变量

setup工具 sudo setup

/etc/sudoers ->

leon ALL=(root) NOPASSWD:/usr/sbin/setup 普通 所 被执 执行的程序 用户 有 行的 主 用户 机

先切换成普通用户:su – wangli

再执行 sudo setup 进入setup不需要密码验证

用户别名:/etc/sudoers

Host_Alias HOST = 192.168.0.60,127.0.0.1,192.168.0.254 (代表所有主机) User_Alias USER = wangle,leon Runas_Alias RUSER = root

Cmnd_Alias CMD = /usr/sbin/setup

USER HOST=(RUSER) NOPASSWD:CMD

%wheel 代表组

文件加密:

简单密码加密: gpg

rpm –qf /usr/bin/gpg 查询源包

gpg –c file 加密 gpg file.gpg 解密

密钥加密:

Server:先生成公钥和私钥密钥对 Client: 导入公钥进行加密

把加密的文件传给服务器由私钥进行解密 步骤:

1,服务器生成密钥对

2,服务器将公钥传给客户端 3,客户端上导入公钥 4,客户端进行加密

5,把加密文件传给服务器进行解密

命令:

Server:

gpg --gen-key 生成密钥对

gpg --list-keys 查看生成的密钥

gpg --export --armor key-id(自己查询指后面一段) > pub.key

scp root@主机名或IP地址 文件

Client:

gpg --import pub.key 导入公钥

gpg --encrypt --armor –r key-id file 加密文件 将加密的asc文件传给服务器 Server:

gpg –o file --decrypt file.asc

私钥导出: Server:

gpg –o priv.key --armor --export-secret-keys key-id

将priv.key 传给客户端 Client:

gpg --import priv.key 导入priv.key

gpg --encrypt --armor –r key-id file 加密文件 gpg –o file --decrypt file.asc 解密文件

网络设定:

在 /etc/sysconfig/network-scripts 下面:

网卡别名:ifconfig eth0:0/1/2/3 ip地址 netmask 子网掩码 (这种方式重启后会消失)

网卡别名可以将同一块网卡设置多个IP地址

双网卡绑定:

在做下面的实验之前都得把NetworkManager 给关掉: service NetwrokManager stop chkconfig NetworkManager off 1,网卡别名实现:

cp ifcfg-eth0 ifcfg-eth0:0

vim ifcfg-eth0:0 将DEVICE 改成eth0:0 ifdown eth0;ifup eth0 重启eth0网卡 service network restart 2,双网卡绑定:

cd /etc/sysconfig/network-scripts/ vim ifcfg-bond0 ->

DEVICE=‖bond0‖ 绑定后的设备名

IPADDR=192.168.0.100 绑定后的IP地址 PREFIX=24 ONBOOT=yes

BONDING_OPTS=‖mode=1 miimon=50‖ (1代表主备关系,0代表负载均衡)

先将ifcfg-eth0和ifcfg-eth1这俩个文件移走 然后编写:

vim ifcfg-eth0 -> vim ifcfg-eth1 ->

DEVICE=‖eth0‖ DEVICE=‖eth1‖ ONBOOT=yes ONBOOT=yes

MASTER=bond0 (代表主设备) MASTER=bond0 (代表主设备) SLAVE=yes (代表从设备) SLAVE=yes (代表从设备)

第二十二堂课学习笔记

DHCP:

先在虚拟器管理里面HOSTVIRTUL 添加一个私有网络

服务器和客户端都设置俩块网卡,一个是NAT,一个是本地 服务器:

yum install dhcp

配置文件:/etc/dhcp/dhcpd.conf cp 一个sam文件到dhcpd.conf

cp /usr/share/doc/dhcp*/dhcpd.conf.sample service dhcp restart

1,$ g/^#/d 以#号开头的全部删掉 将NetworkManager 停用掉 网卡设置:

Server :

nat eth0 正常启动

isolate eth1 设置成100.2 dhcp 设置成100.x

Client :

nat eth0 关掉(将onboot改成no)

isolate eth1 dhcp 自动获取(onboot改成yes)

NAT :

服务器设定:

1,vim /etc/sysctl.conf 里将第一项转发改成1,开启转发 sysctl –p 载入

2,vim /etc/sysconfig/iptables

增加NAT表: *nat

:PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0]

-A POSTROUTING –o eth0 –s 192.168.100.0/255.255.255.0 –j MASQUERADE COMMIT

在过滤表里增加:

-A FORWARD –m state --state ESTABLISHED,RELATED –j ACCEPT -A FORWARD –m state --state NEW –s 192.168.100.0/24 –j ACCEPT

service iptables restart NTP 网络时间协议 服务器端:

vim /etc/ntp.conf 里面,主要是查看Server这个地方 service ntpd restart iptables 设定: udp端口 123

service iptables restart

服务器端时间同步命令:ntpdate –u localhost 客户端时间同步命令:ntpdate –u +远程IP地址

第二十三堂课学习笔记

SSL:(https 443端口) cd /etc/httpd/conf.d yum install mod_ssl ssl.conf里面

service httpd restart netstat –tln lsof –i : 80 lsof –i : 443 查看密钥:

openssl x509 –in xxx.crt(密钥名称) –text

自己生产密钥对:

yum install crypto-utils 安装加密工具 genkey

genkey hostname 密钥默认有效期是一年 genkey --days 700 hostname

虚拟主机: 1,IP

DocumentRoot /var/www/html/a 2,Domain

NameVirtualhost 192.168.0.250

DocumentRoot /var/www/html/a ServerName abc.com

3,PORT

DocumentRoot /var/www/html/a

DocumentRoot /var/www/html/a

mkdir {a,b}

setenforce 0 关闭selinux yum list all | grep policy 的包

yum install policycoreutils-python

semanage port –a –t http_port_t –p tcp 8090 增加端口 semanage port –d –t http_port_t –p tcp 8090 关闭端口

使用CGI脚本: a.cgi #!/bin/sh

echo Content-type:text/plain echo /bin/date

chmod a+x a.cgi

在ScriptAl这一项里

更改成:/abc/ ―/abc/‖ cd /var/www/ ll -Z

chcon –Rt

错误日志查看: cd /var/log/httpd vim erro_log

ISCSI:

Server配置:添加一块硬盘,分一个区 yum install scsi-target-utils service tgtd start

chkconfig tgtd on

tgtadm --lld iscsi --op new --mode target --tid 1 –T iqn.2011-11.domain:id tgtadm --lld iscsi --op new --mode logical.unit --tid 1 --lun 1 –b /dev/sdb1 tgtadm --lld iscsi --op bind --mode target –tid 1 –I ALL tgtadm --lld iscsi --op show --mode target

Client:

yum install iscsi –initiator-utils service iscsi start service iscsid start chkconfig iscsi on chkconfig iscsid on

iscsiadm –m discovery –t sendtargets –P 192.168.1.100

iscsiadm –m node –T iqn.2011-11.domain:id –P 192.168.1.100(远程IP地址) --login iscsiadm –m node –T iqn.2011-11.domain:id –P 192.168.1.100(远程IP地址) --logout iscsiadm –m node –o delete –T iqn.2011-11.domain:id fdisk –l

fdisk /dev/sdb +/dev/sdb1

mkfs.ext4 /dev/sdb1

tune2fs –l /dev/sdb1 查看UUID mkdir /mnt/data vim /etc/fstab

UUID=…. /mnt/data ext4 _netdev 0 0

第二十四堂课学习笔记

进一步配置WEB(ldap) 在服务器端搭建Ldap服务 客户端:

1,setup里面启用ldap验证 2,.htaccess 文件写成: AuthName ―test‖ AuthType Basic

AuthBasicProvider ldap

AuthLDAPUrl ―ldap://服务器IP地址/dc=my-domain,dc=com‖

Htpasswd –c /var/www/html/a/.htpasswd +用户

邮件服务:/var/spool/mail/用户 POP 邮局协议 POP3 110 POP3S 995

IMAP 英特网信息访问协议 IMAP2 143 IMPAP2S 993

SMTP 简单邮件传输协议 SMTP 25 SMTPS 465

邮件传输需要经过三个单元: MTA 邮件传送代理 MDA 邮件投递代理 MUA 邮件用户代理

所使用的几种邮件服务: Sendmail Postfix Qmail

sendmail start postfix:

配置文件: /etc/postfix/main.cf 里面的参数 myhostname (需要修改成本机主机名) myorigin

inet_interfaces = all (这个也需要改) inet_protocols = all

mydestination = 可信任的主机名

mynetworks = 192.168.0.0/24 (可信任的主机IP范围) 或 mynetworks = hash:/etc/postfix/access

relay_domain 转发域名 alias_maps alias_database

vim access 文件里面作修改:

localhost.localdomain ACCEPT 本机主机名

192.168.1 REJECT 拒绝 192.168.2 DISCARD 丢弃 abc@crack.com REJECT

user@ DISCARD

postmap hash:/etc/postfix/access –转化成db文件

/etc/aliases 文件:

newaliases 转化成db文件

service postfix restart

echo hi | mail –s title leon@localhost或是leon@abc.com

yum install dovecot

/etc/dovecot/dovecot.conf 配置文件 把 protocols 注释取消掉 protocols = imap pop3 lmtp netstat –tln lsof –i :110 143 993 995

第二十五堂课学习笔记

DNS:域名

安装:yum install bind bind-utils bind-libs bind-chroot service named start

vim /var/named/chroot/etc/named.conf tcp 53 udp 53

netstat –utln | grep 53

配置文件修改:只做转发DNS服务器

allow-query {localhost;192.168.0.0/24;}; 或 allow-query {any;};

listen-on part 53 {any;}; listen-on-v6 part 53 {any;}; 新添加:

forwarders {192.168.0.254;}; forward only;

修改的部分将 dnssec-validation no;

/etc/resolv.conf –DNS文件 测试:host + 主机名

host + IP地址

host + 主机名 + DNS服务器IP地址

nslookup + 主机名 或 nolookup + 主机名 + DNSip地址

Samba服务: 安装:

yum install samba samba-common samba-client service smb start

UDP 137,138 TCP 139,445 getsebool –a | grep samba

setsebool –P samba_enable_home_dirs=1 setsebool –P samba_export_all_ro=1 setsebool –P samba_export_all_rw=1

配置文件:

/etc/samba/smb.conf user ,share,server,domain

创建一个不需要身份验证的samba共享: mkdir /tmp/samba security=share

passdb backend=tdbsam

新添加:

[smb]

comment=aaaaa path=/tmp/samba read only=yes guest only=yes

测试:smbclient –L //192.168.0.60(服务器地址) smbclient –L //192.168.0.60 -N

mount –t cifs //192.168.0.60/smb /media/ samba文件系统

mount –t cifs – o guest //192.168.0.60/smb /media/

创建用户验证: security=user [homes]

新增加 valid users = %s(代表系统用户名称)

[smb]

comment=aaaaa path=/tmp/samba read only=no

guest ok=yes force user = leon force group = leon

mkdir /tmp/samba

chmod 777 /tmp/samba pdbedit –au leon 参数列表: -L 列出 -v 详细 -u 指定用户 -a 增加 -r 修改 -x 删除 cd /etc/smartd.conf

smbclient –L //192.168.0.60 –U leon

mount –t cifs –o user=leon,password=abc //192.168.0.60/smb /media 自动挂载: 第一种方法:

//192.168.0.60/smb /mnt/samba cifs user=leon,passwd=123 0 0 mount /mnt/samba

第二种方法:

vim /etc/auto.master

vim /etc/auto.misc 里面添加

samba –fstype=cifs,user=leon,password=abc ://192.168.0.60/smb

第二十六堂课学习笔记

系统恢复救援:

vim /mnt/sysimage/etc/grub.conf

chroot /mnt/sysimage 变成原来的系统 df

grub-install /dev/vda 把grub安装到整个硬盘

引导信息恢复:

dd if=/dev/zero of=/dev/vda bs=1 count=446 chroot /mnt/sysimage grub-install /dev/vda

LiveCD

使用串口控制:minicom 工具

修改 /etc/grub.conf

加到title里的kernel末尾:console=ttyS0

在本机上操作:minicom –p /dev/pts/1 把系统定向到minicom上 Ctrl + A 使用帮助 Ctrl + A + Q 退出

本文来源:https://www.bwwdw.com/article/wzor.html

Top