centos ssh nfs(centos7搭建nfs详细步骤)

大家好,关于centos ssh nfs很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于centos7搭建nfs详细步骤的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

centos怎么上传文件

使用Vsftpd服务传输文件。

你可以配置一个vsftpd服务,具体步骤参考如下:

[root@linuxprobe~]# yum install vsftpd-y

Loaded plugins: langpacks, product-id, subscription-manager

………………省略部分输出信息………………

=

iptables防火墙管理工具中默认禁止了ftp传输协议的端口号,因此咱们在正式配置vsftpd服务程序前还需要清空一下iptables防火墙的默认策略,并将当前已经被清理的防火墙策略状态保存下来:

[root@linuxprobe~]# iptables-F

[root@linuxprobe~]# service iptables save

iptables: Saving firewall rules to/etc/sysconfig/iptables:[ OK ]

vsftpd服务程序的主配置文件(/etc/vsftpd/vsftpd.conf)中参数总共有123行左右,但大多数都是以#(井号)开头的注释信息,咱们可以用grep命令的-v参数来过滤并反选出没有包含#(井号)的参数行,也就是把所有的注释信息都过滤掉,这样再通过输出重定向符写会到原始的主配置文件名称中即可:

[root@linuxprobe~]# mv/etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf_bak

[root@linuxprobe~]# grep-v"#"/etc/vsftpd/vsftpd.conf_bak>/etc/vsftpd/vsftpd.conf

[root@linuxprobe~]# cat/etc/vsftpd/vsftpd.conf

anonymous_enable=YES

l

刘遄老师给同学们整理出了vsftpd服务程序的主配置文件中常用的参数及作用介绍,您现在只要简单的浏览一下,接下来的实验中如果不明白再过来查阅就可以。

编辑

参数作用

listen=[YES|NO]是否以独立运行的方式监听服务。

listen_address=IP地址设置要监听的IP地址。

listen_port=21设置FTP服务的监听端口。

download_enable=[YES|NO]是否允许下载文件。

userlist_enable=[YES|NO]

userlist_deny=[YES|NO]是否启用“禁止登陆用户名单”。

max_clients=0最大客户端连接数,0为不限制。

max_per_ip=0同一IP地址最大连接数,0位不限制。

anonymous_enable=[YES|NO]是否允许匿名用户访问。

anon_upload_enable=[YES|NO]是否允许匿名用户上传文件。

anon_umask=022匿名用户上传文件的umask值。

anon_root=/var/ftp匿名用户的FTP根目录。

anon_mkdir_write_enable=[YES|NO]是否允许匿名用户创建目录。

anon_other_write_enable=[YES|NO]是否开放匿名用户其他写入权限。

anon_max_rate=0匿名用户最大传输速率(字节),0为不限制。

local_enable=[YES|NO]是否允许本地用户登陆FTP。

local_umask=022本地用户上传文件的umask值。

local_root=/var/ftp本地用户的FTP根目录。

chroot_local_user=[YES|NO]是否将用户权限禁锢在FTP目录,更加的安全。

local_max_rate=0本地用户最大传输速率(字节),0为不限制。

11.2 Vsftpd服务程序

vsftpd作为更加安全的FTP文件传输协议的服务程序,可以让用户分别通过匿名开放、本地用户和虚拟用户三种身份验证方式来登陆到FTP服务器上面,匿名开放是一种最不安全的验证模式,任何人都可以无需密码验证就登陆到FTP服务端主机,本地用户是通过Linux系统本地的帐号密码信息进行的验证模式,这种模式相比较匿名开放模式来说比较安全,配置起来也十分简单,不过如果被骇客暴力破解出FTP帐号信息,也就可以通过这个口令登陆到咱们的服务器系统中了,从而完全控制整台服务器主机,最后的虚拟用户是相比较最为安全的验证模式,需要为FTP传输服务单独建立用户数据库文件,虚拟出用来口令验证的帐户信息,这些帐号是在服务器系统中不存在的,仅供FTP传输服务做验证使用,因此这样即便骇客破解出了帐号口令密码后也无法登录到咱们的服务器主机上面,有效的降低了破坏范围和影响。

ftp命令是用来在命令行终端中对ftp传输服务进行控制连接的客户端工具,咱们需要先手动的安装一下这个ftp客户端工具,以便于接下来的实验中校验效果:

[root@linuxprobe~]# yum install ftp

Loaded plugins: langpacks, product-id, subscription-manager

………………省略部分输出信息………………

Installing:

ftp x86_64 0.17-66.el7 rhel 61 k

Transaction Summary

================================================================================

Install 1 Package

Total download size: 61 k

Installed size: 96 k

Is this ok [y/d/N]: y

Downloading packages:

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

Installing: ftp-0.17-66.el7.x86_64 1/1

Verifying: ftp-0.17-66.el7.x86_64 1/1

Installed:

ftp.x86_64 0:0.17-66.el7

Complete!

11.2.1匿名访问模式

vsftpd服务程序中匿名开放是一种最不安全的验证模式,任何人都可以无需密码验证就登陆到FTP服务端主机,这种模式一般只用来保存不重要的公开文件,尤其是在生产环境中更要注意不放敏感文件,当然也非常推荐用咱们第八章中学习的防火墙管理工具(例如Tcp_wrappers)将vsftpd服务程序的允许访问主机范围设置为企业内网,这样还算能够保证基本的安全性。

vsftpd服务程序默认已经开启了匿名访问模式,咱们需要做的就是进一步允许匿名用户的上传、下载文件的权限,以及让匿名用户能够创建、删除、更名文件的权限,这些权限对于匿名用户来讲非常的危险,咱们只是为了练习Linux系统中vsftpd服务程序的配置能力,十分不推荐在生产环境中使用,匿名用户的权限参数及介绍:

编辑

参数作用

anonymous_enable=YES允许匿名访问模式。

anon_umask=022匿名用户上传文件的umask值。

anon_upload_enable=YES允许匿名用户上传文件

anon_mkdir_write_enable=YES允许匿名用户创建目录

anon_other_write_enable=YES允许匿名用户修改目录名或删除目录

[root@linuxprobe~]# vim/etc/vsftpd/vsftpd.conf

anonymous_enable=YES

anon_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

确认参数填写正确后保存并退出vsftpd服务程序的主配置文件,还需要重启vsftpd服务程序来让新的配置服务参数生效,并且同学们在生产环境中或者红帽RHCSA、RHCE、RHCA认证考试中也请记得一定要把配置过的服务程序加入到开机启动项中,以保证下次服务器重启后依然能够为用户正常提供ftp文件传输服务:

[root@linuxprobe~]# systemctl restart vsftpd

[root@linuxprobe~]# systemctl enable vsftpd

ln-s'/usr/lib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target.wants/vsftpd.service

这样咱们就可以在客户端上面使用ftp命令连接到远程的FTP服务器上面了,FTP服务的匿名开放模式的帐号统一为anonymous,密码为空。匿名模式登陆到FTP服务器后默认所在位置为/var/ftp目录,咱们可以切换至里面的pub目录中,然后尝试创建一个新的目录文件来检验是否已经有了写入权限:

[root@linuxprobe~]# ftp 192.168.10.10

Connected to 192.168.10.10(192.168.10.10).

220(vsFTPd 3.0.2)

Name(192.168.10.10:root): anonymous

331 Please specify the password.

Password:此处敲击回车即可

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> cd pub

250 Directory successfully changed.

ftp> mkdir files

550 Permission denied.

刚刚咱们已经把iptables防火墙策略清空,而且也在vsftpd服务程序的主配置文件中添加了允许匿名用户创建目录和写入文件的权限,那么为什么还会被拒绝呢?建议同学们先不要往下面看,思考后用自己的方法尝试解决下这个问题,长期这样您的Linux系统排错能力就一定会练出来的。

回想起前面操作的细节,咱们FTP服务的匿名开放模式是默认登陆到了/var/ftp目录中,查看下这个目录的权限后才发现原来只有root管理员用户才有写入权限的,怪不得会提示写入出错呢,咱们只需要把目录的所有者身份改成系统帐户ftp即可,这样就应该可以了吧~

[root@linuxprobe~]# ls-ld/var/ftp/pub

drwxr-xr-x. 3 root root 16 Jul 13 14:38/var/ftp/pub

[root@linuxprobe~]# chown-Rf ftp/var/ftp/pub

[root@linuxprobe~]# ls-ld/var/ftp/pub

drwxr-xr-x. 3 ftp root 16 Jul 13 14:38/var/ftp/pub

[root@linuxprobe~]# ftp 192.168.10.10

Connected to 192.168.10.10(192.168.10.10).

220(vsFTPd 3.0.2)

Name(192.168.10.10:root): anonymous

331 Please specify the password.

Password:此处敲击回车即可

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> cd pub

250 Directory successfully changed.

ftp> mkdir files

550 Create directory operation failed.

又报错了!!此时再次使用ftp命令登入到FTP服务器主机后依然会提示写入操作失败,但细心的同学一定发现报错信息已经产生了变化,在刚刚没有写入权限的时候提示说权限拒绝(Permission denied.)所以咱们怀疑是权限的问题,但现在是提示创建目录的操作失败(Create directory operation failed.)那么咱们同学应该也能马上意识到是SELinux服务在限制这个操作了吧,查看下所有与ftp相关的SELinux域策略有那些吧:

[root@linuxprobe~]# getsebool-a| grep ftp

ftp_home_dir--> off

ftpd_anon_write--> off

ftpd_connect_all_unreserved--> off

ftpd_connect_db--> off

ftpd_full_access--> off

ftpd_use_cifs--> off

ftpd_use_fusefs--> off

ftpd_use_nfs--> off

ftpd_use_passive_mode--> off

httpd_can_connect_ftp--> off

httpd_enable_ftp_server--> off

sftpd_anon_write--> off

sftpd_enable_homedirs--> off

sftpd_full_access--> off

sftpd_write_ssh_home--> off

tftp_anon_write--> off

tftp_home_dir--> off

根据策略的名称和经验可以猜测出是哪一条规则策略,咱们在设置的时候请记得使用-P参数来让配置过的策略永久生效,保证在服务器重启后依然能够顺利写入文件,咱们可以分别尝试下创建目录文件、对文件进行改名以及删除目录文件等等操作。最后,恭喜同学们完成了这个实验课程,建议您在进行一次实验课程前还原虚拟机到最初始的状态,以免多个配置参数之间产生冲突。

[root@linuxprobe~]# setsebool-P ftpd_full_access=on

[root@linuxprobe~]# ftp 192.168.10.10

Connected to 192.168.10.10(192.168.10.10).

220(vsFTPd 3.0.2)

Name(192.168.10.10:root): anonymous

331 Please specify the password.

Password:此处敲击回车即可

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> cd pub

250 Directory successfully changed.

ftp> mkdir files

257"/pub/files" created

ftp> rename files database

350 Ready for RNTO.

250 Rename successful.

ftp> rmdir database

250 Remove directory operation successful.

ftp> exit

221 Goodbye.

11.2.2本地用户模式

本地用户模式是通过Linux系统本地的帐号密码信息进行的验证方式,这种模式相比较匿名开放模式来说比较安全,不过如果被骇客暴力破解出FTP帐号信息,也就可以通过这个口令登陆到咱们的服务器系统中了,从而完全控制整台服务器主机。本地用户模式配置起来十分简单,而且既然本地用户模式确实要比匿名开放模式更加的安全,因此推荐既然开启了本地用户模式,就把匿名开放模式给关闭了吧~咱们对本地用户模式需要使用的权限参数及介绍如下表:

编辑

参数作用

anonymous_enable=NO禁止匿名访问模式。

local_enable=YES允许本地用户模式。

write_enable=YES设置可写入权限。

local_umask=022本地用户模式创建文件的umask值。

userlist_deny=YES参数值为YES即禁止名单中的用户,参数值为NO则代表仅允许名单中的用户。

userlist_enable=YES允许“禁止登陆名单”,名单文件为ftpusers与user_list。

[root@linuxprobe~]# vim/etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

当咱们确认参数信息已经填写正确就可以保存退出了,要想让新的配置参数生效还要记得重启一下vsftpd服务程序,并且在刚刚实验后还原了虚拟机的同学还请记得再把配置的服务加入到开机启动项中,让咱们的vsftpd服务程序在重启后依然能够正常使用。

[root@linuxprobe~]# systemctl restart vsftpd

[root@linuxprobe~]# systemctl enable vsftpd

ln-s'/usr/lib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target.wants/vsftpd.service

按道理来说咱们现在就已经可以使用本地用户登陆到FTP服务器中了,但使用root用户登陆后会提示如下的错误信息:

[root@linuxprobe~]# ftp 192.168.10.10

Connected to 192.168.10.10(192.168.10.10).

220(vsFTPd 3.0.2)

Name(192.168.10.10:root): root

530 Permission denied.

Login failed.

ftp>

在咱们输入root管理员用户的密码前就已经提示被拒绝了,看来有什么东西再禁止着用户登陆,这是因为咱们vsftpd服务程序目录中默认存在着两个文件(ftpusers或user_list),这两个文件叫做禁止用户名单,不知道同学们有没有看过一个叫做“死亡笔记”的日本电影,里面就提到有一个黑色封皮的小本本,任何人的名字写进去都会死亡,其实咱们在配置的这个vsftpd服务程序的禁止文件也有类似的功能,只要里面写有某个用户的名字,那么就不再允许这个用户登陆到咱们的FTP服务器上面。

具体步骤参考文档:,可以部署一个vsftpd服务

centos6.5安装到U盘出问题

usblinux把linux系统安装到u盘里

加电

BIOS找启动方式,找设备

MBR

grub

vmlinux initrd

产生init

/etc/inittab-->找到应该启动的级别

按照不同的级别启动不同类型的服务/etc/rcX.d/

/etc/rc.sysinit

/etc/rc.local

产生终端可以登录

ls/root/install.log

livecd不用安装,直接可以使用系统的CD,DVD

回顾开机启动的过程:

开机-->bios(配置主板的程序,basic input and output system,加电自检,找到启动设备的编号)-->找到mbr(master bootloader record,它是属于硬盘的0磁盘0扇区)-->grub-->通过grub找到vmlinuz和initrd(驱动硬件)-->内核启动,产生init进程-->/etc/inittab(确定系统的启动级别)-->/etc/rc.sysinit(获取主机的网络环境和主机类型,测试与载入设备,是否启动selinux,模块的加载,设置系统时间.................)-->/etc/rc.local

与USB有关的模块

[root@li~]# lsmod|grep ci

uhci_hcd 25421 0

ohci_hcd 24553 0

ehci_hcd 33869 0

--因为U盘分区在windows下不认,所以我这里两G的U盘,直接都用来做usblinux

1,首先删除U盘里原有分区

第一种:用fdisk/dev/sdb,然后用d命令去删除

第二种:dd if=/dev/zero of=/dev/sdb bs=1024 count=1--删除磁盘分区信息

重新按照规划的去分区:

Disk/dev/sdb: 2000 MB, 2000570368 bytes

62 heads, 62 sectors/track, 1016 cylinders

Units= cylinders of 3844* 512= 1968128 bytes

Device Boot Start End Blocks Id System

/dev/sdb1* 1 763 1466455 83 Linux

/dev/sdb2 764 1016 486266 82 Linux swap/ Solaris

Command(m for help): w

--或者分为1G做usblinux,500m做swap,500m留给fat32

Disk/dev/sdb: 2000 MB, 2000570368 bytes

62 heads, 62 sectors/track, 1016 cylinders

Units= cylinders of 3844* 512= 1968128 bytes

Device Boot Start End Blocks Id System

/dev/sdb1* 1 509 978267 83 Linux

/dev/sdb2 510 764 490110 82 Linux swap/ Solaris

/dev/sdb3 765 1016 484344 b W95 FAT32

Command(m for help): w

[root@li~]# partprobe

--有些U盘报kerenl相关的两到三段信息,就不要使用多分区,就分一个分区。

2,格式化分区,并挂载

[root@li www]# partprobe--fdisk分区后,都要用此命令刷新

--这一步,有很多U盘会报错,如果报错的话最好去windows虚拟机下全格一下,再重新在linux下来做

[root@li www]# mkfs-t ext3/dev/sdb1

[root@li www]# mkswap/dev/sdb2

[root@li www]# mkdir/usb

[root@li www]# mount/dev/sdb1/usb/--建立一个目录,挂载/dev/sdb1

3,安装基本的目录结构

准备光盘iso文件,挂载到一个目录去

[root@li www]# mount/share/iso/rhel-5.4-server-i386-dvd.iso/yum/-o loop

[root@li www]# cd/yum/Server/

[root@li Server]# rpm-qip filesystem-2.4.0-2.i386.rpm

Description:

filesystem软件包是安装在红帽 Linux系统上的一个基本

软件包。filesystem含有一个 Linux操作系统的基本目录布局,

包括各目录的正确许可权限。

要使用--nodeps脱离依赖性才可以安装

[root@li Server]# rpm-ivh--root=/usb/--nodeps filesystem-2.4.0-2.i386.rpm

或者先装setup包,再装filesystem包

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/setup-2.5.58-7.el5.noarch.rpm

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/filesystem-2.4.0-2.i386.rpm

[root@li~]# ls/usb--一个基本的目录布局就已经装好了

bin etc lost+found opt sbin sys var

boot home media proc selinux tmp

dev lib mnt root srv usr

4,安装相应的软件包,也就是定制功能

下面最主要的一步就是安装系统的软件包,首先要思考安装的这个USB系统需要什么功能,比如最基本的命令ls,cd等

这里可以选择使用busybox(是一个基本命令工具集),但如果对其不是特别熟悉,还是按基本命令一个一个的来选

首先要装bash包,包含50多个内部命令

[root@dns Server]# chroot/usb--不装bash无法 chroot进去

chroot: cannot run command `/bin/bash': No such file or directory

[root@dns Server]# rpm-qf/bin/ls

coreutils-5.97-23.el5

[root@dns Server]# rpm-qf `which vi`

vim-minimal-7.0.109-6.el5

[root@dns Server]# rpm-qf `which vim`

vim-enhanced-7.0.109-6.el5

[root@dns Server]# rpm-qf `which ping`

iputils-20020927-46.el5

[root@dns Server]# rpm-qf `which mount`

util-linux-2.13-0.52.el5

[root@dns Server]# rpm-qf `which tar`

tar-1.15.1-23.0.1.el5

[root@dns Server]# rpm-qf `which rpm`

rpm-4.4.2.3-18.el5

[root@dns Server]# rpm-qf `which man`

man-1.6d-1.1

[root@dns Server]# rpm-qf `which ssh`

openssh-clients-4.3p2-36.el5

[root@dns Server]# rpm-qf `which awk`

gawk-3.1.5-14.el5

[root@dns Server]# rpm-qf `which sed`

sed-4.1.5-5.fc6

[root@dns Server]# rpm-qf `which grep`

grep-2.5.1-55.el5

[root@dns Server]# rpm-qf `which find`

findutils-4.2.27-6.el5

[root@dns Server]# rpm-qf `which locate`

mlocate-0.15-1.el5.2

[root@dns Server]# rpm-qf `which useradd`

shadow-utils-4.0.17-14.el5

[root@dns Server]# rpm-qf `which passwd`

passwd-0.73-1

[root@dns Server]# rpm-qf `which init`

SysVinit-2.86-15.el5

[root@dns Server]# rpm-qf `which clear`

ncurses-5.5-24.20060715

[root@dns Server]# rpm-qf `which ps`

procps-3.2.7-11.1.el5

[root@dns Server]# rpm-qf/usr/bin/which

which-2.16-7

[root@dns Server]# rpm-qf `which ifconfig`

net-tools-1.60-78.el5

[root@dns Server]# rpm-qf `which fdisk`

util-linux-2.13-0.52.el5

[root@dns Server]# rpm-qf `which partprobe`

parted-1.8.1-23.el5

[root@li~]# rpm-qf `which showmount`

nfs-utils-1.0.9-42.el5

[root@li~]# rpm-qf `which service`

initscripts-8.45.30-2.el5

[root@li Server]# rpm-qf `which bzip2`

bzip2-1.0.3-4.el5_2

[root@li Server]# rpm-qf `which gzip`

gzip-1.3.5-10.el5

--经过上面对基本命令的包查找,最终安装下列这些基本包

[root@dns Server]# yum install--installroot=/usb bash coreutils vim-minimal vim-enhanced iputils util-linux tar rpm man openssh-clients gawk sed grep findutils mlocate shadow-utils passwd SysVinit ncurses procps which net-tools util-linux parted nfs-utils initscripts bzip2 gzip

--如果上面步骤安装完后,有忘记安装的包,再使用yum装不上去

[root@li~]# yum install--installroot=/usb iptables

Loaded plugins: downloadonly, rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

Setting up Install Process

No package iptables available.

Nothing to do

--所以再安装的话使用rpm去安装

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/iptables-1.3.5-5.3.el5.i386.rpm

5,安装启动引导文件和模块

[root@li Server]# chroot/usb--使用此命令,就是以/usb目录为根目录了

bash-3.2# ls/boot/--可以看到现在usblinux里的/boot目录没有任何文件

bash-3.2# exit--用exit退出chroot模式

exit

[root@li~]# cp/etc/skel/.bash*/usb/root/-rf

--拷环境变量模版过去

定制支持usb存储启动的ramdisk(initrd文件)

[root@li Server]# mkinitrd--with usb_storage/usb/boot/initrd.img `uname-r`

从真机上拷贝vmlinuz到usblinux对应目录

[root@li Server]# cp/boot/vmlinuz-2.6.18-164.el5/usb/boot/vmlinuz

从真机上拷贝内核模块到usblinux对应目录

[root@li Server]# cp/lib/modules/2.6.18-164.el5//usb/lib/modules/-rf

拷内核源码,可选步骤

[root@li Server]# mkdir/usb/usr/src/kernels/

[root@dns Server]# cp/usr/src/kernels/2.6.18-164.el5-i686//usb/usr/src/kernels/-rf

6,安装并手动写grub

--如果是用真实机分区来代替U盘做usblinux的话,这一步不用做,只需要把这个分区的引导信息加入到真实机的配置文件里就可以了

安装grub包,用--nodeps脱离依赖性

[root@li Server]# rpm-ivh--nodeps--root=/usb grub-0.97-13.5.i386.rpm

--脱离依赖安装,会没有splash.xpm.gz图片,可以从真机拷一个

也可以按下面安装

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/*logos*

warning:/share/yum/Server/redhat-logos-4.9.16-1.noarch.rpm

[root@li~]# rpm-ivh--root=/usb/share/yum/Server/grub-0.97-13.5.i386.rpm

--但这样安装完后,grub目录下只有一个背景图片

[root@dns Server]# ls/usb/boot/grub/

splash.xpm.gz

grub-install安装到/dev/sdb

[root@li Server]# grub-install--root-directory=/usb--recheck/dev/sdb

--如果是用真实机分区来做的话,这里/dev/sdb改成/dev/sda

--grub-install之后,grub目录的基本文件就有了(除了配置文件grub.conf)

[root@dns Server]# ls/usb/boot/grub/

device.map iso9660_stage1_5 splash.xpm.gz vstafs_stage1_5

e2fs_stage1_5 jfs_stage1_5 stage1 xfs_stage1_5

fat_stage1_5 minix_stage1_5 stage2

ffs_stage1_5 reiserfs_stage1_5 ufs2_stage1_5

修改device.map

[root@li Server]# vim/usb/boot/grub/device.map

(hd0)/dev/sdb

--如果是用真实机分区来做的话,这里/dev/sdb改成/dev/sda

手动写grub.conf文件

--下面是以u盘来做的写法

[root@li Server]# vim/usb/boot/grub/grub.conf

default=0

timeout=-1

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title usblinux

root(hd0,0)

kernel/boot/vmlinuz ro root=/dev/sdb1

initrd/boot/initrd.img

=============================================

--因为我这次是使用真实机的/dev/sda14来做根./dev/sda15做swap

上面的第6步不用做,只做这一小段就好了

所以把下面这段加到真实机的/boot/grub/grub.conf里

title usblinux

root(hd0,13)--因为我模拟的这个usblinux的根为sda14,所以这里写13

kernel/boot/vmlinuz ro root=/dev/sda14

initrd/boot/initrd.img

# grub-install/dev/sda--加完后,就grub-install安装一下

--------------------------------------------------

7,拷贝密码文件,拷贝环境变量

--这一步可以不拷,因为现在usblinux上默认有passwd和group文件,没有shadow和gshadow

--里面默认有root用户和系统用户

[root@li Server]# cp/etc/passwd/usb/etc/passwd

[root@li Server]# chroot/usb/--再次chroot到/usb目录,提示符就变了

[root@li/]# pwconv--同步/etc/passwd和/etc/shadow

[root@li/]# grpconv--同步/etc/group和/etc/gshadow

[root@li/]# passwd root--修改root的密码,到时候登录需要

8,手动编写fstab文件

[root@li/]# vim/etc/fstab--注意这里是usblinux系统里的fstab,因为已经chroot进来了

/dev/sdb1/ ext3 defaults 0 0

/dev/sdb2 swap swap defaults 0 0

devpts/dev/pts devpts gid=5,mode=620 0 0

sysfs/sys sysfs defaults 0 0

proc/proc proc defaults 0 0

tmpfs/dev/shm tmpfs defaults 0 0

--用真实机的/dev/sda14来做根./dev/sda15做swap的话,就把上面的sdb1换成sda14,sdb2换成sda15,其它的不变

9,让usblinux支持网络

从真机拷贝eth0的配置文件到usblinux对应目录中:

[root@li Server]# cp/etc/sysconfig/network-scripts/ifcfg-eth0/usb/etc/sysconfig/network-scripts/

修改网络配置文件,可以改成静态IP

[root@li Server]# vim/usb/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=dhcp

ONBOOT=yes

从真机拷贝全局网络配置文件到usblinux对应目录中

[root@li Server]# cp/etc/sysconfig/network/usb/etc/sysconfig/

从真机拷贝modprobe.conf到usblinux对应目录中

[root@li Server]# cp/etc/modprobe.conf/usb/etc/

alias eth0 8139too--注意这一句在不同的系统里可能要修改,现在这里的网卡模块是8139too,所以这里是8139too就可以;这个在虚拟机里为pcnet32

然后重启系统,在bios选择使用usb引导进入系统,去验证功能

--如果是真实机分区做的,就不用改bios,直接在grub选择菜单选择usblinux引导进入就可以了

-------------------------------------------------------------

上面的步骤里还没有去加的功能有动态获取IP(需要安装dhclient包)

没有yum命令,没有图形界面(有需要的话,自己使用rpm安装yum命令后,使用yum安装图形包的两个组)

启动时有大量无用信息,可以在grub.conf里加rhgb quiet来解决

但重启后还会有一个错误信息:

(会有一个usb_storage的报错信息,但此信息没有影响,是mkinitrd--with usb_storage时造成的)

如果一定要除掉这句报错,可以手工修改initrd文件

# cd/tmp

# cp/usb/boot/initrd.img/tmp/initrd.img.gz

# gunzip initrd.img.gz

# cpio-i--make-directories< initrd.img

# rm initrd.img

# vim init--打开,删除以下的几行

echo"loading usb-storage.ko module"

insmod/lib/usb-storage.ko

echo waiting for dirver initialization

stabilized/proc/bus/usb/devices

echo waiting for driver initializtin

# find.| cpio-c-o>../initrd.img

# gzip-9../initrd.img

# cp../initrd.mg.gz/usb/boot/initrd.img

=============================================================

centos优点

概述一下,centos与redhat的区别和优缺点?

CentOS是一种基于RedHat企业级操作系统代码(RHEL)构建的操作系统,因此它与RedHat具有许多共同之处。但是,它们之间有一些主要区别:

1.支持:RedHat是一种商业操作系统,需要订阅才能获得支持和更新。CentOS则是一个社区版的发行版,完全免费,并不需要购买订阅或付费支持计划。

2.更新:RedHat一般会在发布后的数年内提供更新和支持,而CentOS的重要更新则可能要比相应的RHEL版本稍晚一些。

3.品质保证:RedHat是一种经过广泛测试和验证的操作系统,而CentOS则更加注重稳定性和可靠性。

4.应用场景:RedHat更适合高性能、高安全性和商业关键任务。CentOS则更适合个人使用、中小型企业、组织以及一些开发人员等用户群体。

5.社区:CentOS是一个社区驱动的项目,社区用户可以对代码进行修改和分发。RedHat则更多的是企业驱动,用户只能使用其已发布的产品。

以下是他们各自的优缺点:

RedHat的优点:

-专业的技术支持和服务

-更长的支持周期

-一流的安全性和稳定性

-适合企业关键任务使用

RedHat缺点:

-需要购买订阅才能获得支持和更新

-软件更新速度可能较慢

-价格相对较高

CentOS的优点:

-免费使用和更新

-非常稳定和可靠

-社区活跃,有更多的社区支持和帮助

-拥有与RHEL相似的功能和性能

CentOS的缺点:

-不提供商业支持

-更新可能比RHEL版本稍慢

-对于一些生产环境来说,不如RedHat稳定

centos最小化安装优点

(1)Linux系统的第一个进程(pid=1)为init:

Linux操作系统的启动首先从BIOS开始,接下来进入bootloader,由bootloader载入内核,进行内核初始化。内核初始化的最后一步就是启动pid为1的init进程。这个进程是系统的第一个进程。它负责产生其他所有用户进程。

(2)init进程是所有进程的祖先,不可以kill(也kill不掉)

init以守护进程方式存在,是所有其他进程的祖先。init进程非常独特,能够完成其他进程无法完成的任务。Init系统能够定义、管理和控制init进程的行为。它负责组织和运行许多独立的或相关的始化工作(因此被称为init系统),从而让计算机系统进入某种用户预订的运行模式。

(3)大多数linux发行版的init系统是和systemV相兼容的,被称为sysvinit

sysvinit就是systemV风格的init系统,顾名思义,它源于SystemV系列UNIX。它提供了比BSD风格init系统更高的灵活性。是已经风行了几十年的UNIXinit系统,一直被各类Linux发行版所采用。

(1)CentOS5

(2)CentOS6

(1)优点

sysVinit运行非常良好,概念简单清晰,它主要依赖于shell脚本。

(2)缺点

按照一定的顺序执行--启动太慢、很容易夯(hang)住,fstab与nfs挂载问题

说明:CentOS6采用了Upstart技术代替sysvinit进行引导,Upstart对rc.sysinit脚本做了大量的优化,缩短了系统初始化时的启动时间,但是CentOS6为了简便管理员的操作,Upstart的很多特性并没有凸显或者直接不支持,因此在CentOS6中的服务启动脚本还是以原来的sysv的形式提供的,

(1)CentOS6

(2)Ubuntu14

说明:systemd技术的设计目标是克服sysvinit固有的缺点,提高系统的启动速度,和sysvinit兼容,降低迁移成本,

做主要的优点:并行启动

(1)RedHat7/CentOS7

(2)Ubuntu15

方法1(在装系统时修改):

在安装系统的时候配置,修改内核选项:net.ifnames=0biosdevname=0

方法2(装系统时忘记修改,装系统后修改):

(1)编辑网卡

#cd/etc/sysconfig/network-scripts/#mvifcfg-ens160ifcfg-eth0#mvifcfg-ens192ifcfg-eth1#vimifcfg-eth0TYPE=EthernetBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=eth0#网卡名称改为eth0DEVICE=eth0#设备名称改为eth0ONBOOT=yesIPADDR=xxx.xxx.x.xxPREFIX=24GATEWAY=xxx.xxx.x.xDNS1=xxx.xxx.x.xIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_PRIVACY=no注:删掉网卡内的UUID=176582f7-d198-4e4f-aab0-34ab10d17247通用唯一识别码和HWADDR=00:0c:29:a5:3f:39MAC地址这两行。所有网卡都需要修改

(2)编辑grub文件

[root@localhostnetwork-scripts]#cp-a/etc/sysconfig/grub/etc/sysconfig/grub.bak#备份文件[root@localhostnetwork-scripts]#vim/etc/sysconfig/grubGRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed's,release.*$,,g'/etc/system-release)"GRUB_DEFAULT=savedGRUB_DISABLE_SUBMENU=trueGRUB_TERMINAL_OUTPUT="console"GRUB_CMDLINE_LINUX="crashkernel=autonet.ifnames=0biosdevname=0rhgbquiet"#这行添加net.ifnames=0biosdevname=0GRUB_DISABLE_RECOVERY="true"

(3)生成启动菜单

[root@localhostnetwork-scripts]#grub2-mkconfig-o/boot/grub2/grub.cfgGeneratinggrubconfigurationfile...Foundlinuximage:/boot/vmlinuz-3.10.0-514.el7.x86_64Foundinitrdimage:/boot/initramfs-3.10.0-514.el7.x86_64.imgFoundlinuximage:/boot/vmlinuz-0-rescue-7d9a96ac2162427d937e06ede5350e9eFoundinitrdimage:/boot/initramfs-0-rescue-7d9a96ac2162427d937e06ede5350e9e.imgdone

然后重启服务器:reboot,重启服务器后查看网卡信息,

再安装操作系统的时候使用的最小化安装,有很多包没有安装,使用时发现好多命令没有如{vim、wget、tree...等},下面就安装命令,可以根据需求自行调整。

yum-yinstallwgetnet-toolsscreenlsoftcpdumpncmtropenssl-develvimbash-completionlrzsznmaptelnettreentpdateiptables-services

rpm-ivh

需要开机自启动的脚本或者配置,可以放在/etc/rc.local里,但是发现并没有执行,下面我们看一下原因。

#ll/etc/rc.locallrwxrwxrwx1rootroot13Jan523:31/etc/rc.local-rc.d/rc.local#发现是个软连接文件#ls-l/etc/rc.d/rc.local-rw-r--r--1rootroot473Oct2011:07/etc/rc.d/rc.local#问题在这里,没有执行权限#chmod+x/etc/rc.d/rc.local#添加执行权限#ls-l/etc/rc.d/rc.local-rwxr-xr-x1rootroot473Oct2011:07/etc/rc.d/rc.local注:这样添加在rc.local里的开机自启动配置就可以执行了。

linux系统下都有一个默认的超级管理员root,ssh服务的默认端口是22,圈内都知道,那么接下来我们可以修改一下我们的默认端口和禁止root用户远程登录,初步提高一下服务器的安全

1、首先修改ssh的默认端口#sed-i"s#\#Port22#Port53226#g"/etc/ssh/sshd_config#端口可以改成1-65535之间任意端口,建议改成较大的端口,因为一万以内的端口常用的服务有占用,防止冲突(需要注意的是:这个端口要记住,否则连接不上服务器)2、禁止root用户远程登陆a):添加一个普通用户并设置密码(注:这一步必须执行,否则将造成远程连接不上服务器)#useraddxxx#添加xxx用户#echo"pass"|passwd--stdinxxx#给xxx用户设置密码为passb):修改ssh服务配置文件并撑起服务#sed-i's/#PermitRootLoginyes/PermitRootLoginno/'/etc/ssh/sshd_config#systemctlrestartsshd

此时断开当前连接或者新开一个连接就会发现使用root用户连接不上服务器了,莫慌,使用xxx用户连接然后切换到root用户即可

SELinux(Security-EnhancedLinux)是美国国家安全局(NSA)对于强制访问控制的实现,说白了就是安全机制,当然如果会配置的话建议配置更好,这里就介绍一下如何关闭吧,哈哈哈。

#sed-i.bak's#SELINUX=enforcing#SELINUX=disabled#g'/etc/selinux/config#修改配置文件需要重启服务器配置才会生效,如何立即生效那?#setenforce0#关闭SELinux立即生效,重启服务器后配置失效。

防火墙,不解释,内网服务建议关掉,对外开放的服务器需要配置规则,这里先关掉,关于防火墙配置规则等待后续更新。

#systemctlstopfirewalld#临时关闭#systemctldisablefirewalld#永久关闭

装机后主机名默认为localhost,这里个人想更改自己的主机名,在不搭建内网DNS的情况,能通过主机名找到本机的IP地址。

#hostnamectlset-hostnameweb01#设置主机名为web01,这样设置连配置文件里都修改了

#echo"192.168.6.6web01"/etc/hosts#192.168.6.6为本机IP

如果是云服务器,这步优化基本都被作了,如果是物理机需要执行此步

#sed-i.bak's@#UseDNSyes@UseDNSno@g;s@^GSSAPIAuthenticationyes@GSSAPIAuthenticationno@g'/etc/ssh/sshd_config#systemctlrestartsshd

说明:GSSAPIAuthentication参数是用于Kerberos验证的,而对于绝大多数人来说,不可能使用这种验证机制的,所以要注意把他们停掉。然后重启服务会发现远程连接速度有明显提升

设置服务器字符集,国际通用utf-8,根据自身业务来定

#localectlstatus#查看当前字符集SystemLocale:LANG=en_US.UTF-8VCKeymap:usX11Layout:us#localectlset-localeLANG=zh_CN.UTF-8#修改字符集为zh_CN.UTF-8,命令行和配置文件都生效#cat/etc/locale.conf#查看配置文件LANG=zh_CN.UTF-8

CentOS7.2系统默认最大打开文件限制为1024,每建立一个TCP连接既浪费一个限制(这里不细讲,后续会更新详细说明),为了提升服务器性能,所以我们要增加打开文件的最大限制

#ulimit-n#默认大小1024#echo"*softnofile65536"/etc/security/limits.conf#xi修改最大限制为65535#echo"*hardnofile65536"/etc/security/limits.conf

时间同步,这里不多说了,向OpenStack的所有节点的时间不一致会导致创建不了虚拟机,也会有其他的问题,不多说,我们生产上所有服务器时间都是同步的。

#yuninstall-yntpdate#前面已经装过了#ntpdatentp1.aliyun.com#这里同步的是aliyun的时间,公司内部建议自己搭建时间服务器(减少流量、广播等),然后加入crontab即可,内网时间服务器等待后续更新。

TCP断开连接时会有一个等待时间为2msl(60秒)对应的状态为TIME_WAIT,如果业务并发较大的话会有很多的TIME_WAIT状态(详细等待后续更新),如何来解决那?

#cat/proc/sys/net/ipv4/tcp_timestamps#时间戳,默认是开启的#cat/proc/sys/net/ipv4/tcp_tw_reuse#连接复用,tcp_timestamps是开启的状态下是可以开启的,1为开启,默认是关闭的状态。#cat/proc/sys/net/ipv4/tcp_tw_recycle#socket快速回收,net网络状态下不可以开启,负载均衡上不可以打开,读者根据自身情况开启或关闭,默认为关闭状态。

好了,服务器优化就介绍到这里,以上优化不分先后顺序!!

Centos7系统有什么特点?

CentOS7是一款基于RedHatEnterpriseLinux(RHEL)开发的免费开源操作系统。它具有以下特点:

兼容性高:CentOS7兼容大多数硬件,可以运行在多种计算机硬件平台上,包括x86、x64和ARM等处理器体系结构。

稳定性好:CentOS7采用了RHEL的源代码,在稳定性方面有很大优势。

安全性高:CentOS7安装时会自动开启防火墙和SELinux,可以有效保护系统安全。

支持软件包管理:CentOS7采用了YUM包管理器,可以方便地安装、升级和卸载软件包。

网络功能强大:CentOS7提供了丰富的网络功能,包括虚拟网络、Bonding、VLAN等,可以满足各种网络需求。

免费开源:CentOS7是一款免费开源的操作系统,可以免费下载使用。

阅读剩余
THE END