首页 文章 精选 留言 我的

精选列表

搜索[centos],共5623篇文章
优秀的个人博客,低调大师

Centos7一些常用命令的不常用用法

1. root下进入其他用户主目录 cd ~USERNAME 2. touch的另外的一种作用 常用的是touch创建一个不存在的文件 而touch一个存在的文件时候,touch会修改文件的三个时间(使用stat可以查看),其中access表示最后一个访问时间,modify表示最后一次修改文件的时间,change表示最后修改文件属性的时间 3. file查看文件类型 镜像文件(iso)的文件类型为iso9660 4./etc/passwd中各字段对应解释 1 用户名:2密码:3uid:4gid:5备注:6home目录:7登录shell 该文件的内容是通过useradd命令生成,每使用useradd一次,在/etc/passwd追加一行 需要注意的是rhcl6版本中0-500表示系统账户,而rhcl7版本依赖0-1000表示系统账户 useradd: -u UID #指定uid,不使用该选项,则默认为普通账户即uid>=1000,且不与现存uid冲突 -g 已存在GID/组名 #指定所属用户组,不选用该选项,同时默认在/etc/group文件中追加一行信息,其中组名默认与用户名一致。 -G 指定附加组 # -M 强制不建立home目录 -s 指定登录shell #/sbin/nologin为不可登录shell 相关命令还有userdel(删除用户)、usermod(修改用户)、groupadd(增加用户组)、groupdel(删除用户组) userdel -r USERNAME #删除用户的同时删除home目录下所有信息 usermod -aG GNAME1...GNAMEN USERNAME #追加附加组 /etc/passwd中的密码不再直接显示,用x代替。密码保存在/etc/shadow(无任何可读写执行权限)中,修改密码使用passwd命令(交互式)实现。 非交互式修改密码:echo "NEWPASSWD"|passwd --stdin USERNAME 5. ls -l 命令显示的信息详释 第一行中total表示当前目录下所有内容总共所占大小,默认单位为kb 余下行中的最后一个字段为为文件名,第6,7,8字段表示文件(目录)最近访问(修改)时间 第5个字段表示文件所占空间,默认单位为byte,可使用ls -lh以kb显示 第3,4个字段分别描述文件所属的用户名及属主组 可使用chown 用户名:组名 文件名/chown -R 用户名:组名 目录名 修改其属主及属主组 第2个字段表示该文件的硬链接数 第1个字段共10个字母。 第一个字母表示文件类型 -:普通文件 d:目录文件 c:字节文件 b:块文件 p:管道文件 s:socket文件 等等 后9个字母,每三个为一组。第一组为当前用户关于此文件的操作权限,第二组为属主组内其他用户的操作权限,第三组为其他属主组内用户对此文件的操作权限 非目录文件: r(4)表示可读,w(2)表示可写,x(1)表示可执行 目录:r表示可以查看目录下的内容 w表示可以向目录里写内容 x表示可进入这个目录 (只有wx同时存在才能真正在该目录内操作) 创建一个文件或目录默认的权限通过如下获取: 文件:0666-umask(若umask的存在某位为奇数,计算之后必须在对应奇数位加1) 目录:0777-umask 还有三种比较特殊的权限: 分别是suid(4)、sgid(2)、sbit(1),这三种权限分别显示在三组字母的第三位。若分别为小写的s,s,t,则表示拥有x权限。对应为S,S,T,表示无对应的x权限。 拥有suid权限时,其他用户执行这条命令,将会获取该命令的拥有人权限,可以访问一些自身并没有访问权限的文件。 我们修改目录的属主组时,希望该目录下所有文件继承该属主组 从上图可以看出,并没有达到效果,我们增加sgid权限,可以达到如期效果 用户对拥有sbit权限的目录具有wx权限时,用户在该目录下创建的文件及目录,只有自身与root才可以删除。 6. 登录shell与非登录shell中一些知识 登录shell往往是通过用户名及密码登录系统时所用shell。 非登录shell则往往不需要用户名及密码 su - USERNAME属于登录shell。而su USERNAME与非登录shell 非登录shell状态通过exit退出,而登录shell状态主要使用logout退出(exit也可以) 登录shell与非登录shell最主要的区别是读取的配置文件不同。这里涉及四个配置文件1:/etc/bashrc,2:/etc/profile,3:~/.bashrc,4:~/.bash_profile。 其中1,2为全局层面,3,4是局部层面;通常我们在1,3里定义别名alias,在2,4定义变量。 非登录shell不会读取2,4中的内容。通常编写的shell脚本出现定义的环境变量不存在,往往需要手动让其生效(source或者.)。同时对1,2,3,4修改,必须通过source(.)让其生效。 source(.) xxx.sh、bash xxx.sh 及 (chmod u+x xxx.sh; ./xxx.sh)执行脚本的主要不同。 后两者主要通过开启一个子进程去执行脚本,执行结果返回给父进程。 而source(.)是在当前进程直接运行脚本。下图给出了一个简单的对比情况,source之后,当前shell进程直接结束。 还有一些关于变量的命令: set:显示及设置私有变量以及用户变量 env:显示及设置用户变量变量 export:将本地变量上升到一个环境变量。不export,则定义的变量不会被其他非登录shell继承。而即使export,登录到其他shell,也不会继承该变量。同时定义的本地变量重启失效,所以建议自选择地加入上述四个配置文件中。

优秀的个人博客,低调大师

Hadoop 1.0.3 在CentOS 6.2上安装过程 [个人安装通过的全程记录]

//安装SSH [root@localhost /]# sudo yum install ssh //生成密钥 [root@localhost /]# ssh-keygen (可以一路回车) 生成下面两个文件: /root/.ssh/id_rsa /root/.ssh/id_rsa.pub [root@localhost .ssh]# cd /root/.ssh/ //实际情况是把公钥复制到另外一台机器上,并且写入到另外一台机器上的authorized_keys文件中 [root@localhost .ssh]# cat ./id_rsa.pub>>./authorized_keys [root@localhost .ssh]# cd /home (另外一个更简单的复制方法是使用 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.201) //配置JDK环境变量 [root@localhost opt]# vi /etc/profile export JAVA_HOME=/opt/jdk1.6.0_31 export PATH=$JAVA_HOME/bin:$PATH:. //使配置生效 [root@localhost opt]# source /etc/profile //安装Hadoop 1.0.3 [root@localhost opt]# rpm -i hadoop-1.0.3-1.x86_64.rpm //查看安装后的Hadoop版本号信息 [root@localhost opt]# hadoop version (如果报错,请检查hadoop-env.sh中的java路径配置是否正确) 修改hadoop配置文件(/etc/hadoop) [root@localhost hadoop]# cd /etc/hadoop [root@localhost hadoop]# vi hadoop-env.sh export JAVA_HOME=/opt/jdk1.6.0_31 [root@localhost hadoop]# vi core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://192.168.1.101:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/hadoop</value> </property> </configuration> [root@localhost hadoop]# vi hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> [root@localhost hadoop]# vi mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>192.168.1.101:9001</value> </property> </configuration> //格式化文件系统 [root@localhost opt]# hadoop namenode -format //启动Hadoop相关的所有服务 (/usr/sbin) [root@localhost sbin]# start-all.sh 或 [root@localhost opt]# /usr/sbin/start-all.sh (如果没有执行权限,需要将/usr/sbin目录下的相关sh文件设置执行权限) 说明: start-all.sh stop-all.sh start-dfs.sh stop-dfs.sh start-mapred.sh stop-mapred.sh slaves.sh //jps查看已经启动的服务进程信息 [root@localhost hadoop]# jps 5131 NameNode 5242 DataNode 5361 SecondaryNameNode 5583 TaskTracker 5463 JobTracker 6714 Jps 防火墙需要开放的端口: 9000 9001 50010 (访问 http://192.168.1.101:50070 http://192.168.1.101:50030) [root@localhost hadoop]# hadoop dfsadmin -report 为运行例子 wordcount 作准备 [root@localhost opt]# hadoop fs -mkdir input [root@localhost opt]# echo "Hello World Bye World" > file01 [root@localhost opt]# echo "Hello Hadoop Goodbye Hadoop" > file02 [root@localhost opt]# hadoop fs -copyFromLocal ./file0* input 运行例子 wordcount [root@localhost opt]# hadoop jar /usr/share/hadoop/hadoop-examples-1.0.3.jar wordcount input output 12/08/11 12:00:30 INFO input.FileInputFormat: Total input paths to process : 2 12/08/11 12:00:30 INFO util.NativeCodeLoader: Loaded the native-hadoop library 12/08/11 12:00:30 WARN snappy.LoadSnappy: Snappy native library not loaded 12/08/11 12:00:31 INFO mapred.JobClient: Running job: job_201208111137_0001 12/08/11 12:00:32 INFO mapred.JobClient: map 0% reduce 0% 12/08/11 12:01:05 INFO mapred.JobClient: map 100% reduce 0% 12/08/11 12:01:20 INFO mapred.JobClient: map 100% reduce 100% 12/08/11 12:01:25 INFO mapred.JobClient: Job complete: job_201208111137_0001 12/08/11 12:01:25 INFO mapred.JobClient: Counters: 29 12/08/11 12:01:25 INFO mapred.JobClient: Job Counters 12/08/11 12:01:25 INFO mapred.JobClient: Launched reduce tasks=1 12/08/11 12:01:25 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=49499 12/08/11 12:01:25 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0 12/08/11 12:01:25 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0 12/08/11 12:01:25 INFO mapred.JobClient: Launched map tasks=2 12/08/11 12:01:25 INFO mapred.JobClient: Data-local map tasks=2 12/08/11 12:01:25 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=12839 12/08/11 12:01:25 INFO mapred.JobClient: File Output Format Counters 12/08/11 12:01:25 INFO mapred.JobClient: Bytes Written=41 12/08/11 12:01:25 INFO mapred.JobClient: FileSystemCounters 12/08/11 12:01:25 INFO mapred.JobClient: FILE_BYTES_READ=79 12/08/11 12:01:25 INFO mapred.JobClient: HDFS_BYTES_READ=276 12/08/11 12:01:25 INFO mapred.JobClient: FILE_BYTES_WRITTEN=64705 12/08/11 12:01:25 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=41 12/08/11 12:01:25 INFO mapred.JobClient: File Input Format Counters 12/08/11 12:01:25 INFO mapred.JobClient: Bytes Read=50 12/08/11 12:01:25 INFO mapred.JobClient: Map-Reduce Framework 12/08/11 12:01:25 INFO mapred.JobClient: Map output materialized bytes=85 12/08/11 12:01:25 INFO mapred.JobClient: Map input records=2 12/08/11 12:01:25 INFO mapred.JobClient: Reduce shuffle bytes=85 12/08/11 12:01:25 INFO mapred.JobClient: Spilled Records=12 12/08/11 12:01:25 INFO mapred.JobClient: Map output bytes=82 12/08/11 12:01:25 INFO mapred.JobClient: CPU time spent (ms)=4770 12/08/11 12:01:25 INFO mapred.JobClient: Total committed heap usage (bytes)=246751232 12/08/11 12:01:25 INFO mapred.JobClient: Combine input records=8 12/08/11 12:01:25 INFO mapred.JobClient: SPLIT_RAW_BYTES=226 12/08/11 12:01:25 INFO mapred.JobClient: Reduce input records=6 12/08/11 12:01:25 INFO mapred.JobClient: Reduce input groups=5 12/08/11 12:01:25 INFO mapred.JobClient: Combine output records=6 12/08/11 12:01:25 INFO mapred.JobClient: Physical memory (bytes) snapshot=391634944 12/08/11 12:01:25 INFO mapred.JobClient: Reduce output records=5 12/08/11 12:01:25 INFO mapred.JobClient: Virtual memory (bytes) snapshot=3159781376 12/08/11 12:01:25 INFO mapred.JobClient: Map output records=8 //查看统计结果 [root@localhost opt]# hadoop fs -cat output/part-r-00000 Bye1 Goodbye1 Hadoop2 Hello2 World2 //--------------------------------------- 作业日志存放目录: /var/log/hadoop/root/userlogs/ //--------------------------------------- 安装 hadoop-1.0.3-1 后,存放的目录有: /etc/hadoop /var/run/hadoop /var/log/hadoop /usr/share/hadoop /usr/share/doc/hadoop /usr/etc/hadoop /usr/bin/hadoop(文件) /usr/include/hadoop

优秀的个人博客,低调大师

Centos常用命令,查看进程、杀死进程、启动进程等常用命令

1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定”A”参数相同。 ps e 列出程序时,显示每个程序所使用的环境变量。 ps f 用ASCII字符显示树状结构,表达程序间的相互关系。 ps -H 显示树状结构,表示程序间的相互关系。 ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。 ps s 采用程序信号的格式显示程序状况。 ps S 列出程序时,包括已中断的子程序资料。 ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。 ps u 以用户为主的格式来显示程序状况。 ps x 显示所有程序,不以终端机来区分。 最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。 ps aux | grep program_filter_word,ps -ef |grep tomcat 1 2 3 ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。 2.杀进程 使用kill命令结束进程:kill xxx 常用:kill -9 324 Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME 3.进入到进程的执行文件所在的路径下,执行文件 ./文件名 附: 这是本人花了两天时间整理得来的,一些最常用的地球人都知道的命令就省去啦!最后提供pdf手册下载 更改档案拥有者 命令 : chown [-cfhvR] [–help] [–version] user[:group] file… 功能 : 更改文件或者文件夹的拥有者 参数格式 : user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group) -c : 若该档案拥有者确实已经更改,才显示其更改动作 -f : 若该档案拥有者无法被更改也不要显示错误讯息 -h : 只对于连结(link)进行变更,而非该 link 真正指向的档案 -v : 显示拥有者变更的详细资料 -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更) 例如:chown -R oracle:oinstall /oracle/u01/app/oracle 更改目录拥有者为oracle 修改权限 命令:chmod (change mode) 功能:改变文件的读写和执行权限。有符号法和八进制数字法。 选项:(1)符号法: 命令格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename u (user) 表示用户本人。 g (group) 表示同组用户。 o (oher) 表示其他用户。 a (all) 表示所有用户。 + 用于给予指定用户的许可权限。 - 用于取消指定用户的许可权限。 = 将所许可的权限赋给文件。 r (read) 读许可,表示可以拷贝该文件或目录的内容。 w (write) 写许可,表示可以修改该文件或目录的内容。 x (execute)执行许可,表示可以执行该文件或进入目录。 (2)八进制数字法: 1 2 命令格式:chmod abc file 其中a,b,c各为一个八进制数字,分别表示User、Group、及Other的权限。 4 (100) 表示可读。 2 (010) 表示可写。 1 (001) 表示可执行。 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=5。 例如:# chmod a+rx filename 让所有用户可以读和执行文件filename。 # chmod go-rx filename 取消同组和其他用户的读和执行文件filename的权限。 # chmod 741 filename 让本人可读写执行、同组用户可读、其他用户可执行文件filename。 chmod -R 755 /home/oracle 递归更改目录权限,本人可读写执行、同组用户可读可执行、其他用户可读可执行 修改文件日期 命令:touch 格式:touch filenae 功能:改变文件的日期,不对文件的内容做改动,若文件不存在则建立新文件。 例如:% touch file 链接文件 命令:ln (link) 格式:ln [option] filename linkname ln [option] directory pathname 功能:为文件或目录建立一个链。其中,filename和directory是源文件名和 源目录名;linkname和pathname分别表示与源文件或源目录名相链接的 文件或目录。 选项:-s 为文件或目录建立符号链接。不加-s表示为文件或目录建立硬链接 注释:链接的目地在于,对一个文件或目录赋予两个以上的名字,使其可以出 现在不同的目录中,既可以使文件或目录共享,又可以节省磁盘空间。 例如:% ln -s filename linkname 显示日期 命令:date 例如:% date 显示日历 命令:cal (calendar) 格式:cal [month] year 功能:显示某年内指定的日历 例如:% cal 1998 显示文件头部 命令:head 格式:head [option] filename 功能:显示文件的头部 选项:缺省 显示文件的头10行。 -i 显示文件的开始 i行。 例如:% head filename 显示文件尾部 命令:tail 格式:tail [option] filename 功能:显示文件的尾部 选项:缺省 显示文件的末10行。 -i 显示文件最后 i行。 +i 从文件的第i行开始显示。 例如:% tail filename 显示用户标识 命令:id 格式:id [option] [user] 功能:显示用户标识及用户所属的所有组。 选项:-a 显示用户名、用户标识及用户所属的所有组 注释: 例如:% id username 查看当前登录的用户 命令:users 显示都谁登录到机器上 命令:who 格式:who 功能:显示当前正在系统中的所有用户名字,使用终端设备号,注册时间。 例如:% who 显示当前终端上的用户名 命令:whoami 格式:whoami 功能:显示出当前终端上使用的用户。 例如:% whoami 寻找文件 命令:find 格式:find pathname [option] expression 功能:在所给的路经名下寻找符合表达式相匹配的文件。 选项:-name 表示文件名 -user 用户名,选取该用户所属的文件 -size 按大小查找,以block为单位,一个block是512B -mtime n 按最后一次修改时间查找,选取n天内被修改的文件 -perm 按权限查找 -type 按文件类型查找 -atime 按最后一次访问时间查找 例如:% find ./ -name ‘abc’ -print 搜索文件中匹配符 命令:grep 格式:grep [option] pattern filenames 功能:逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。 选项:-i 匹配时忽略大小写 -v 找出模式失配的行 例如:% grep -i ‘java*’ ./test/run.sh 统计文件字数 命令:wc [option] filename 功能:统计文件中的文件行数、字数和字符数。 选项:-l 统计文件的行数 -w 统计文件的单词数 -c 统计文件的字符数 注释:若缺省文件名则指标准输入 例如:% wc -c ./test/run.sh 显示磁盘空间 命令:df (disk free) 格式:df [option] 功能:显示磁盘空间的使用情况,包括文件系统安装的目录名、块设备名、总 字节数、已用字节数、剩余字节数占用百分比。 选项: -a:显示全部的档案系统和各分割区的磁盘使用情形 -i:显示i -nodes的使用量 -k:大小用k来表示 (默认值) -t:显示某一个档案系统的所有分割区磁盘使用量 -x:显示不是某一个档案系统的所有分割区磁盘使用量 -T:显示每个分割区所属的档案系统名称 -h: 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。 注释: 例如:% df -hi 查询档案或目录的磁盘使用空间 命令:du (disk usage) 格式:du [option] [filename] 功能:以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小 选项: -a:显示全部目录和其次目录下的每个档案所占的磁盘空间 -b:大小用bytes来表示 (默认值为k bytes) -c:最后再加上总计 (默认值) -s:只显示各档案大小的总合 -x:只计算同属同一个档案系统的档案 -L:计算所有的档案大小 -h: 表示档案系统大小使用 GB、MB 等易读的格式。 例如:% du -a % du -sh /etc 只显示该目录的总合 % du /etc | sort -nr | more 统计结果用sort 指令进行排序, sort 的参数 -nr 表示要以数字排序法进行反向排序。 显示进程 命令:ps 格式:ps [option] 功能:显示系统中进程的信息。包括进程ID、控制进程终端、执行时间和命令。 选项: -a 显示所有进程信息 -U uidlist 列出这个用户的所有进程 -e 显示当前运行的每一个进程信息 -f 显示一个完整的列表 -x 显示包括没有终端控制的进程状况 。 注释: 例如:% ps -ef % ps -aux 然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。 终止进程 命令:kill 格式:kill [option] pid 功能:向指定的进程送信号或终止进程。kill指令的用途是送一个signal给某一个process, 因为大部份送的都是用来杀掉 process 的 SIGKILL 或 SIGHUP ,因此称为 kill 选项:-9 强行终止进程 注释:pid标示进程号,可由ps命令得到。 例如:% kill -9 pid 你也可以用 kill -l 来察看可代替 signal 号码的数目字。kill 的详细情形请参阅 man kill。 查看自己的IP地址 命令:ifconfig 格式:ifconfig -a 查看路由表 命令:netstat 格式:netstat -rn 远程登录 命令:telnet 格式:telnet hostname 文件传输 命令:ftp (file transfer program) 格式:ftp hostname 功能:网络文件传输及远程操作。 选项:ftp命令: cd [dirname] 进入远程机的目录 lcd [dirname] 设置本地机的目录 dir/ls 显示远程的目录文件 bin 以二进制方式进行传输 asc 以文本文件方式进行传输 get/mget 从远程机取一个或多个文件 put/mput 向远程机送一个或多个文件 prompt 打开或关闭多个文件传送时的交互提示 close 关闭与远程机的连接 quit 退出ftp !/exit ftp登陆状态下,!表示暂时退出ftp状态回到本地目录,exit表示返回ftp状态 注释: 例如:% ftp hostname 查看自己的电子邮件 命令:mailx 格式:mailx 选项: delete 删除 next 下一个 quit 退出 reply 回复 回忆命令 命令:history 格式:history 功能:帮助用户回忆执行过的命令。 选项: 注释: 例如:% history 网上对话 命令:talk 格式:talk username 功能:在网上与另一用户进行对话。 选项: 注释:对话时系统把终端分为上下两部分,上半部显示自己键入信息,下半部 显示对方用户键入的信息。键入delete或Ctrl+C则结束对话。 例如:% talk username 允许或拒绝接受信息 命令:mesg (message) 格式:mesg [n/y] 功能:允许或拒绝其它用户向自己所用的终端发送信息。 选项:n 拒绝其它用户向自己所用的终端写信息 y 允许其它用户向自己所用的终端写信息(缺省值) 注释: 例如:% mesg n 给其他用户写信息 命令:write 格式:write username [ttyname] 功能:给其他用户的终端写信息。 选项: 注释:若对方没有拒绝,两用户可进行交谈,键入EOF或Ctrl+C则结束对话。 例如:write username 创建、修改、删除用户和群组 a. 创建群组: 例如: groupadd oinstall 创建群组名为oinstall的组 groupadd -g 344 dba 创建组号是344的组,此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。 b. 修改群组: groupmod:该命令用于改变用户组帐号的属性 groupmod –g 新的GID 用户组帐号名 groupmod –n 新组名 原组名:此命令由于改变用户组的名称 c. 删除群组: groupdel 组名:该命令用于删除指定的组帐号 d. 新建用户: 命令: useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name 主要参数 -c:加上备注文字,备注文字保存在passwd的备注栏中。 -d:指定用户登入时的启始目录。 -D:变更预设值。 -e:指定账号的有效期限,缺省表示永久有效。 -f:指定在密码过期后多少天即关闭该账号。 -g:指定用户所属的群组。 -G:指定用户所属的附加群组。 -m:自动建立用户的登入目录。 -M:不要自动建立用户的登入目录。 -n:取消建立以用户名称为名的群组。 -r:建立系统账号。 -s:指定用户登入后所使用的shell。 -u:指定用户ID号。 举例: # useradd -g oinstall -G dba oracle 创建Oracle用户 e. 删除用户 1 2 命令: userdel 用户名 删除指定的用户帐号 userdel –r 用户名(userdel 用户名;rm 用户名):删除指定的用户帐号及宿主目录 例:#useradd -g root kkk //把kkk用户加入root组里 f. 修改用户 1 2 命令: usermod 修改已有用户的信息 usermod –l 旧用户名 新用户名: 修改用户名 usermod –L 用户名: 用于锁定指定用户账号,使其不能登陆系统 usermod –U 用户名: 对锁定的用户帐号进行解锁 passwd –d 用户名: 使帐号无口令,即用户不需要口令就能登录系统 例:#usermod -l user2 user1 //把用户user2改名为user1 启动、关闭防火墙 永久打开或则关闭 chkconfig iptables on chkconfig iptables off 即时生效:重启后还原 service iptables start service iptables stop 或者: /etc/init.d/iptables start /etc/init.d/iptables stop 启动VSFTP服务 即时启动: /etc/init.d/vsftpd start 即时停止: /etc/init.d/vsftpd stop 开机默认VSFTP服务自动启动: 方法一:(常用\方便) [root@localhost etc]# chkconfig –list|grep vsftpd ( 查看情况) vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off [root@localhost etc]# chkconfig vsftpd on (执行ON设置) 或者:方法二: 修改文件 /etc/rc.local , 把行/usr/local/sbin/vsftpd & 插入文件中,以实现开机自动启动。 vi技巧 a. 进入输入模式 新增 (append) a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 A:从光标所在列最後面的地方开始新增资料。 插入 (insert) i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。 I :从光标所在列的第一个非空白字元前面开始插入资料。 开始 (open) o :在光标所在列下新增一列并进入输入模式。 O: 在光标所在列上方新增一列并进入输入模式。 b. 退出vi 在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出,如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q 退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件而直接退出vi。 c. 删除与修改文件的命令: x:删除光标所在字符。 dd :删除光标所在的列。 r :修改光标所在字元,r 後接著要修正的字符。 R:进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。 s:删除光标所在字元,并进入输入模式。 S:删除光标所在的列,并进入输入模式。 d. 屏幕翻滚类命令 Ctrl+u: 向文件首翻半屏 Ctrl+d: 向文件尾翻半屏 Ctrl+f: 向文件尾翻一屏 Ctrl+b: 向文件首翻一屏 nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 e. 删除命令 ndw或ndW: 删除光标处开始及其后的n-1个字 do: 删至行首 d$: 删至行尾 ndd: 删除当前行及其后n-1行 x或X: 删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u: 删除输入方式下所输入的文本 f. 搜索及替换命令 /pattern: 从光标开始处向文件尾搜索pattern ?pattern: 从光标开始处向文件首搜索pattern n: 在同一方向重复上一次搜索命令 N: 在反方向上重复上一次搜索命令 :s/p1/p2/g: 将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g: 将文件中所有p1均用p2替换 g. 复制,黏贴 (1) 选定文本块,使用v进入可视模式;移动光标键选定内容 (2) 复制选定块到缓冲区,用y;复制整行,用yy (3) 剪切选定块到缓冲区,用d;剪切整行用dd (4) 粘贴缓冲区中的内容,用p h. 其他 在同一编辑窗打开第二个文件,用:sp [filename] 在多个编辑文件之间切换,用Ctrl+w

优秀的个人博客,低调大师

[DNS] Linux(centos6)中dns(bind)服务器安装及dns理论详解

DNS域名解析系统 什么是DNS DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,方便用户使用名称的访问互联网。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP或TCP协议之上,使用端口号53。 FQDN 全称域名,例www.itwish.cn 的FQDN为 www.itwish.cn. ,其中 www(主机名).itwish(二级域名).cn(一级域名).(根) DNS查询类型 递归查询:递归查询是最常见的查询方式,当一个客户机发送一个查询给本地域名服务器时,本地域名服务器必须返回一个IP地址,如果解析不到IP,域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。一般客户机和服务器之间属递归查询 迭代查询:迭代查询又称重指引。当服务器使用迭代查询时能够使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止。一般DNS服务器之间属迭代查询 注:客户端指向dns服务器时,不能指向根服务器(根dns服务器不接受递归查询),指向的一定是允许给本地主机做递归查询的dns服务器 DNS的工作原理 1.客户端提起域名解析请求,并将该请求发送给本地dns服务器;本地域名服务器收到该请求时,首先查询本地缓存(该过程属于递归查询 ),例www.itwish.cn域名解析 2.若本地dns服务器有记录则直接可以返回给客户端;若没有记录则去根DNS服务器请求,根dns服务器返回给本地dns服务器所请求顶级域的dns服务器ip地址。即本地dns服务器会得到.cn域的dns服务器IP 3.然后再将请求发往cn.域的主dns服务器,若找到则返回请求域名的ip地址 ;若没有找到,则.cn 域dns服务器则返回给本地dns服务器所请二级域的dns服务器ip地址;即本地dns服务器会得到itwish.cn域的dns服务器IP 4.最后再将请求发往itwish.cn.域的主dns服务器,找到www主机ip地址,把IP地址返回给本地dns服务器,同时本地DNS服务器也会缓存一份到本地 (2,3,4步属于迭代查询) 5.本地dns服务器把查询到的ip地址返回到客户端 。至此完成域名解析的请求 实现名称到IP解析方式 分散式解决方案:/etc/hosts,不易管理 集中式解决方案:NIC,如果主机太多,对单一服务的压力太大 分布式数据库方案:DNS,解决了上俩个方式的不足 DNS域名 根域:目前有13个根集群服务器,美国10台,日本1台,荷兰1台,瑞典1台 一级域: .com, .edu, .mil, .gov, .net, .org, cn, .ca, .hk, .tw, .in-addr.arpa等 二级域 最多127级域名 DNS解析类型 正反向解析是两个不同的名称空间,是两棵不同的解析树 正向解析:FQDN --> IP ,域名解析为ip地址 反向解析:IP ---> FQDN ,ip地址解析为域名 DNS服务器的类型 主dns服务器:管理和维护所负责解析的域内解析库的服务器,主dns服务器可以是一个或多个区域的权威名称服务器 辅助dns服务器:用作同一区域中主服务器的备份服务器,从主服务器或从服务器“复制"(区域传输)解析库副本 缓存名称务器 主从dns服务器,主服务器记录发生变化,会同步到从服务器,(主从复制),实现容错机制 序列号:解析库版本号,主服务器解析库变化时,其序列递增 刷新时间间隔:从服务器从主服务器请求同步解析的时间间隔 重试时间间隔:从服务器请求同步失败时,再次尝试时间间隔 过期时长:从服务器联系不到主服务器时,多久后停止服务 否定答案的TTL值 区域传送 ,辅助DNS服务器从主DNS服务器或其他的辅助DNS服务器请求数据传输过程 完全区域传送:传送区域的所有数据,AXFR 增量区域传送:传送区域中改变的数据部分,IXFR 安全控制选项 allow-query {} :允许查询的主机;此项仅用于服务器是缓存名称服务器时,只开放查询功能给本地客户端 allow-transfer {}:允许区域传送的主机;通常都需要启用,从服务器 allow-recursion {可以使用网段} :允许递归的主机,建议全局使用 allow-update {}: 允许更新区域数据库中的内容 DNS服务管理 实现:bind(Bekerley Internat Name Domain ) 服务名:named 进程:named ;# chkconfig named on 开机自启named服务 # service named start 启动named 服务 主配置文件:/etc/named.conf ,注:语句后面的 ; 号 [root@bogonnamed]#vi/etc/named.conf options{#全局选项 listen-onport53{127.0.0.1;|192.168.4.150;};#默认监听本机的53号端口,可注释掉或调整为指定ip,注ip地址后加";" listen-on-v6port53{::1;};#开启ipv6监听,可注释掉 directory"/var/named";#区域文件配置目录 dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; allow-query{localhost|any;};#授权为指定的主机解析,默认只为本机解析,可调整为any或注释掉 recursionyes|no;#递归查询,默认开启 dnssec-enableyes;#sec功能,与安全加密传输相关的选项,可注释掉 dnssec-validationyes;#同上一条,可注释掉 bindkeys-file"/etc/named.iscdlv.key"; managed-keys-directory"/var/named/dynamic"; pid-file"/run/named/named.pid";#named启动文件pid session-keyfile"/run/named/session.key"; allow-transfer{none|ip;};#允许区域传送的主机;可拒绝所有、指定ip传送,默认开启,建议指定ip进行区域传送 }; logging{#日志子系统配置 channeldefault_debug{ file"data/named.run"; severitydynamic; }; }; zone"."IN{#根区域定义,若要做内网根服务器,要注释掉 typehint; file"named.ca"; }; include"/etc/named.rfc1912.zones";#加载指定区域文件 include"/etc/named.root.key"; 区域配置文件:/etc/named.rfc1912.zones ,区域类型:hint(根)、master(主)、slave(从)、forward(转发) [root@bogon~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{#区域记录 typemaster|slave|forward|hint;#类型,主dns服务器、辅助dns服务器、转发dns、根dns服务器 file"itwish.cn.zone";#区域数据库文件 allow-transfer{192.168.4.120;};#允许区域传送的主机 }; 区域文件目录 : /var/named/ ,注:区域文件的权限为640,属组为named [root@bogon~]#vi/var/named/itwish.cn.zone $TTL1D#默认的TTL值 @INSOAns1admin.itwish.cn.(#SOA记录,记录域中的主DNS服务器,一个区域解析库中只能有且仅能有一个SOA记录,必须位于解析库的第一条记录 2018061004;serial#序列号 1D;refresh#主从复制的时间间隔 1H;retry#如果主从复制失败重试时间 1W;expire#失效时间 3H);minimum#否定答案的TTL值 INNSns1#名字服务器记录 INNSns2#针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能 INMX10mail#邮件mx记录 ns1INA192.168.4.110#正向解析记录 ns2INA192.168.4.120 *INA192.168.4.110#泛域名解析,解析未找到的主机则返回该ip地址 wwwINCNAMEns1#别名记录 mailINA192.168.4.110 techINNSns3.tech#子域名字服务器记录 INNSns4.tech#针对tech.itwish.cn区域,ns3与ns4共2台ns服务器,实现主从复制功能 ns3.techINA192.168.4.130 ns4.techINA192.168.4.140 反向解析区域文件:区域名称以逆向的网络地址,并以.in-addr.arpa为后缀 ,区域文件保存在/var/named/ 目录,应该具有NS记录,但不能出现MX和A记录,较常见的为PTR记录 [root@bogonnamed]#vi/etc/named.rfc1912.zones zone"4.168.192.in-addr.arpa"IN{#定义反向区域名称 typeslave; masters{192.168.4.120;}; file"slaves/192.168.4.zone"; allow-transfer{none;}; }; [root@bogonnamed]#vi/var/named/192.168.4.zone $TTL3H @INSOAns1.itwish.cn.adminns.itwish.cn.(#第一条为SOA记录 20180522012;serial 1D;refresh 1H;retry 2W;expire 24H);minimum INNSns1.itwish.cn. INNSns2.itwish.cn. 110INPTRns1.itwish.cn.#PTR记录 120INPTRns2.itwish.cn. DNS的数据库文件(区域数据文件):为文本文件,只能包含资源记录或宏定义,每行一个 资源记录的格式:name① [TTL]② IN③ Rrtype④ Value⑤ 注:FQDN中最后的 . 号 ①name:当前区域的名字,例 www.itwish.cn. ②TTL (Time- To-Live):表示一条域名解析记录在DNS服务器上缓存时间;例如$TTL 1D的意思是默认的TTL值为1天 ③IN:关键字 ④dns资源记录类型(Resource Record),包括SOA ,NS ,MX ,A记录 ,AAAA,PTR ,CNAME 等 ⑤Value ,通过对以上记录类型示例分析——针对不同的资源记录类型,Value值也不尽相同 SOA:有n个数值,主DNS服务器及邮箱地址;最主要的是主DNS服务器,格式可为相对名称或FQDN NS:DNS服务器的FQDN(或相对名称) 如 IN NS ns1 MX:包含优先级和FQDN(或相对名称),如 IN MX 10 mail A:ip地址 ,如 ns1 IN A 192.168.4.110 CNAME:FQDN(或相对名称),如 www IN CNAME ns1 PTR:FQDN ,如 1 IN PTR localhost. DNS记录类型详解及演示 (1)SOA:Start of Authority 起始授权记录,记录域中的主DNS服务器,一个区域解析库中只能有且仅能有一个SOA记录,必须位于解析库的第一条记录 @INSOAns1admin.itwish.cn.(#SOA记录 2018061004;serial#序列号 1D;refresh#主从复制的时间间隔 1H;retry#如果主从复制失败重试时间 1W;expire#失效时间 3H);minimum#否定答案的TTL值 #注释 @:区域名称itwish.cn,通常可简写为@符号 IN:关键字,可省略 SOA:资源记录类型 ns1:主dns服务器的名称,可以是相对名称ns1或FQDNns1.itwish.cn. admin.itwish.cn.:邮箱地址,把@转换成.,如邮箱admin@itwish.cn格式为admin.itwish.cn. (2)NS :Name server 域名服务器,记录指定负责给定区域的名称服务器 ,注:区域内包含几条NS记录,就需对多台NS服务器配置相对应的A记录 ,示例为2台NS服务器ns1 和ns2 ,就需配置ns1 和ns2 服务器的A记录 INNSns1#名字服务器记录 INNSns2#针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能 ns1INA192.168.4.110#正向解析记录 ns2INA192.168.4.120 #注释 named:可省略,代表itwish.cn区域 IN:关键字,可省略 NS:资源记录类型 ns1:主dns服务器的名称,可以是相对名称ns1或FQDNns1.itwish.cn. ns2:针对itwish.cn区域,ns1与ns2共2台ns服务器,实现主从复制功能 (3)MX :邮件交换记录 ,记录列出了负责接收发到域中的电子邮件的主机记录 INMX10mail#邮件mx记录 #注释 named:可省略,代表itwish.cn区域 IN:关键字,可省略 MX:资源记录类型 mail:邮件交换记录名称,可以是相对名称mail或FQDNmail.itwish.cn. (4)A记录 :FQDN --> IP ,列出特定主机名的 IP 地址 ns1INA192.168.4.110#正向解析记录 ns2INA192.168.4.120 #注释 ns1:主机名,可以是相对名称ns1或FQDNns1.itwish.cn. IN:关键字,可省略 A:资源记录类型 192.168.4.110:ip地址 (5)AAAA:FQDN-->ipv6 (6)PTR:指针记录 IP --> FQDN ,只能定义在反向区域数据文件中,反向区域名称为逆向网络地址加.in-addr.arpa.后缀组成,如 “0.0.127.in-addr.arpa” 反向解析区域 1PTRlocalhost. #注释 1:ip地址 IN:关键字,可省略 PTR:资源记录类型 localhost.:主机名称,可以是相对名称或FQDN (7)CNAME :别名记录 ,此记录指定标准主机名的别名 wwwINCNAMEns1#别名记录 #注释 www:主机别名,可以是相对名称或FQDN IN:关键字,可省略 CNAME:资源记录类型 ns1:主机名称,可以是相对名称或FQDN dig 命令,DNS查询使用程序 语法:dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr] [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt...] 常用选项: -x addr:测试反向解析 -t type:指定查询记录类型 -t axfr ZONE_NAME @SERVER :模拟区域传送 -t NS . :查询根DNS服务器 -f filename :通过从文件 filename 读取一系列搜索请求加以处理 -p port# :查询一个非标准的端口号,标准的DNS端口号 53 +[no]trace :[不]适用迭代 +[no]tcp :是否使用tcp +[no]recurse:是否使用递归host rndc reload: 重载主配置文件和区域解析库文件 reload zonename: 重载区域解析库文件 retransfer zonename: 手动启动区域传送,而不管序列号是否增加 notify zonename: 重新对区域传送发通知 reconfig: 重载主配置文件 querylog: 开启或关闭查询日志文件/var/log/message trace: 递增debug一个级别 trace LEVEL: 指定使用的级别 notrace:将调试级别设置为 0 flush:清空DNS服务器的所有缓存记录 rndc:密钥 rndc:持有一半密钥,保存于rndc的配置文件中 BIND:持有一般密钥,保存在主配置文件中 rndc的配置文件/etc/rndc.conf # rndc-confgen -r /dev/urandom > /etc/rndc.conf生成密钥 # named-checkconf:检查配置文件的语法 # named-checkzone "itwish.cn" /var/named/itwish.cn.zone :查询区域数据库文件的语法 # service named configtest :检查所有区域文件的语法 DNS正向解析,反向解析,主从复制,子域委派,区域转发,acl 及view视图案例 DNS正向解析案例配置 1)安装bind [root@ns1~]#yuminstallbindbind-utils-y#yum安装bind [root@ns1~]#chkconfignamedon [root@ns1~]#servicenamedstart Startingnamed:named:alreadyrunning[OK] [root@ns1named]#ss-tunl#确认named进程启用,tcp及udp53端口处于监听状态 NetidStateRecv-QSend-QLocalAddress:PortPeerAddress:Port udpUNCONN00192.168.23.110:53*:* tcpLISTEN03192.168.23.110:53*:* 2)停止iptables和selinux功能 [root@ns1~]#serviceiptablesstop#停止iptables服务 [root@ns1~]#chkconfigiptablesoff [root@ns1~]#vi/etc/selinux/config SELINUX=disabled#修改为disabled,其他行注释掉,禁用selinux功能 3)定义主配置文件 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;};#定义监听指定ip53端口 directory"/var/named"; allow-query{any;};#允许给所有客户端请求解析 recursionyes;#允许递归 }; include"/etc/named.rfc1912.zones"; 3)定义区域配置文件 [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{#区域定义 typemaster;#类型,主服务器 file"itwish.cn.zone";#区域数据库文件,指向/var/named/itwish.cn.zone }; 4)新建区域解析数据库文件/var/named/itwish.cn.zone [root@ns1~]#vi/var/named/itwish.cn.zone $TTL1D @INSOAns1admin.itwish.cn.(#SOA记录 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1#NS记录 INMX10mail#MX记录 ns1INA192.168.4.110#正向A解析记录 wwwINA192.168.4.110 5)分配权限 [root@ns1~]#chownroot:named/var/named/itwish.cn.zone#修改文件的权限和所属组,保证named进程有此文件的可读属性 [root@ns1~]#chmod640/var/named/itwish.cn.zone [root@ns1~]#ll/var/named/itwish.cn.zone -rw-r-----.1rootnamed120Jun1110:39/var/named/itwish.cn.zone 6)测试 [root@ns1~]#named-checkconf#检查配置文件 [root@ns1~]#named-checkzone"itwish.cn"/var/named/itwish.cn.zone#检查itwish.cn区域配置语法 [root@ns1~]#servicenamedconfigtest#测试所有配置区域 [root@ns1~]#rndcreload#重载配置文件 [root@ns1~]#dig-tAwww.itwish.cn@192.168.4.110//使用dig命令测试,返回以下值说明成功 ;;QUESTIONSECTION: ;www.itwish.cn.INA ;;ANSWERSECTION: www.itwish.cn.10800INA192.168.23.110 [root@ns1~]#dig-tNSitwish.cn@192.168.4.110 ;;QUESTIONSECTION: ;itwish.cn.INNS ;;ANSWERSECTION: itwish.cn.10800INNSns1.itwish.cn. DNS反向解析案例配置 [root@ns1~]#vi/etc/named.rfc1912.zones#加入反向区域 zone"4.168.192.in-addr.arpa"IN{#地址需要反着写,加上.in-addr.arpa typemaster; file"192.168.4.zone"; }; 2)新建区域解析数据库文件 [root@ns1~]]#vi/var/named/192.168.4.zone $TTL3H @INSOAns.itwish.cn.adminns.itwish.cn.( 20180522012;serial 1D;refresh 1H;retry 2W;expire 24H);minimum INNSns1.itwish.cn. 110INPTRns1.itwish.cn. INPTRwww.itwish.cn. 3)分配权限 [root@ns1~]#chownroot:named/var/named/192.168.4.zone#修改文件的权限和所属组,保证named进程有此文件的可读属性 [root@ns1~]#chmod640/var/named/192.168.4.zone 4)测试 [root@ns1~]#named-checkconf#检查配置文件 [root@ns1~]#named-checkzone"192.168.4.zone"/var/named/192.168.4.zone#检查192.168.4.zone区域配置语法 [root@ns1~]#servicenamedconfigtest#测试所有配置区域 [root@ns1~]#rndcreload#重载配置文件 [root@ns1~]#dig-x192.168.4.110@192.168.4.110#使用dig命令测试,返回以下值说明成功 ;;QUESTIONSECTION: ;110.4.168.192.in-addr.arpa.INPTR ;;ANSWERSECTION: 110.4.168.192.in-addr.arpa.10800INPTRns1.itwish.cn. 110.4.168.192.in-addr.arpa.10800INPTRwww.itwish.cn. 区域中添加从服务器的关键项: 在上级获得授权,允许区域传送:# allow-transfer {127.0.0.1;127.16.100.1} 在上级区域数据文件中为从服务器添加一条NS记录和对应的A或PTR记录 DNS主从复制案例配置 1)配置主dns服务器 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;}; directory"/var/named"; allow-query{any;}; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone"; allow-transfer{192.168.4.120;};#允许把该区域传送给从DNS服务器192.168.4.120 }; [root@ns1~]#vi/var/named/itwish.cn.zone $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2#新增一条ns记录,将从DNS服务器的NS记录添加到此 INMX10mail ns1INA192.168.4.110 wwwINA192.168.4.110 ns2INA192.168.23.120#新增一条A记录,将从DNS服务器的A记录添加到此 2)配置从dns服务器 [root@ns2~]#vi/etc/named.conf options{ listen-onport53{192.168.4.120;}; directory"/var/named"; allow-query{any;}; recursionyes; }; [root@ns2~]#vim/etc/named.rfc1912.zones zone"itwish.cn"IN{ typeslave;#类型为从服务器 masters{192.168.4.110;};#同步DNS服务器的IP地址 file"slaves/itwish.cn.zone";#数据库文件保存到/var/named/slaves/文件夹下,名字叫itwish.cn.zone allow-transfer{none;};#禁止区域传送 }; [root@ns2~]#servicenamedrestart#重启服务 [root@ns2~]#ls/var/named/slaves/#可以看到数据库文件则证明已经同步成功dongfei.com.zone.slave itwish.cn.zone BIND子域授权的实现,在父域的配置文件中添加如下项: 授权的子区域名称 子区域的名称服务器 子区域的名称服务器的IP地址 如 tech IN NS ns3.tech.itwish.cn. ns3.tech.itwish.cn. IN A192.168.4.130 区域转发类型: 全局转发: 对非本机所负责解析区域的请求,全转发给指定的服务器,在/etc/named.conf 中配置 特定区域转发:仅转发对特定的区域的请求,比全局转发优先级高,在区域文件zone 中配置 转发器类型: first模式:优先先转发到目标DNS服务器,如果区域不存在,再转发到根上去查询 onyl模式:只转发到目标DNS服务器,如果目标主机没有此查询的信息则转发失败 DNS子域委派与区域转发案例配置 1)配置dns父域 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;}; directory"/var/named"; allow-query{any;}; recursionyes; forwardfirst;#first模式,全局转发 forwarders{192.168.4.110;192.168.4.120;};#目标DNS服务器IP }; include"/etc/named.rfc1912.zones"; [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone"; allow-transfer{192.168.4.120;};#允许把该区域传送给从DNS服务器192.168.4.120 }; [root@ns1~]#vi/var/named/itwish.cn.zone#在区域添加子域NS记录及其A记录 $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2 INMX10mail ns1INA192.168.4.110 wwwINA192.168.4.110 ns2INA192.168.23.120 techINNSns3.tech.itwish.cn.#将tech子域授权给ns3.tech.itwish.cn. ns3.tech.itwish.cn.INA192.168.23.130#添加相对应的正向解析A记录 2)配置子域及区域转发 [root@ns3~]#vi/etc/named.conf options{ listen-onport53{192.168.4.130;}; directory"/var/named"; allow-query{any;}; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns3~]#vi/etc/named.rfc1912.zones zone"tech.itwish.cn"IN{ typemaster; file"tech.itwish.cn.zone"; }; zone"itwish.cn"IN{ typeforward;#转发区域 forwarders{192.168.4.110;192.168.4.120;};#转发目标服务器 forwardfirst;#优先先转发到目标DNS服务器,如果区域不存在,再转发到根上去查询 }; [root@ns3named]#vi/var/named/tech.itwish.cn.zone#配置子域区域文件 $TTL10800;3hours tech.itwish.cnINSOAns3.tech.itwish.cn.adminns.tech.itwish.cn.( 1884700031;serial 86400;refresh(1day) 3600;retry(1hour) 1209600;expire(2weeks) 86400;minimum(1day) ) NSns3.tech.itwish.cn. MX10mail.tech.itwish.cn. $ORIGINtech.itwish.cn. mailA192.168.23.130 ns3A192.168.23.130 wwwA192.168.23.110 bind有四个内置的acl,acl——把一个或多个地址归并为一个集合,并通过一个统一的名称调用;只能先定义,后使用,因此一般定义在配置文件中,处于options的前面 none: 没有一个主机 any: 任意主机 localhost: 本机 localnet: 本机的IP同掩码运算后得到的网络地址 view:视图:实现智能DNS 一个bind服务器可定义多个view,每个view中可定义一个或多个zone 每个view用来匹配一组客户端,所有的zone都只能定义在view中 多个view内可能需要对同一个区域进行解析,但使用不同的区域解析库文件 DNSview视图配置 [root@localhostnamed]#vi/etc/named.rfc1912.zones acluniom{#定义acl,注意acl的匹配顺序关系,至上而下 192.168.4.0/24; }; acltelom{ 172.16.10.0/24; }; aclothom{ any; }; viewuninet{#定义view视图,所有的zone都需定义在view中 match-clients{uniom;};#匹配的acl选项 zone"localhost"IN{ typemaster; file"named.localhost"; allow-update{none;}; }; zone"0.0.127.in-addr.arpa"IN{ typemaster; file"named.loopback"; allow-update{none;}; }; zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone.uniom"; }; }; viewtelnet{ match-clients{telom;}; zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone.telom"; }; viewanynet{ match-clients{othom;}; zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone.uniom"; }; }; [root@localhostnamed]#viitwish.cn.zone.uniom $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INMX10mail ns1INA192.168.4.110 wwwINA192.168.4.120 [root@localhostnamed]#viitwish.cn.zone.telom $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INMX10mail ns1INA172.16.10.1 wwwINA172.16.10.2 [root@localhostnamed]#dig-tAwww.itwish.cn@172.16.10.1#确认通过172.16.10.x的客户端进行访问,获取的ip为172.16.10.2 ;;QUESTIONSECTION: ;www.itwish.cn.INA ;;ANSWERSECTION: www.itwish.cn.86400INA172.16.10.2 ;;AUTHORITYSECTION: itwish.cn.86400INNSns1.itwish.cn. ;;ADDITIONALSECTION: ns1.itwish.cn.86400INA172.16.10.1 [root@localhostnamed]#dig-tAwww.itwish.cn@192.168.4.110#确认通过192.168.4.x的客户端进行访问,获取的ip为192.168.10.120 ;;QUESTIONSECTION: ;www.itwish.cn.INA ;;ANSWERSECTION: www.itwish.cn.86400INA192.168.4.120 ;;AUTHORITYSECTION: itwish.cn.86400INNSns1.itwish.cn. ;;ADDITIONALSECTION: ns1.itwish.cn.86400INA192.168.4.110 部署安装DNS(域名解析)系统 部署实验: 1、部署根域名解析服务器 2、部署一级域名.cn 域名解析服务器 3、部署二级域名.itwish 和.goodoing 域名解析系统,ns1 与 ns2 服务器实现主从复制功能 4、部署子域tech域名解析服务器,ns3 与 ns4 服务器实现主从复制 ,部署转发区域itwish.cn 及goodoing.cn ,转发服务器为ns1 和 ns2 5、部署缓存域名解析服务器,client用户dns 地址指向 192.168.4.100 ,测试解析 实验拓扑: 1)对所有服务器,安装bind组件,禁用selinux功能并停止iptables功能 #yuminstallbindbind-utils-y#yum安装bind #servicenamedstart #serviceiptablesstop#停止iptables服务 #chkconfigiptablesoff #vi/etc/selinux/config SELINUX=disabled#修改为disabled,其他行注释掉,禁用selinux功能 2)部署根域名解析服务器 [root@PXEnamed]#vi/etc/named.conf options{ listen-onport53{192.168.4.150;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@PXEnamed]#vi/etc/named.rfc1912.zones zone"."IN{#增加根域 typemaster; file"root.zone"; allow-transfer{none;}; }; [root@PXEnamed]#vi/var/named/root.zone#定义根域数据库文件 $TTL1D @INSOAroot.radmin.( 2018061005;serial 1D;refresh 1H;retry 1W;expire 3H);minimum NSroot. root.INA192.168.4.150 cnINNSdns.cn.#定义子域cn dns.cn.INA192.168.4.160 [root@PXE~]#chownroot:named/var/named/*.zone#修改文件的权限和所属组,保证named进程有此文件的可读属性 [root@PXE~]#chmod640/var/named/*.zone [root@PXE~]#named-checkconf#检查配置文件 [root@PXE~]#servicenamedconfigtest#测试所有配置区域 [root@PXE~]#rndcreload#重载配置文件 3)部署cn域名解析服务器 [root@cnnamed]#vi/etc/named.conf options{ listen-onport53{192.168.4.160;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc112.zones"; [root@cnnamed]#vi/etc/named.rfc1912.zones zone"cn"IN{ typemaster; file"cn.zone"; }; [root@cnnamed]#vi/var/named/cn.zone $TTL1D @INSOAdnsadmin.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum NSdns dnsINA192.168.4.160 itwishINNSns1.itwish INNSns2.itwish ns1.itwish.cn.INA192.168.4.110 ns2.itwish.cn.INA192.168.4.120 [root@cn~]#chownroot:named/var/named/*.zone [root@cn~]#chmod640/var/named/*.zone [root@cn~]#named-checkconf [root@cn~]#servicenamedconfigtest [root@cn~]#rndcreload 4)部署ns1域名解析服务器 [root@ns1~]#vi/etc/named.conf options{ listen-onport53{192.168.4.110;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns1~]#vi/etc/named.rfc1912.zones zone"itwish.cn"IN{ typemaster; file"itwish.cn.zone"; allow-transfer{192.168.4.120;}; }; zone"goodoing.cn"IN{ typeslave; masters{192.168.4.120;}; file"slaves/goodoing.cn.zone"; allow-transfer{none;}; }; [root@ns1~]#vi/var/named/itwish.cn.zone $TTL1D @INSOAns1admin.itwish.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2 INMX10mail ns1INA192.168.4.110 ns2INA192.168.4.120 wwwINA192.168.4.110 mailINA192.168.4.110 techINNSns3.tech INNSns4.tech ns3.techINA192.168.4.130 ns4.techINA192.168.4.140 [root@ns1~]#chownroot:named/var/named/*.zone [root@ns1~]#chmod640/var/named/*.zone [root@ns1~]#named-checkconf [root@ns1~]#servicenamedconfigtest [root@ns1~]#rndcreload 5)部署ns2域名解析服务器 [root@ns2~]#vi/etc/named.conf options{ listen-onport53{192.168.4.120;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns2~]#vi/etc/named.rfc1912.zones zone"goodoing.cn"IN{ typemaster; file"goodoing.cn.zone"; allow-transfer{192.168.4.110;}; }; zone"itwish.cn"IN{ typeslave; masters{192.168.4.110;}; file"slaves/itwish.cn.zone"; allow-transfer{none;}; }; [root@ns2~]#vi/var/named/goodoing.cn.zone $TTL1D @INSOAns2admin.goodoing.cn.( 2018061004;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns1 INNSns2 INMX10mail ns1INA192.168.4.110 ns2INA192.168.4.120 wwwINA192.168.4.120 mailINA192.168.4.120 techINNSns3.tech INNSns4.tech ns3.techINA192.168.4.130 ns4.techINA192.168.4.140 [root@ns2~]#chownroot:named/var/named/*.zone [root@ns2~]#chmod640/var/named/*.zone [root@ns2~]#named-checkconf [root@ns2~]#servicenamedconfigtest [root@ns2~]#rndcreload 6)部署ns3域名解析服务器 [root@ns3~]#vi/etc/named.conf options{ listen-onport53{192.168.4.130;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns3~]#vi/etc/named.rfc1912.zones zone"tech.itwish.cn"IN{ typemaster; file"tech.itwish.cn.zone"; allow-transfer{192.168.4.140;}; }; zone"tech.goodoing.cn"IN{ typeslave; masters{192.168.4.140;}; file"slaves/tech.goodoing.cn.zone"; allow-transfer{none;}; }; zone"itwish.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; zone"goodoing.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; [root@ns3~]#vi/var/named/tech.itwish.cn.zone $TTL1D @INSOAns3admin.tech.itwish.cn.( 2018061002;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns3 INNSns4 INMX10mail ns3INA192.168.4.130 ns4INA192.168.4.140 wwwINA192.168.4.130 mailINA192.168.4.130 [root@ns3~]#chownroot:named/var/named/*.zone [root@ns3~]#chmod640/var/named/*.zone [root@ns3~]#named-checkconf [root@ns3~]#servicenamedconfigtest [root@ns3~]#rndcreload 7)部署ns4域名解析服务器 [root@ns4~]#vi/etc/named.conf options{ listen-onport53{192.168.4.140;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; include"/etc/named.rfc1912.zones"; [root@ns4~]#vi/etc/named.rfc1912.zones zone"tech.goodoing.cn"IN{ typemaster; file"tech.goodoing.cn.zone"; allow-transfer{192.168.4.130;}; }; zone"tech.itwish.cn"IN{ typeslave; masters{192.168.4.130;}; file"slaves/tech.itwish.cn.zone"; allow-transfer{none;}; }; zone"itwish.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; zone"goodoing.cn"IN{ typeforward; forwardfirst; forwarders{192.168.4.110;192.168.4.120;}; }; [root@ns4~]#vi/var/named/tech.goodoing.cn.zone $TTL1D @INSOAns4admin.tech.goodoing.cn.( 2018061002;serial 1D;refresh 1H;retry 1W;expire 3H);minimum INNSns3 INNSns4 INMX10mail ns3INA192.168.4.130 ns4INA192.168.4.140 wwwINA192.168.4.130 mailINA192.168.4.130 [root@ns4~]#chownroot:named/var/named/*.zone [root@ns4~]#chmod640/var/named/*.zone [root@ns4~]#named-checkconf [root@ns4~]#servicenamedconfigtest [root@ns4~]#rndcreload 8)配置cach缓存DNS服务器,测试域名解析 [root@cach~]#vi/etc/named.conf options{ listen-onport53{192.168.4.100;}; directory"/var/named"; dump-file"/var/named/data/cache_dump.db"; statistics-file"/var/named/data/named_stats.txt"; memstatistics-file"/var/named/data/named_mem_stats.txt"; recursionyes; }; zone"."IN{ typehint; file"named.ca"; }; include"/etc/named.rfc1912.zones"; [root@cach~]#vi/var/named/named.ca .3600000NSA.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET.3600000A192.168.4.150#将根服务器指向我们自己搭建的根DNS服务器 [root@cachnamed]#dig-tNS. ;;QUESTIONSECTION: ;.INNS ;;ANSWERSECTION: .82572INNSroot. [root@cachnamed]#dig-tNScn ;;QUESTIONSECTION: ;cn.INNS ;;ANSWERSECTION: cn.86400INNSdns.cn. [root@cachnamed]#dig-tNSitwish.cn ;;QUESTIONSECTION: ;itwish.cn.INNS ;;ANSWERSECTION: itwish.cn.86400INNSns1.itwish.cn. itwish.cn.86400INNSns2.itwish.cn. [root@cachnamed]#dig-tNStech.itwish.cn ;;QUESTIONSECTION: ;tech.itwish.cn.INNS ;;ANSWERSECTION: tech.itwish.cn.86400INNSns4.tech.itwish.cn. tech.itwish.cn.86400INNSns3.tech.itwish.cn. [root@cachnamed]#dig-tNStech.goodoing.cn ;;QUESTIONSECTION: ;tech.goodoing.cn.INNS ;;ANSWERSECTION: tech.goodoing.cn.86400INNSns4.tech.goodoing.cn. tech.goodoing.cn.86400INNSns3.tech.goodoing.cn. [root@cachnamed]#dig-tAwww.tech.goodoing.cn ;;QUESTIONSECTION: ;www.tech.goodoing.cn.INA ;;ANSWERSECTION: www.tech.goodoing.cn.86400INA192.168.4.130 至此,linux DNS系统部署并调配完成,实现了内网根域及各主机的解析。

优秀的个人博客,低调大师

Tomcat9.0部署iot.war(环境mysql8.0,centos7.2)

下载安装包 点击进入官网下载tomcat9.0 点击进入官网下载mysql8.0 安装mysql8.0 #####安装软件包##### # tar -xf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql # createrepo /opt/mysql # yum-config-manager --add-repo=file:///opt/mysql # echo "gpgcheck=0" >> /etc/yum.repos.d/_opt_mysql.repo # yum -y install mysql-community-server # systemctl start mysqld # ^start^enable # netstat -lnput | grep 3306 #####重置MySQL密码##### # grep 'temporary password' /var/log/mysqld.log 2018-06-12T07:37:39.045310Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 'elsq#kB%5Xgx' # mysql -uroot -pelsq#kB%5Xgx mysql> alter user 'root'@'localhost'identified with mysql_native_password by "Mr.Testder" 安装jdk # tar -xzf jdk-8u77-linux-x64.tar.gz -C /usr/ # vim /etc/profile export JAVA_HOME=/usr/jdk1.8.0_77 export PATH=$JAVA_HOME/bin:$PATH # source /etc/profile # java -version java version "1.8.0_77" Java(TM) SE Runtime Environment (build 1.8.0_77-b03) Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode) 安装tomcat9.0 # tar -xzf apache-tomcat-9.0.8.tar.gz # mv apache-tomcat-9.0.8 /usr/local/tomcat tomcat部署war包 # rm -rf /usr/local/tomcat/webapps/* # mv iot.war /usr/local/tomcat/webapps # cd /usr/local/tomcat/bin # ./startup.sh # netstat -lnptu | grep 8080 # ps -ef | grep [j]ava # tailf logs/catalina.out 26-Jan-2016 06:10:24.195 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"] 26-Jan-2016 06:10:24.206 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"] 26-Jan-2016 06:10:24.211 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 1560 ms

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册