centos7

centos7

国内iphone ios app store审核ipv6被拒解决方案(IPv6隧道方式)

Objective-Cliuliangsong 发表了文章 • 0 个评论 • 1822 次浏览 • 2017-06-26 22:00 • 来自相关话题

  由于苹果的应用审核策略升级,自2016年6月1日起,提交新版本的APP需要支持IPV6-Only的网络才能通过审核。而目前国内99%的网络不支持IPV6,甚至国内最大的云平台阿里云,由于无可用IPV6网络,干脆禁用了云服务器的IPV6模块,可见苹果给国内开发者扔下一个大大的难题。
  下面以CentOS 7.2为例,通过ipv6通道的方式,解决ios ipv6审核拒解的难题。
  一、开启服务器的IPV6模块(阿里云):  由于阿里云禁用了云服务器ECS的IPV6模块,所有我们需要先开启它:
1、修改/etc/sysctl.conf中ipv6的配置,将下面三行值设置为0,如下所示:net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0  
2、注释掉/etc/modprobe.d/disable_ipv6.conf文件中的内容,或者直接删除此文件。#alias net-pf-10 off
#options ipv6 disable=0  
3、修改/etc/sysconfig/network中的配置项NETWORKING_IPV6值为YES:NETWORKING_IPV6=yes  
4、重启服务器,查看IPV6模块是否开启成功:init 6ifconfig |grep inet6  二、创建IPV6隧道:  这里使用免费又好用的网站https://www.tunnelbroker.net/来创建IPV6隧道,创建前需免费注册账号,创建完账号后,开始执行下面操作:
1、创建隧道:点击“Create Regular Tunnel”,进入”Create New Tunnel“页面;输入你的web服务器的公网IP地址,并选择合适的隧道服务器地址,选择之前最好先对服务器ip进行ping测试,选择丢包率和延迟较小的服务器来创建,这直接决定你将来通过审核的成功率,我这里选择的是香港(Hong Kong, HK);点击”Create Tunnel“完成创建。
  
2、创建完成后,点击"Example Configurations"选项卡,在下拉菜单中选择”Linux-net-tools“,然后复制代码,在web服务器中执行:


执行完成后,输出ifconfig命令,即可查看到创建隧道后,本地服务器的ipv6地址:



 
3、至此,web服务器已经通过隧道的方式接入到IPV6网络了,可以使用ping6命令进行测试: ping6 ipv6.baidu.com
ping6 ipv6.google.com  三、开启Web服务的IPV6支持:1、apache修改配置文件,将Listen行修改为如下(vim /etc/httpd/conf/httpd.conf):Listen [::]:80  
2、nginx修改配置文件,将Listen行修改为如下:listen [::]:80;  四、添加域名的IPV6记录( aaaa记录):  在域名注册商网站,登录到域名管理后台,添加一条aaaa记录,记录名与ipv4名相同,记录值为上面web服务器的IPV6地址"2001:470:35:7ea::2"。如域名商不支持aaaa记录,可以将NS服务修改为DNSPOD的NS服务器,到dnspod上去进行添加。
  五、在线测试网站的IPV6支持:  打开网站http://ipv6-test.com/validate.php,输入域名进行测试,如前面两项校验通过,即可将app提交审核啦,欢迎留言交流。 查看全部
  由于苹果的应用审核策略升级,自2016年6月1日起,提交新版本的APP需要支持IPV6-Only的网络才能通过审核。而目前国内99%的网络不支持IPV6,甚至国内最大的云平台阿里云,由于无可用IPV6网络,干脆禁用了云服务器的IPV6模块,可见苹果给国内开发者扔下一个大大的难题。
  下面以CentOS 7.2为例,通过ipv6通道的方式,解决ios ipv6审核拒解的难题。
  

一、开启服务器的IPV6模块(阿里云):

  由于阿里云禁用了云服务器ECS的IPV6模块,所有我们需要先开启它:
1、修改/etc/sysctl.conf中ipv6的配置,将下面三行值设置为0,如下所示:
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
  
2、注释掉/etc/modprobe.d/disable_ipv6.conf文件中的内容,或者直接删除此文件。
#alias net-pf-10 off
#options ipv6 disable=0
  
3、修改/etc/sysconfig/network中的配置项NETWORKING_IPV6值为YES:
NETWORKING_IPV6=yes
  
4、重启服务器,查看IPV6模块是否开启成功:
init 6
ifconfig |grep inet6
  

二、创建IPV6隧道:

  这里使用免费又好用的网站https://www.tunnelbroker.net/来创建IPV6隧道,创建前需免费注册账号,创建完账号后,开始执行下面操作:
1、创建隧道:
  1. 点击“Create Regular Tunnel”,进入”Create New Tunnel“页面;
  2. 输入你的web服务器的公网IP地址,并选择合适的隧道服务器地址,选择之前最好先对服务器ip进行ping测试,选择丢包率和延迟较小的服务器来创建,这直接决定你将来通过审核的成功率,我这里选择的是香港(Hong Kong, HK);
  3. 点击”Create Tunnel“完成创建。

  
2、创建完成后,点击"Example Configurations"选项卡,在下拉菜单中选择”Linux-net-tools“,然后复制代码,在web服务器中执行:
详解通过ipv6隧道的方式解决ios_ipv6审核被拒.png
执行完成后,输出ifconfig命令,即可查看到创建隧道后,本地服务器的ipv6地址:
详解通过ipv6隧道的方式解决ios_ipv6审核被拒_02.png

 
3、至此,web服务器已经通过隧道的方式接入到IPV6网络了,可以使用ping6命令进行测试: 
ping6 ipv6.baidu.com
ping6 ipv6.google.com
  

三、开启Web服务的IPV6支持:

1、apache修改配置文件,将Listen行修改为如下(vim /etc/httpd/conf/httpd.conf):
Listen [::]:80
  
2、nginx修改配置文件,将Listen行修改为如下:
listen       [::]:80;
  

四、添加域名的IPV6记录( aaaa记录):

  在域名注册商网站,登录到域名管理后台,添加一条aaaa记录,记录名与ipv4名相同,记录值为上面web服务器的IPV6地址"2001:470:35:7ea::2"。如域名商不支持aaaa记录,可以将NS服务修改为DNSPOD的NS服务器,到dnspod上去进行添加。
  

五、在线测试网站的IPV6支持:

  打开网站http://ipv6-test.com/validate.php,输入域名进行测试,如前面两项校验通过,即可将app提交审核啦,欢迎留言交流。

CentOS 7 使用Yum方式安装配置vsftpd服务

CentOSllslx520 发表了文章 • 0 个评论 • 2279 次浏览 • 2017-03-24 18:21 • 来自相关话题

  ftp是我们最常用的网络协议之一,用于方便的在网络中传输文件。vsftp是Linux平台轻量级的ftp服务软件,它小巧轻快、简单易用。本文介绍CentOS 7下使用yum安装配置vsftpd服务器,包括匿名登录方式、系统用户登录方式和虚拟用户登录三种登录方式的vsftpd服务配置。本文也适用于RHEL、Fedora、Oracle Linux 等其它Linux Redhat发行版本。一、实验环境:操作系统: CentOS Linux release 7.2.1511 (Core)CPU构架:x86_64 Vsftpd版本:vsftpd-3.0.2-21.el7 二、安装准备:1、关闭SELINUX:  SELINUX为Linux提供安全强化同时,也让Linux服务安装变得更复杂。未正确的为相关服务配置SELINUX,将导致服务无法正常运行。所以对于初学者来说,建议关闭SELINUX。vim /etc/selinux/config:#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加保存退出后,执行“setenforce 0”命令使配置立生效:setenforce 0 三、安装vsftpd服务:1、使用安装yum安装vsftpd:  使用“yum -y install vsftpd ”命令,会自动安装vsftpd命令和相关依赖包:yum -y install vsftpd2、备份vsftpd配置文件:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 四、方案一,配置匿名访问的vsftpd服务:1、配置vsftpd.conf文件:#允许匿名用户访问
anonymous_enable=YES
#禁止本地用户访问
local_enable=NO
#允许匿名用户创建目录
anon_mkdir_write_enable=YES
#允许匿名用户上传文件
anon_upload_enable=YES
#允许匿名用户执行其他写入操作,如删除
anon_other_write_enable=YES
#设置匿名用户根目录
anon_root=/ftp2、创建匿名用户目录:# /ftp/pub目录可写,/ftp目录不可写
mkdir -p /ftp/pub
chown -R ftp.ftp /ftp
chmod a-w /ftp3、启动vsftpd服务:[root@aiezu.com vsftpd]# service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service4、测试:在另外一台服务器上连接ftp进行测试,使用匿名用户“anonymous”和任意包含"@"字符串的密码进行连接:[root@aiezu.com ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (106,14,37,132,180,191).
150 Here comes the directory listing.
drwxr-xr-x 2 14 50 4096 Mar 24 15:01 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir ok
257 "/pub/ok" created
ftp> rm ok
250 Remove directory operation successful. 五、方案二,配置本地用户(系统)访问的vsftpd服务:1、配置主配置文件vsftpd.conf:#禁止匿名用户访问
anonymous_enable=NO
#允许本地用户访问
local_enable=YES
#允许写入操作
write_enable=YES
#禁止用户离开自己的用户根目录
chroot_local_user=YES
#启用用户名单列表
userlist_enable=YES
#设置用户名单列表为白名单(只允许名单中的用户连接到vsftpd)
userlist_deny=NO
#设置用户名单列表文件名
userlist_file=/etc/vsftpd/user_allow2、添加测试用户和设置权限:  添加用户testuser,设置密码后,添加到"/etc/vsftpd/user_allow"文件,并重启vsftpd服务:[root@aiezu.com ~]# mkdir -p /ftproot/testuser
[root@aiezu.com ~]# useradd -d /ftproot testuser -s /sbin/nologin
[root@aiezu.com ~]# chown -R testuser.testuser /ftproot/testuser
[root@aiezu.com ~]# chmod a-w /ftproot
[root@aiezu.com ~]# passwd testuser
Changing password for user testuser.
New password: (这里输入密码)
passwd: all authentication tokens updated successfully.
[root@aiezu.com ~]# echo "testuser" >> /etc/vsftpd/user_allow3、重启vsftpd服务:[root@aiezu.com ~]# service vsftpd restart
Redirecting to /bin/systemctl restart vsftpd.service4、测试:  在另外一台服务器上连接ftp进行测试,使用本地用户“testuser”和你设置的密码进行连接:[root@s2 ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): testuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (106,14,37,132,223,218).
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 4096 Mar 25 12:56 testuser
226 Directory send OK.
ftp> mkdir aa
550 Create directory operation failed.
ftp> cd testuser
250 Directory successfully changed.
ftp> mkdir aa
257 "/testuser/aa" created
ftp> dir
227 Entering Passive Mode (106,14,37,132,89,105).
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 4096 Mar 25 12:58 aa
226 Directory send OK. 六、方案三,配置虚拟用户访问的vsftpd服务(推荐方式):1、创建虚拟用户密码文件,奇数行为用户名,偶数行为密码:touch /etc/vsftpd/vir_user.txt
echo -e "aiezuuser\naiezu123" >> /etc/vsftpd/vir_user.txt
2、生成虚拟用户数据库:yum -y install libdb-utils
db_load -T -t hash -f /etc/vsftpd/vir_user.txt /etc/vsftpd/vir_user.db
3、配置vsftpd pam验证文件/etc/pam.d/vsftpd:mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
cat <<END > /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vir_user
account required pam_userdb.so db=/etc/vsftpd/vir_user
END
4、修改虚拟数据库文件vir_user.db的权限为700:chmod 700 /etc/vsftpd/vir_user.db
5、增加一个系统用户virftp ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作:
mkdir /ftprootuseradd -d /ftproot virftp -s /sbin/nologin
chown -R virftp.virftp /ftproot
6、设置vsftpd主配置文件/etc/vsftpd/vsftpd.conf:#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#启用虚拟账户
guest_enable=YES
#把虚拟账户映射到系统账户virftp
guest_username=virftp
#使用虚拟用户验证(PAM验证)
pam_service_name=vsftpd
#设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#启用chroot时,虚拟用户根目录允许写入
allow_writeable_chroot=YES
7、设置虚拟用户各自的配置文件:mkdir /etc/vsftpd/vsftpd_viruser/
#配置文件名同虚拟账户名
touch /etc/vsftpd/vsftpd_viruser/aiezuuser
mkdir -p /ftproot/aiezuuser/
chown -R virftp.virftp /ftproot/aiezuuser/
8、在虚拟用户 aiezuuser 的配置文件中写入如下配置/etc/vsftpd/vsftpd_viruser/aiezuuser:# 允许写入
write_enable=YES
#允许浏览FTP目录和下载
anon_world_readable_only=NO
# 允许虚拟用户aiezuuser上传文件
anon_upload_enable=YES
# 允许虚拟用户创建目录
anon_mkdir_write_enable=YES
# 允许虚拟用户aiezuuser执行其他操作(如改名、删除)
anon_other_write_enable=YES
# 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
anon_umask=022
# 指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
local_root=/ftproot/aiezuuser/
9、重启vsftpd服务:service vsftpd restart 
10、使用虚拟用户aiezuuser和密码aiezu123进行连接vsftpd测试: [root@S2 ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): aiezuuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir aa
257 "/aa" created
ftp> mkdir bb
257 "/bb" created
ftp> ls
227 Entering Passive Mode (106,14,37,132,129,241).
150 Here comes the directory listing.
drwx------ 2 1000 1000 4096 Mar 25 14:36 aa
drwx------ 2 1000 1000 4096 Mar 25 14:36 bb
226 Directory send OK. 七、常见问题:问题一:连接到vsftpd服务器时,提示:500 OOPS: vsftpd: refusing to run with writable root inside chroot()解决方法:请参考http://aiezu.com/question/112.html 
  八、附录:1、vsftpd相关目录和文件介绍:/etc/vsftpd/vsftpd.conf:vsftpd服务主配置文件;/etc/vsftpd/ftpusers:设置不允许访问ftp服务的系统用户(黑名单),一行一个用户名;/etc/vsftpd/user_list:用于设置允许或禁止访问vsftpd服务的系统用户名单,主配置文件的“userlist_enable”参数决定此名单是否生效,“userlist_deny”参数决定此名单是黑名单还是白名单;/etc/pam.d/vsftpd:vsftpd的pam模块的配置文件,用来认证身份和阻止特定用户;/usr/sbin/vsftpd:vsftpd的主要执行文件;/var/ftp:vsftpd的默认匿名用户登录的根目录。 2、主配置文件vsftpd.conf相关参数介绍:  vsftpd的配置参数很多,我们可以通过man 5 vsftpd.conf命令获取到vsftpd.conf配置文件的详细帮助信息。下面介绍一些vsftpd常用的参数。
①. vsftpd服务全局相关参数:参数描述connect_from_port_20=YES|NO是否使用20号端口做为ftp-data的端口号listen_port=21设置vsftpd服务监听的端口号listen=YES|NO设置vsftpd是否stand alone方式启动pasv_enable=YES|NO是否开启被动模式pasv_max_port=0
pasv_min_port=0设置被动模式(passive mode)使用的端口范围,为0时不受限制max_Clients=0当vsftpd以stand alone运行时,用来设置最大同时在线数max_per_ip=0用于设置同一IP允许的同时最大连接数idle_session_timeout=300如果用户300秒内没有命令操作,则强制离线ftpd_banner="欢迎信息"
banner_file=/path/file通过字符串或者文件的方式设置连接到vsftpd服务器时的欢迎信息dirmessange_enable=YES|NO
message_file=.message配置ftp进入目录时显示目录下某个文件的内容做为提示信息ascii_download_enable=YES|NO
ascii_upload_enable=YES|NO是否允许ascii方式传输xferlog_enable=YES|NO
xferlog_file=/var/log/vsftpd.log是否记录用户下载上传的文件②. vsftpd用户、权限相关参数:参数描述write_enable=YES|NO用来设置是否允许用户上传文件guest_username=ftp指定来宾用户身份的用户名guest_enable=YES|NO是否将非匿名用户映射成来宾用户。local_enable=YES|NO是否允许/etc/passwd中的用户以实体用户的身份登录到ftp服务器。local_max_rate=0设置最大传输速度,单位为bytes/schroot_local_user=YES|NO
chroot_list_enable=YES|NO
chroot_list_file=/etc/vsftpd/chroot_list用来设置哪些用户被限制在自己的目录内无法离开allow_writeable_chroot=YES|NO启用chroot时用户根目录是否允许写入,默认否userlist_enable=YES|NO
userlist_deny=YES|NO
userlist_file=/etc/vsftpd/user_list用来阻止或者允许相关用户登录到vsftpd服务器;  
userlist_file:指定允许或禁止访问vsftpd服务的系统用户名单文件;
userlist_enable:决定名单是否生效;
userlist_deny:决定此名单是黑名单还是白名单;anonymous_enable=YES|NO是否允许anonymouns用户登录到vsftpd服务器anon_root=/var/ftp设置匿名用户根目录anon_world_readable_only=YES|NO匿名用户是否只允许下载可读的文件anon_mkdir_write_enable=YES|NO
anon_upload_enable=YES|NO
anon_other_write_enable=YES|NO设置匿名用户的写入权限no_anon_password=YES|NOanonymous登录时是否可以省略密码。
(匿名用户使用用户名“anonymous”,密码使用任意包含“@”字符的字符串登陆)anon_max_rate=0设置anonymous的最大传输速度。anon_umask=077anonymous用户上传文件的权限掩码。 查看全部
  ftp是我们最常用的网络协议之一,用于方便的在网络中传输文件。vsftp是Linux平台轻量级的ftp服务软件,它小巧轻快、简单易用。本文介绍CentOS 7下使用yum安装配置vsftpd服务器,包括匿名登录方式、系统用户登录方式和虚拟用户登录三种登录方式的vsftpd服务配置。本文也适用于RHEL、Fedora、Oracle Linux 等其它Linux Redhat发行版本。

一、实验环境:

 

二、安装准备:

1、关闭SELINUX:

  SELINUX为Linux提供安全强化同时,也让Linux服务安装变得更复杂。未正确的为相关服务配置SELINUX,将导致服务无法正常运行。所以对于初学者来说,建议关闭SELINUX。vim /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
保存退出后,执行“setenforce 0”命令使配置立生效:
setenforce 0
 

三、安装vsftpd服务:

1、使用安装yum安装vsftpd:

  使用“yum -y install vsftpd ”命令,会自动安装vsftpd命令和相关依赖包:
yum -y install vsftpd

2、备份vsftpd配置文件:

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
 

四、方案一,配置匿名访问的vsftpd服务:

1、配置vsftpd.conf文件:

#允许匿名用户访问
anonymous_enable=YES
#禁止本地用户访问
local_enable=NO
#允许匿名用户创建目录
anon_mkdir_write_enable=YES
#允许匿名用户上传文件
anon_upload_enable=YES
#允许匿名用户执行其他写入操作,如删除
anon_other_write_enable=YES
#设置匿名用户根目录
anon_root=/ftp

2、创建匿名用户目录:

# /ftp/pub目录可写,/ftp目录不可写
mkdir -p /ftp/pub
chown -R ftp.ftp /ftp
chmod a-w /ftp

3、启动vsftpd服务:

[root@aiezu.com vsftpd]# service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service

4、测试:

在另外一台服务器上连接ftp进行测试,使用匿名用户“anonymous”和任意包含"@"字符串的密码进行连接:
[root@aiezu.com ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (106,14,37,132,180,191).
150 Here comes the directory listing.
drwxr-xr-x 2 14 50 4096 Mar 24 15:01 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir ok
257 "/pub/ok" created
ftp> rm ok
250 Remove directory operation successful.
 

五、方案二,配置本地用户(系统)访问的vsftpd服务:

1、配置主配置文件vsftpd.conf:

#禁止匿名用户访问
anonymous_enable=NO
#允许本地用户访问
local_enable=YES
#允许写入操作
write_enable=YES
#禁止用户离开自己的用户根目录
chroot_local_user=YES
#启用用户名单列表
userlist_enable=YES
#设置用户名单列表为白名单(只允许名单中的用户连接到vsftpd)
userlist_deny=NO
#设置用户名单列表文件名
userlist_file=/etc/vsftpd/user_allow

2、添加测试用户和设置权限:

  添加用户testuser,设置密码后,添加到"/etc/vsftpd/user_allow"文件,并重启vsftpd服务:
[root@aiezu.com ~]# mkdir -p /ftproot/testuser
[root@aiezu.com ~]# useradd -d /ftproot testuser -s /sbin/nologin
[root@aiezu.com ~]# chown -R testuser.testuser /ftproot/testuser
[root@aiezu.com ~]# chmod a-w /ftproot
[root@aiezu.com ~]# passwd testuser
Changing password for user testuser.
New password: (这里输入密码)
passwd: all authentication tokens updated successfully.
[root@aiezu.com ~]# echo "testuser" >> /etc/vsftpd/user_allow

3、重启vsftpd服务:

[root@aiezu.com ~]# service vsftpd restart
Redirecting to /bin/systemctl restart vsftpd.service

4、测试:

  在另外一台服务器上连接ftp进行测试,使用本地用户“testuser”和你设置的密码进行连接:
[root@s2 ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): testuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (106,14,37,132,223,218).
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 4096 Mar 25 12:56 testuser
226 Directory send OK.
ftp> mkdir aa
550 Create directory operation failed.
ftp> cd testuser
250 Directory successfully changed.
ftp> mkdir aa
257 "/testuser/aa" created
ftp> dir
227 Entering Passive Mode (106,14,37,132,89,105).
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 4096 Mar 25 12:58 aa
226 Directory send OK.
 

六、方案三,配置虚拟用户访问的vsftpd服务(推荐方式):

1、创建虚拟用户密码文件,奇数行为用户名,偶数行为密码:
touch /etc/vsftpd/vir_user.txt
echo -e "aiezuuser\naiezu123" >> /etc/vsftpd/vir_user.txt

2、生成虚拟用户数据库:
yum -y install libdb-utils 
db_load -T -t hash -f /etc/vsftpd/vir_user.txt /etc/vsftpd/vir_user.db

3、配置vsftpd pam验证文件/etc/pam.d/vsftpd:
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
cat <<END > /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vir_user
account required pam_userdb.so db=/etc/vsftpd/vir_user
END

4、修改虚拟数据库文件vir_user.db的权限为700:
chmod 700 /etc/vsftpd/vir_user.db

5、增加一个系统用户virftp ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作:
mkdir /ftproot
useradd -d /ftproot virftp -s /sbin/nologin
chown -R virftp.virftp /ftproot

6、设置vsftpd主配置文件/etc/vsftpd/vsftpd.conf:
#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#启用虚拟账户
guest_enable=YES
#把虚拟账户映射到系统账户virftp
guest_username=virftp
#使用虚拟用户验证(PAM验证)
pam_service_name=vsftpd
#设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#启用chroot时,虚拟用户根目录允许写入
allow_writeable_chroot=YES

7、设置虚拟用户各自的配置文件:
mkdir /etc/vsftpd/vsftpd_viruser/
#配置文件名同虚拟账户名
touch /etc/vsftpd/vsftpd_viruser/aiezuuser
mkdir -p /ftproot/aiezuuser/
chown -R virftp.virftp /ftproot/aiezuuser/

8、在虚拟用户 aiezuuser 的配置文件中写入如下配置/etc/vsftpd/vsftpd_viruser/aiezuuser:
# 允许写入
write_enable=YES
#允许浏览FTP目录和下载
anon_world_readable_only=NO
# 允许虚拟用户aiezuuser上传文件
anon_upload_enable=YES
# 允许虚拟用户创建目录
anon_mkdir_write_enable=YES
# 允许虚拟用户aiezuuser执行其他操作(如改名、删除)
anon_other_write_enable=YES
# 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
anon_umask=022
# 指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
local_root=/ftproot/aiezuuser/

9、重启vsftpd服务:
service vsftpd restart
 
10、使用虚拟用户aiezuuser和密码aiezu123进行连接vsftpd测试: 
[root@S2 ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): aiezuuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir aa
257 "/aa" created
ftp> mkdir bb
257 "/bb" created
ftp> ls
227 Entering Passive Mode (106,14,37,132,129,241).
150 Here comes the directory listing.
drwx------ 2 1000 1000 4096 Mar 25 14:36 aa
drwx------ 2 1000 1000 4096 Mar 25 14:36 bb
226 Directory send OK.
 

七、常见问题:

问题一:连接到vsftpd服务器时,提示:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
解决方法:请参考http://aiezu.com/question/112.html 
  

八、附录:

1、vsftpd相关目录和文件介绍:

  • /etc/vsftpd/vsftpd.conf:vsftpd服务主配置文件;
  • /etc/vsftpd/ftpusers:设置不允许访问ftp服务的系统用户(黑名单),一行一个用户名;
  • /etc/vsftpd/user_list:用于设置允许或禁止访问vsftpd服务的系统用户名单,主配置文件的“userlist_enable”参数决定此名单是否生效,“userlist_deny”参数决定此名单是黑名单还是白名单;
  • /etc/pam.d/vsftpd:vsftpd的pam模块的配置文件,用来认证身份和阻止特定用户;
  • /usr/sbin/vsftpd:vsftpd的主要执行文件;
  • /var/ftp:vsftpd的默认匿名用户登录的根目录。
 

2、主配置文件vsftpd.conf相关参数介绍:

  vsftpd的配置参数很多,我们可以通过man 5 vsftpd.conf命令获取到vsftpd.conf配置文件的详细帮助信息。下面介绍一些vsftpd常用的参数。
①. vsftpd服务全局相关参数:
参数描述
connect_from_port_20=YES|NO是否使用20号端口做为ftp-data的端口号
listen_port=21设置vsftpd服务监听的端口号
listen=YES|NO设置vsftpd是否stand alone方式启动
pasv_enable=YES|NO是否开启被动模式
pasv_max_port=0
pasv_min_port=0
设置被动模式(passive mode)使用的端口范围,为0时不受限制
max_Clients=0当vsftpd以stand alone运行时,用来设置最大同时在线数
max_per_ip=0用于设置同一IP允许的同时最大连接数
idle_session_timeout=300如果用户300秒内没有命令操作,则强制离线
ftpd_banner="欢迎信息"
banner_file=/path/file
通过字符串或者文件的方式设置连接到vsftpd服务器时的欢迎信息
dirmessange_enable=YES|NO
message_file=.message
配置ftp进入目录时显示目录下某个文件的内容做为提示信息
ascii_download_enable=YES|NO
ascii_upload_enable=YES|NO
是否允许ascii方式传输
xferlog_enable=YES|NO
xferlog_file=/var/log/vsftpd.log
是否记录用户下载上传的文件
②. vsftpd用户、权限相关参数:
参数描述
write_enable=YES|NO用来设置是否允许用户上传文件
guest_username=ftp指定来宾用户身份的用户名
guest_enable=YES|NO是否将非匿名用户映射成来宾用户。
local_enable=YES|NO是否允许/etc/passwd中的用户以实体用户的身份登录到ftp服务器。
local_max_rate=0设置最大传输速度,单位为bytes/s
chroot_local_user=YES|NO
chroot_list_enable=YES|NO
chroot_list_file=/etc/vsftpd/chroot_list
用来设置哪些用户被限制在自己的目录内无法离开
allow_writeable_chroot=YES|NO启用chroot时用户根目录是否允许写入,默认否
userlist_enable=YES|NO
userlist_deny=YES|NO
userlist_file=/etc/vsftpd/user_list
用来阻止或者允许相关用户登录到vsftpd服务器;  
userlist_file:指定允许或禁止访问vsftpd服务的系统用户名单文件;
userlist_enable:决定名单是否生效;
userlist_deny:决定此名单是黑名单还是白名单;
anonymous_enable=YES|NO是否允许anonymouns用户登录到vsftpd服务器
anon_root=/var/ftp设置匿名用户根目录
anon_world_readable_only=YES|NO匿名用户是否只允许下载可读的文件
anon_mkdir_write_enable=YES|NO
anon_upload_enable=YES|NO
anon_other_write_enable=YES|NO
设置匿名用户的写入权限
no_anon_password=YES|NOanonymous登录时是否可以省略密码。
(匿名用户使用用户名“anonymous”,密码使用任意包含“@”字符的字符串登陆)
anon_max_rate=0设置anonymous的最大传输速度。
anon_umask=077anonymous用户上传文件的权限掩码。

百度云CentOS 7.2(7.1.1511)下载合集

CentOSliuliangsong 发表了文章 • 0 个评论 • 1865 次浏览 • 2016-11-03 11:08 • 来自相关话题

  CentOS 7.2(7.1.1511)百度云下载,都是64位的,现在官方只发不了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:CentOS-7.2-x86_64-DVD-1511.iso(DVD版标准版)CentOS-7.2-x86_64-Everything-1511.iso(完整版)CentOS-7.2-x86_64-LiveGNOME-1511.iso(GNOME桌面版)CentOS-7.2-x86_64-LiveKDE-1511.iso(Kde桌面版)CentOS-7.2-x86_64-Minimal-1511.isoo(精简版)CentOS-7.2-x86_64-NetInstall-1511.iso(网络安装版)  
 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:CentOS 7.2下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 查看全部
  CentOS 7.2(7.1.1511)百度云下载,都是64位的,现在官方只发不了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:
  • CentOS-7.2-x86_64-DVD-1511.iso(DVD版标准版)
  • CentOS-7.2-x86_64-Everything-1511.iso(完整版)
  • CentOS-7.2-x86_64-LiveGNOME-1511.iso(GNOME桌面版)
  • CentOS-7.2-x86_64-LiveKDE-1511.iso(Kde桌面版)
  • CentOS-7.2-x86_64-Minimal-1511.isoo(精简版)
  • CentOS-7.2-x86_64-NetInstall-1511.iso(网络安装版)  

 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:CentOS 7.2下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

百度云CentOS 7.1(7.1.1503)下载合集

CentOSliuliangsong 发表了文章 • 0 个评论 • 825 次浏览 • 2016-11-03 09:33 • 来自相关话题

  CentOS 7.1(7.1.1503)百度云下载,都是64位的,现在官方只发不了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:CentOS-7.1-x86_64-DVD-1503-01.iso(DVD版标准版)CentOS-7.1-x86_64-Everything-1503-01.iso(完整版)CentOS-7.1-x86_64-LiveCD-1503.iso(光盘运行版)CentOS-7.1-x86_64-LiveGNOME-1503.iso(GNOME桌面版)CentOS-7.1-x86_64-LiveKDE-1503.iso(Kde桌面版)CentOS-7.1-x86_64-Minimal-1503-01.iso(精简版)CentOS-7.1-x86_64-NetInstall-1503.iso(网络安装版) 
 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1qYaWelQ
x百度云下载地址二:CentOS 7.1下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 查看全部
  CentOS 7.1(7.1.1503)百度云下载,都是64位的,现在官方只发不了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:
  • CentOS-7.1-x86_64-DVD-1503-01.iso(DVD版标准版)
  • CentOS-7.1-x86_64-Everything-1503-01.iso(完整版)
  • CentOS-7.1-x86_64-LiveCD-1503.iso(光盘运行版)
  • CentOS-7.1-x86_64-LiveGNOME-1503.iso(GNOME桌面版)
  • CentOS-7.1-x86_64-LiveKDE-1503.iso(Kde桌面版)
  • CentOS-7.1-x86_64-Minimal-1503-01.iso(精简版)
  • CentOS-7.1-x86_64-NetInstall-1503.iso(网络安装版) 

 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1qYaWelQ
x百度云下载地址二:CentOS 7.1下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

百度云CentOS 7.0(7.0.1406)下载合集

CentOSliuliangsong 发表了文章 • 0 个评论 • 896 次浏览 • 2016-11-02 20:33 • 来自相关话题

  CentOS 7.0(7.0.1406)百度云下载,都是64位的,现在官方只发布了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:CentOS-7.0-1406-x86_64-DVD.iso(DVD版标准版)CentOS-7.0-1406-x86_64-Everything.iso(完整版)CentOS-7.0-1406-x86_64-GnomeLive.iso(GNOME桌面版)CentOS-7.0-1406-x86_64-KdeLive.iso(Kde桌面版)CentOS-7.0-1406-x86_64-livecd.iso(光盘运行版,这个百度云禁止分享)CentOS-7.0-1406-x86_64-Minimal.iso(精简版)CentOS-7.0-1406-x86_64-NetInstall.iso(网络安装版)
 
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1nu7VYvZ
x百度云下载地址二:CentOS 7.0下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxx 查看全部
  CentOS 7.0(7.0.1406)百度云下载,都是64位的,现在官方只发布了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:
  • CentOS-7.0-1406-x86_64-DVD.iso(DVD版标准版)
  • CentOS-7.0-1406-x86_64-Everything.iso(完整版)
  • CentOS-7.0-1406-x86_64-GnomeLive.iso(GNOME桌面版)
  • CentOS-7.0-1406-x86_64-KdeLive.iso(Kde桌面版)
  • CentOS-7.0-1406-x86_64-livecd.iso(光盘运行版,这个百度云禁止分享)
  • CentOS-7.0-1406-x86_64-Minimal.iso(精简版)
  • CentOS-7.0-1406-x86_64-NetInstall.iso(网络安装版)

 
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1nu7VYvZ
x百度云下载地址二:CentOS 7.0下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxx

CentOS7中查看系统版本信息

CentOSliuliangsong 发表了文章 • 0 个评论 • 3198 次浏览 • 2016-11-02 12:46 • 来自相关话题

1、使用“cat /etc/redhat-release”命令查看操作系统详细发行版本号:[root@aiezu.com ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core) 
2、版本号和位数:[root@aiezu.com ~]# rpm -q centos-release
centos-release-7-2.1511.el7.centos.2.10.x86_64 
3、“cat /proc/version”命令:[root@aiezu.com ~]# cat /proc/version
Linux version 3.10.0-327.36.3.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #1 SMP Mon Oct 24 16:09:20 UTC 2016 
4、使用“lsb_release”命令:[root@aiezu.com ~]# yum -y install redhat-lsb
[root@aiezu.com ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core 
5、使用“cat /etc/os-release”命令:[root@aiezu.com ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7" 
6、使用“uname”命令查看内核版本:[root@aiezu.com ~]# uname -a
Linux aiezu.com 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 查看全部
1、使用“cat /etc/redhat-release”命令查看操作系统详细发行版本号:
[root@aiezu.com ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
 
2、版本号和位数:
[root@aiezu.com ~]# rpm -q centos-release
centos-release-7-2.1511.el7.centos.2.10.x86_64
 
3、“cat /proc/version”命令:
[root@aiezu.com ~]# cat /proc/version
Linux version 3.10.0-327.36.3.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #1 SMP Mon Oct 24 16:09:20 UTC 2016
 
4、使用“lsb_release”命令:
[root@aiezu.com ~]# yum -y install redhat-lsb
[root@aiezu.com ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core
 
5、使用“cat /etc/os-release”命令:
[root@aiezu.com ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
 
6、使用“uname”命令查看内核版本:
[root@aiezu.com ~]# uname -a
Linux aiezu.com 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

CentOS 7上如何修改主机名?

CentOSliuliangsong 发表了文章 • 0 个评论 • 1023 次浏览 • 2016-11-02 10:47 • 来自相关话题

  在CentOS 7中,修改主机名的方法和以前版本已经不同、CentOS 7引入了全新的主机名体系。CentOS 7定义了三种主机名:静态的(static)、瞬态的(transient)、和灵活的(pretty)。
“静态”主机名也称为“内核主机名”,是系统在启动时自动从“/etc/hostname”文件初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名。如由“DHCP”或“mDNS”服务器分配。“灵活”主机名允许使用特殊字符(包括空格)的主机名,而其他两种都必须遵从“互联网域名”字符限制规则。
 
一、查看主机名:
  可以使用“hostnamectl status --static|transient|pretty”(三个参数选一个)分别查看对应类型的主机名:hostnamectl status --static #查看静态主机名
hostnamectl status --transient #查看瞬态主机
hostnamectl status --pretty #查看灵活主机名
二、修改主机名:
1、同时修改三种类型的主机名:
  我们这里先将主机名设置成本站的域名“aiezu.com”(爱E族),并在“aiezu.com”前后加上一个特殊字符,使用“%aiezu.com%”做为主机名。修改后,再分别查看三种类型修改后的主机名。hostnamectl set-hostname %Aiezu.com%
#查看修改后的状态:
hostnamectl status --static
#aiezu.com
hostnamectl status --transient
#aiezu.com
hostnamectl status --pretty
#%Aiezu.com%从上面可以看出,前面两种主机名中的特殊字符被删除,大写字母被转变为小写,只有最后的灵活主机名保留了原来的完整主机名字符串。
 
2、分别修改三种类型的主机名:
  如果只希望分别修改三种类型的主机名,可以这样修改:#修改静态主机名
hostnamectl set-hostname --static aiezu.com

#修改瞬态主机
hostnamectl set-hostname --transient aiezu.com

#修改灵活主机名
hostnamectl set-hostname --pretty aiezu.com
 3、更新hosts文件:
修改主机名后需要更新“/etc/hosts”文件,否则系统无法根据设置的主机名找到是本机“127.0.0.1”。127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6修改为:127.0.0.1 aiezu.com localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 aiezu.com localhost localhost.localdomain localhost6 localhost6.localdomain6 
三、修改后效果:
1、命令提示符效果:
  设置主机名后,无需重启,使用“su -”重新登录后、就能在命令提示符上看到主机名(命令提示符使用的是“静态主”机名)。我们设置的是域名“aiezu.com”做为主机名,所以只会显示域名的主机名部分。[root@localhost ~]# hostnamectl set-hostname aiezu.com
[root@localhost ~]# su -
上一次登录:三 11月 2 02:17:43 CST 2016从 10.0.0.52pts/0 上
[root@aiezu ~]#2、hostname命令:[root@aiezu ~]# hostname
aiezu.com3、“/etc/hostname”文件:[root@aiezu ~]# cat /etc/hostname
aiezu.com 
四、总结:
介绍那么多,CentOS 7修改主机名,就一条命令,再修改“/etc/hosts”文件就行:hostnamectl set-hostname aiezu.com
# su - 查看全部
  在CentOS 7中,修改主机名的方法和以前版本已经不同、CentOS 7引入了全新的主机名体系。CentOS 7定义了三种主机名:静态的(static)、瞬态的(transient)、和灵活的(pretty)。
  • “静态”主机名也称为“内核主机名”,是系统在启动时自动从“/etc/hostname”文件初始化的主机名。
  • “瞬态”主机名是在系统运行时临时分配的主机名。如由“DHCP”或“mDNS”服务器分配。
  • “灵活”主机名允许使用特殊字符(包括空格)的主机名,而其他两种都必须遵从“互联网域名”字符限制规则。

 
一、查看主机名:
  可以使用“hostnamectl status --static|transient|pretty”(三个参数选一个)分别查看对应类型的主机名:
hostnamectl status --static #查看静态主机名
hostnamectl status --transient #查看瞬态主机
hostnamectl status --pretty #查看灵活主机名

二、修改主机名:
1、同时修改三种类型的主机名:
  我们这里先将主机名设置成本站的域名“aiezu.com”(爱E族),并在“aiezu.com”前后加上一个特殊字符,使用“%aiezu.com%”做为主机名。修改后,再分别查看三种类型修改后的主机名。
hostnamectl set-hostname %Aiezu.com%
#查看修改后的状态:
hostnamectl status --static
#aiezu.com
hostnamectl status --transient
#aiezu.com
hostnamectl status --pretty
#%Aiezu.com%
从上面可以看出,前面两种主机名中的特殊字符被删除,大写字母被转变为小写,只有最后的灵活主机名保留了原来的完整主机名字符串。
 
2、分别修改三种类型的主机名:
  如果只希望分别修改三种类型的主机名,可以这样修改:
#修改静态主机名
hostnamectl set-hostname --static aiezu.com

#修改瞬态主机
hostnamectl set-hostname --transient aiezu.com

#修改灵活主机名
hostnamectl set-hostname --pretty aiezu.com

 3、更新hosts文件:
修改主机名后需要更新“/etc/hosts”文件,否则系统无法根据设置的主机名找到是本机“127.0.0.1”。
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
修改为:
127.0.0.1   aiezu.com localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 aiezu.com localhost localhost.localdomain localhost6 localhost6.localdomain6
 
三、修改后效果:
1、命令提示符效果:
  设置主机名后,无需重启,使用“su -”重新登录后、就能在命令提示符上看到主机名(命令提示符使用的是“静态主”机名)。我们设置的是域名“aiezu.com”做为主机名,所以只会显示域名的主机名部分。
[root@localhost ~]# hostnamectl set-hostname aiezu.com
[root@localhost ~]# su -
上一次登录:三 11月 2 02:17:43 CST 2016从 10.0.0.52pts/0 上
[root@aiezu ~]#
2、hostname命令:
[root@aiezu ~]# hostname
aiezu.com
3、“/etc/hostname”文件:
[root@aiezu ~]# cat /etc/hostname 
aiezu.com
 
四、总结:
介绍那么多,CentOS 7修改主机名,就一条命令,再修改“/etc/hosts”文件就行:
hostnamectl set-hostname aiezu.com
# su -

CentOS 7上如何修改主机名?

CentOSliuliangsong 发表了文章 • 0 个评论 • 1023 次浏览 • 2016-11-02 10:47 • 来自相关话题

  在CentOS 7中,修改主机名的方法和以前版本已经不同、CentOS 7引入了全新的主机名体系。CentOS 7定义了三种主机名:静态的(static)、瞬态的(transient)、和灵活的(pretty)。
“静态”主机名也称为“内核主机名”,是系统在启动时自动从“/etc/hostname”文件初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名。如由“DHCP”或“mDNS”服务器分配。“灵活”主机名允许使用特殊字符(包括空格)的主机名,而其他两种都必须遵从“互联网域名”字符限制规则。
 
一、查看主机名:
  可以使用“hostnamectl status --static|transient|pretty”(三个参数选一个)分别查看对应类型的主机名:hostnamectl status --static #查看静态主机名
hostnamectl status --transient #查看瞬态主机
hostnamectl status --pretty #查看灵活主机名
二、修改主机名:
1、同时修改三种类型的主机名:
  我们这里先将主机名设置成本站的域名“aiezu.com”(爱E族),并在“aiezu.com”前后加上一个特殊字符,使用“%aiezu.com%”做为主机名。修改后,再分别查看三种类型修改后的主机名。hostnamectl set-hostname %Aiezu.com%
#查看修改后的状态:
hostnamectl status --static
#aiezu.com
hostnamectl status --transient
#aiezu.com
hostnamectl status --pretty
#%Aiezu.com%从上面可以看出,前面两种主机名中的特殊字符被删除,大写字母被转变为小写,只有最后的灵活主机名保留了原来的完整主机名字符串。
 
2、分别修改三种类型的主机名:
  如果只希望分别修改三种类型的主机名,可以这样修改:#修改静态主机名
hostnamectl set-hostname --static aiezu.com

#修改瞬态主机
hostnamectl set-hostname --transient aiezu.com

#修改灵活主机名
hostnamectl set-hostname --pretty aiezu.com
 3、更新hosts文件:
修改主机名后需要更新“/etc/hosts”文件,否则系统无法根据设置的主机名找到是本机“127.0.0.1”。127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6修改为:127.0.0.1 aiezu.com localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 aiezu.com localhost localhost.localdomain localhost6 localhost6.localdomain6 
三、修改后效果:
1、命令提示符效果:
  设置主机名后,无需重启,使用“su -”重新登录后、就能在命令提示符上看到主机名(命令提示符使用的是“静态主”机名)。我们设置的是域名“aiezu.com”做为主机名,所以只会显示域名的主机名部分。[root@localhost ~]# hostnamectl set-hostname aiezu.com
[root@localhost ~]# su -
上一次登录:三 11月 2 02:17:43 CST 2016从 10.0.0.52pts/0 上
[root@aiezu ~]#2、hostname命令:[root@aiezu ~]# hostname
aiezu.com3、“/etc/hostname”文件:[root@aiezu ~]# cat /etc/hostname
aiezu.com 
四、总结:
介绍那么多,CentOS 7修改主机名,就一条命令,再修改“/etc/hosts”文件就行:hostnamectl set-hostname aiezu.com
# su - 查看全部
  在CentOS 7中,修改主机名的方法和以前版本已经不同、CentOS 7引入了全新的主机名体系。CentOS 7定义了三种主机名:静态的(static)、瞬态的(transient)、和灵活的(pretty)。
  • “静态”主机名也称为“内核主机名”,是系统在启动时自动从“/etc/hostname”文件初始化的主机名。
  • “瞬态”主机名是在系统运行时临时分配的主机名。如由“DHCP”或“mDNS”服务器分配。
  • “灵活”主机名允许使用特殊字符(包括空格)的主机名,而其他两种都必须遵从“互联网域名”字符限制规则。

 
一、查看主机名:
  可以使用“hostnamectl status --static|transient|pretty”(三个参数选一个)分别查看对应类型的主机名:
hostnamectl status --static #查看静态主机名
hostnamectl status --transient #查看瞬态主机
hostnamectl status --pretty #查看灵活主机名

二、修改主机名:
1、同时修改三种类型的主机名:
  我们这里先将主机名设置成本站的域名“aiezu.com”(爱E族),并在“aiezu.com”前后加上一个特殊字符,使用“%aiezu.com%”做为主机名。修改后,再分别查看三种类型修改后的主机名。
hostnamectl set-hostname %Aiezu.com%
#查看修改后的状态:
hostnamectl status --static
#aiezu.com
hostnamectl status --transient
#aiezu.com
hostnamectl status --pretty
#%Aiezu.com%
从上面可以看出,前面两种主机名中的特殊字符被删除,大写字母被转变为小写,只有最后的灵活主机名保留了原来的完整主机名字符串。
 
2、分别修改三种类型的主机名:
  如果只希望分别修改三种类型的主机名,可以这样修改:
#修改静态主机名
hostnamectl set-hostname --static aiezu.com

#修改瞬态主机
hostnamectl set-hostname --transient aiezu.com

#修改灵活主机名
hostnamectl set-hostname --pretty aiezu.com

 3、更新hosts文件:
修改主机名后需要更新“/etc/hosts”文件,否则系统无法根据设置的主机名找到是本机“127.0.0.1”。
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
修改为:
127.0.0.1   aiezu.com localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 aiezu.com localhost localhost.localdomain localhost6 localhost6.localdomain6
 
三、修改后效果:
1、命令提示符效果:
  设置主机名后,无需重启,使用“su -”重新登录后、就能在命令提示符上看到主机名(命令提示符使用的是“静态主”机名)。我们设置的是域名“aiezu.com”做为主机名,所以只会显示域名的主机名部分。
[root@localhost ~]# hostnamectl set-hostname aiezu.com
[root@localhost ~]# su -
上一次登录:三 11月 2 02:17:43 CST 2016从 10.0.0.52pts/0 上
[root@aiezu ~]#
2、hostname命令:
[root@aiezu ~]# hostname
aiezu.com
3、“/etc/hostname”文件:
[root@aiezu ~]# cat /etc/hostname 
aiezu.com
 
四、总结:
介绍那么多,CentOS 7修改主机名,就一条命令,再修改“/etc/hosts”文件就行:
hostnamectl set-hostname aiezu.com
# su -

国内iphone ios app store审核ipv6被拒解决方案(IPv6隧道方式)

Objective-Cliuliangsong 发表了文章 • 0 个评论 • 1822 次浏览 • 2017-06-26 22:00 • 来自相关话题

  由于苹果的应用审核策略升级,自2016年6月1日起,提交新版本的APP需要支持IPV6-Only的网络才能通过审核。而目前国内99%的网络不支持IPV6,甚至国内最大的云平台阿里云,由于无可用IPV6网络,干脆禁用了云服务器的IPV6模块,可见苹果给国内开发者扔下一个大大的难题。
  下面以CentOS 7.2为例,通过ipv6通道的方式,解决ios ipv6审核拒解的难题。
  一、开启服务器的IPV6模块(阿里云):  由于阿里云禁用了云服务器ECS的IPV6模块,所有我们需要先开启它:
1、修改/etc/sysctl.conf中ipv6的配置,将下面三行值设置为0,如下所示:net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0  
2、注释掉/etc/modprobe.d/disable_ipv6.conf文件中的内容,或者直接删除此文件。#alias net-pf-10 off
#options ipv6 disable=0  
3、修改/etc/sysconfig/network中的配置项NETWORKING_IPV6值为YES:NETWORKING_IPV6=yes  
4、重启服务器,查看IPV6模块是否开启成功:init 6ifconfig |grep inet6  二、创建IPV6隧道:  这里使用免费又好用的网站https://www.tunnelbroker.net/来创建IPV6隧道,创建前需免费注册账号,创建完账号后,开始执行下面操作:
1、创建隧道:点击“Create Regular Tunnel”,进入”Create New Tunnel“页面;输入你的web服务器的公网IP地址,并选择合适的隧道服务器地址,选择之前最好先对服务器ip进行ping测试,选择丢包率和延迟较小的服务器来创建,这直接决定你将来通过审核的成功率,我这里选择的是香港(Hong Kong, HK);点击”Create Tunnel“完成创建。
  
2、创建完成后,点击"Example Configurations"选项卡,在下拉菜单中选择”Linux-net-tools“,然后复制代码,在web服务器中执行:


执行完成后,输出ifconfig命令,即可查看到创建隧道后,本地服务器的ipv6地址:



 
3、至此,web服务器已经通过隧道的方式接入到IPV6网络了,可以使用ping6命令进行测试: ping6 ipv6.baidu.com
ping6 ipv6.google.com  三、开启Web服务的IPV6支持:1、apache修改配置文件,将Listen行修改为如下(vim /etc/httpd/conf/httpd.conf):Listen [::]:80  
2、nginx修改配置文件,将Listen行修改为如下:listen [::]:80;  四、添加域名的IPV6记录( aaaa记录):  在域名注册商网站,登录到域名管理后台,添加一条aaaa记录,记录名与ipv4名相同,记录值为上面web服务器的IPV6地址"2001:470:35:7ea::2"。如域名商不支持aaaa记录,可以将NS服务修改为DNSPOD的NS服务器,到dnspod上去进行添加。
  五、在线测试网站的IPV6支持:  打开网站http://ipv6-test.com/validate.php,输入域名进行测试,如前面两项校验通过,即可将app提交审核啦,欢迎留言交流。 查看全部
  由于苹果的应用审核策略升级,自2016年6月1日起,提交新版本的APP需要支持IPV6-Only的网络才能通过审核。而目前国内99%的网络不支持IPV6,甚至国内最大的云平台阿里云,由于无可用IPV6网络,干脆禁用了云服务器的IPV6模块,可见苹果给国内开发者扔下一个大大的难题。
  下面以CentOS 7.2为例,通过ipv6通道的方式,解决ios ipv6审核拒解的难题。
  

一、开启服务器的IPV6模块(阿里云):

  由于阿里云禁用了云服务器ECS的IPV6模块,所有我们需要先开启它:
1、修改/etc/sysctl.conf中ipv6的配置,将下面三行值设置为0,如下所示:
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
  
2、注释掉/etc/modprobe.d/disable_ipv6.conf文件中的内容,或者直接删除此文件。
#alias net-pf-10 off
#options ipv6 disable=0
  
3、修改/etc/sysconfig/network中的配置项NETWORKING_IPV6值为YES:
NETWORKING_IPV6=yes
  
4、重启服务器,查看IPV6模块是否开启成功:
init 6
ifconfig |grep inet6
  

二、创建IPV6隧道:

  这里使用免费又好用的网站https://www.tunnelbroker.net/来创建IPV6隧道,创建前需免费注册账号,创建完账号后,开始执行下面操作:
1、创建隧道:
  1. 点击“Create Regular Tunnel”,进入”Create New Tunnel“页面;
  2. 输入你的web服务器的公网IP地址,并选择合适的隧道服务器地址,选择之前最好先对服务器ip进行ping测试,选择丢包率和延迟较小的服务器来创建,这直接决定你将来通过审核的成功率,我这里选择的是香港(Hong Kong, HK);
  3. 点击”Create Tunnel“完成创建。

  
2、创建完成后,点击"Example Configurations"选项卡,在下拉菜单中选择”Linux-net-tools“,然后复制代码,在web服务器中执行:
详解通过ipv6隧道的方式解决ios_ipv6审核被拒.png
执行完成后,输出ifconfig命令,即可查看到创建隧道后,本地服务器的ipv6地址:
详解通过ipv6隧道的方式解决ios_ipv6审核被拒_02.png

 
3、至此,web服务器已经通过隧道的方式接入到IPV6网络了,可以使用ping6命令进行测试: 
ping6 ipv6.baidu.com
ping6 ipv6.google.com
  

三、开启Web服务的IPV6支持:

1、apache修改配置文件,将Listen行修改为如下(vim /etc/httpd/conf/httpd.conf):
Listen [::]:80
  
2、nginx修改配置文件,将Listen行修改为如下:
listen       [::]:80;
  

四、添加域名的IPV6记录( aaaa记录):

  在域名注册商网站,登录到域名管理后台,添加一条aaaa记录,记录名与ipv4名相同,记录值为上面web服务器的IPV6地址"2001:470:35:7ea::2"。如域名商不支持aaaa记录,可以将NS服务修改为DNSPOD的NS服务器,到dnspod上去进行添加。
  

五、在线测试网站的IPV6支持:

  打开网站http://ipv6-test.com/validate.php,输入域名进行测试,如前面两项校验通过,即可将app提交审核啦,欢迎留言交流。

CentOS 7 使用Yum方式安装配置vsftpd服务

CentOSllslx520 发表了文章 • 0 个评论 • 2279 次浏览 • 2017-03-24 18:21 • 来自相关话题

  ftp是我们最常用的网络协议之一,用于方便的在网络中传输文件。vsftp是Linux平台轻量级的ftp服务软件,它小巧轻快、简单易用。本文介绍CentOS 7下使用yum安装配置vsftpd服务器,包括匿名登录方式、系统用户登录方式和虚拟用户登录三种登录方式的vsftpd服务配置。本文也适用于RHEL、Fedora、Oracle Linux 等其它Linux Redhat发行版本。一、实验环境:操作系统: CentOS Linux release 7.2.1511 (Core)CPU构架:x86_64 Vsftpd版本:vsftpd-3.0.2-21.el7 二、安装准备:1、关闭SELINUX:  SELINUX为Linux提供安全强化同时,也让Linux服务安装变得更复杂。未正确的为相关服务配置SELINUX,将导致服务无法正常运行。所以对于初学者来说,建议关闭SELINUX。vim /etc/selinux/config:#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加保存退出后,执行“setenforce 0”命令使配置立生效:setenforce 0 三、安装vsftpd服务:1、使用安装yum安装vsftpd:  使用“yum -y install vsftpd ”命令,会自动安装vsftpd命令和相关依赖包:yum -y install vsftpd2、备份vsftpd配置文件:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 四、方案一,配置匿名访问的vsftpd服务:1、配置vsftpd.conf文件:#允许匿名用户访问
anonymous_enable=YES
#禁止本地用户访问
local_enable=NO
#允许匿名用户创建目录
anon_mkdir_write_enable=YES
#允许匿名用户上传文件
anon_upload_enable=YES
#允许匿名用户执行其他写入操作,如删除
anon_other_write_enable=YES
#设置匿名用户根目录
anon_root=/ftp2、创建匿名用户目录:# /ftp/pub目录可写,/ftp目录不可写
mkdir -p /ftp/pub
chown -R ftp.ftp /ftp
chmod a-w /ftp3、启动vsftpd服务:[root@aiezu.com vsftpd]# service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service4、测试:在另外一台服务器上连接ftp进行测试,使用匿名用户“anonymous”和任意包含"@"字符串的密码进行连接:[root@aiezu.com ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (106,14,37,132,180,191).
150 Here comes the directory listing.
drwxr-xr-x 2 14 50 4096 Mar 24 15:01 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir ok
257 "/pub/ok" created
ftp> rm ok
250 Remove directory operation successful. 五、方案二,配置本地用户(系统)访问的vsftpd服务:1、配置主配置文件vsftpd.conf:#禁止匿名用户访问
anonymous_enable=NO
#允许本地用户访问
local_enable=YES
#允许写入操作
write_enable=YES
#禁止用户离开自己的用户根目录
chroot_local_user=YES
#启用用户名单列表
userlist_enable=YES
#设置用户名单列表为白名单(只允许名单中的用户连接到vsftpd)
userlist_deny=NO
#设置用户名单列表文件名
userlist_file=/etc/vsftpd/user_allow2、添加测试用户和设置权限:  添加用户testuser,设置密码后,添加到"/etc/vsftpd/user_allow"文件,并重启vsftpd服务:[root@aiezu.com ~]# mkdir -p /ftproot/testuser
[root@aiezu.com ~]# useradd -d /ftproot testuser -s /sbin/nologin
[root@aiezu.com ~]# chown -R testuser.testuser /ftproot/testuser
[root@aiezu.com ~]# chmod a-w /ftproot
[root@aiezu.com ~]# passwd testuser
Changing password for user testuser.
New password: (这里输入密码)
passwd: all authentication tokens updated successfully.
[root@aiezu.com ~]# echo "testuser" >> /etc/vsftpd/user_allow3、重启vsftpd服务:[root@aiezu.com ~]# service vsftpd restart
Redirecting to /bin/systemctl restart vsftpd.service4、测试:  在另外一台服务器上连接ftp进行测试,使用本地用户“testuser”和你设置的密码进行连接:[root@s2 ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): testuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (106,14,37,132,223,218).
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 4096 Mar 25 12:56 testuser
226 Directory send OK.
ftp> mkdir aa
550 Create directory operation failed.
ftp> cd testuser
250 Directory successfully changed.
ftp> mkdir aa
257 "/testuser/aa" created
ftp> dir
227 Entering Passive Mode (106,14,37,132,89,105).
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 4096 Mar 25 12:58 aa
226 Directory send OK. 六、方案三,配置虚拟用户访问的vsftpd服务(推荐方式):1、创建虚拟用户密码文件,奇数行为用户名,偶数行为密码:touch /etc/vsftpd/vir_user.txt
echo -e "aiezuuser\naiezu123" >> /etc/vsftpd/vir_user.txt
2、生成虚拟用户数据库:yum -y install libdb-utils
db_load -T -t hash -f /etc/vsftpd/vir_user.txt /etc/vsftpd/vir_user.db
3、配置vsftpd pam验证文件/etc/pam.d/vsftpd:mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
cat <<END > /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vir_user
account required pam_userdb.so db=/etc/vsftpd/vir_user
END
4、修改虚拟数据库文件vir_user.db的权限为700:chmod 700 /etc/vsftpd/vir_user.db
5、增加一个系统用户virftp ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作:
mkdir /ftprootuseradd -d /ftproot virftp -s /sbin/nologin
chown -R virftp.virftp /ftproot
6、设置vsftpd主配置文件/etc/vsftpd/vsftpd.conf:#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#启用虚拟账户
guest_enable=YES
#把虚拟账户映射到系统账户virftp
guest_username=virftp
#使用虚拟用户验证(PAM验证)
pam_service_name=vsftpd
#设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#启用chroot时,虚拟用户根目录允许写入
allow_writeable_chroot=YES
7、设置虚拟用户各自的配置文件:mkdir /etc/vsftpd/vsftpd_viruser/
#配置文件名同虚拟账户名
touch /etc/vsftpd/vsftpd_viruser/aiezuuser
mkdir -p /ftproot/aiezuuser/
chown -R virftp.virftp /ftproot/aiezuuser/
8、在虚拟用户 aiezuuser 的配置文件中写入如下配置/etc/vsftpd/vsftpd_viruser/aiezuuser:# 允许写入
write_enable=YES
#允许浏览FTP目录和下载
anon_world_readable_only=NO
# 允许虚拟用户aiezuuser上传文件
anon_upload_enable=YES
# 允许虚拟用户创建目录
anon_mkdir_write_enable=YES
# 允许虚拟用户aiezuuser执行其他操作(如改名、删除)
anon_other_write_enable=YES
# 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
anon_umask=022
# 指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
local_root=/ftproot/aiezuuser/
9、重启vsftpd服务:service vsftpd restart 
10、使用虚拟用户aiezuuser和密码aiezu123进行连接vsftpd测试: [root@S2 ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): aiezuuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir aa
257 "/aa" created
ftp> mkdir bb
257 "/bb" created
ftp> ls
227 Entering Passive Mode (106,14,37,132,129,241).
150 Here comes the directory listing.
drwx------ 2 1000 1000 4096 Mar 25 14:36 aa
drwx------ 2 1000 1000 4096 Mar 25 14:36 bb
226 Directory send OK. 七、常见问题:问题一:连接到vsftpd服务器时,提示:500 OOPS: vsftpd: refusing to run with writable root inside chroot()解决方法:请参考http://aiezu.com/question/112.html 
  八、附录:1、vsftpd相关目录和文件介绍:/etc/vsftpd/vsftpd.conf:vsftpd服务主配置文件;/etc/vsftpd/ftpusers:设置不允许访问ftp服务的系统用户(黑名单),一行一个用户名;/etc/vsftpd/user_list:用于设置允许或禁止访问vsftpd服务的系统用户名单,主配置文件的“userlist_enable”参数决定此名单是否生效,“userlist_deny”参数决定此名单是黑名单还是白名单;/etc/pam.d/vsftpd:vsftpd的pam模块的配置文件,用来认证身份和阻止特定用户;/usr/sbin/vsftpd:vsftpd的主要执行文件;/var/ftp:vsftpd的默认匿名用户登录的根目录。 2、主配置文件vsftpd.conf相关参数介绍:  vsftpd的配置参数很多,我们可以通过man 5 vsftpd.conf命令获取到vsftpd.conf配置文件的详细帮助信息。下面介绍一些vsftpd常用的参数。
①. vsftpd服务全局相关参数:参数描述connect_from_port_20=YES|NO是否使用20号端口做为ftp-data的端口号listen_port=21设置vsftpd服务监听的端口号listen=YES|NO设置vsftpd是否stand alone方式启动pasv_enable=YES|NO是否开启被动模式pasv_max_port=0
pasv_min_port=0设置被动模式(passive mode)使用的端口范围,为0时不受限制max_Clients=0当vsftpd以stand alone运行时,用来设置最大同时在线数max_per_ip=0用于设置同一IP允许的同时最大连接数idle_session_timeout=300如果用户300秒内没有命令操作,则强制离线ftpd_banner="欢迎信息"
banner_file=/path/file通过字符串或者文件的方式设置连接到vsftpd服务器时的欢迎信息dirmessange_enable=YES|NO
message_file=.message配置ftp进入目录时显示目录下某个文件的内容做为提示信息ascii_download_enable=YES|NO
ascii_upload_enable=YES|NO是否允许ascii方式传输xferlog_enable=YES|NO
xferlog_file=/var/log/vsftpd.log是否记录用户下载上传的文件②. vsftpd用户、权限相关参数:参数描述write_enable=YES|NO用来设置是否允许用户上传文件guest_username=ftp指定来宾用户身份的用户名guest_enable=YES|NO是否将非匿名用户映射成来宾用户。local_enable=YES|NO是否允许/etc/passwd中的用户以实体用户的身份登录到ftp服务器。local_max_rate=0设置最大传输速度,单位为bytes/schroot_local_user=YES|NO
chroot_list_enable=YES|NO
chroot_list_file=/etc/vsftpd/chroot_list用来设置哪些用户被限制在自己的目录内无法离开allow_writeable_chroot=YES|NO启用chroot时用户根目录是否允许写入,默认否userlist_enable=YES|NO
userlist_deny=YES|NO
userlist_file=/etc/vsftpd/user_list用来阻止或者允许相关用户登录到vsftpd服务器;  
userlist_file:指定允许或禁止访问vsftpd服务的系统用户名单文件;
userlist_enable:决定名单是否生效;
userlist_deny:决定此名单是黑名单还是白名单;anonymous_enable=YES|NO是否允许anonymouns用户登录到vsftpd服务器anon_root=/var/ftp设置匿名用户根目录anon_world_readable_only=YES|NO匿名用户是否只允许下载可读的文件anon_mkdir_write_enable=YES|NO
anon_upload_enable=YES|NO
anon_other_write_enable=YES|NO设置匿名用户的写入权限no_anon_password=YES|NOanonymous登录时是否可以省略密码。
(匿名用户使用用户名“anonymous”,密码使用任意包含“@”字符的字符串登陆)anon_max_rate=0设置anonymous的最大传输速度。anon_umask=077anonymous用户上传文件的权限掩码。 查看全部
  ftp是我们最常用的网络协议之一,用于方便的在网络中传输文件。vsftp是Linux平台轻量级的ftp服务软件,它小巧轻快、简单易用。本文介绍CentOS 7下使用yum安装配置vsftpd服务器,包括匿名登录方式、系统用户登录方式和虚拟用户登录三种登录方式的vsftpd服务配置。本文也适用于RHEL、Fedora、Oracle Linux 等其它Linux Redhat发行版本。

一、实验环境:

 

二、安装准备:

1、关闭SELINUX:

  SELINUX为Linux提供安全强化同时,也让Linux服务安装变得更复杂。未正确的为相关服务配置SELINUX,将导致服务无法正常运行。所以对于初学者来说,建议关闭SELINUX。vim /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
保存退出后,执行“setenforce 0”命令使配置立生效:
setenforce 0
 

三、安装vsftpd服务:

1、使用安装yum安装vsftpd:

  使用“yum -y install vsftpd ”命令,会自动安装vsftpd命令和相关依赖包:
yum -y install vsftpd

2、备份vsftpd配置文件:

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
 

四、方案一,配置匿名访问的vsftpd服务:

1、配置vsftpd.conf文件:

#允许匿名用户访问
anonymous_enable=YES
#禁止本地用户访问
local_enable=NO
#允许匿名用户创建目录
anon_mkdir_write_enable=YES
#允许匿名用户上传文件
anon_upload_enable=YES
#允许匿名用户执行其他写入操作,如删除
anon_other_write_enable=YES
#设置匿名用户根目录
anon_root=/ftp

2、创建匿名用户目录:

# /ftp/pub目录可写,/ftp目录不可写
mkdir -p /ftp/pub
chown -R ftp.ftp /ftp
chmod a-w /ftp

3、启动vsftpd服务:

[root@aiezu.com vsftpd]# service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service

4、测试:

在另外一台服务器上连接ftp进行测试,使用匿名用户“anonymous”和任意包含"@"字符串的密码进行连接:
[root@aiezu.com ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (106,14,37,132,180,191).
150 Here comes the directory listing.
drwxr-xr-x 2 14 50 4096 Mar 24 15:01 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir ok
257 "/pub/ok" created
ftp> rm ok
250 Remove directory operation successful.
 

五、方案二,配置本地用户(系统)访问的vsftpd服务:

1、配置主配置文件vsftpd.conf:

#禁止匿名用户访问
anonymous_enable=NO
#允许本地用户访问
local_enable=YES
#允许写入操作
write_enable=YES
#禁止用户离开自己的用户根目录
chroot_local_user=YES
#启用用户名单列表
userlist_enable=YES
#设置用户名单列表为白名单(只允许名单中的用户连接到vsftpd)
userlist_deny=NO
#设置用户名单列表文件名
userlist_file=/etc/vsftpd/user_allow

2、添加测试用户和设置权限:

  添加用户testuser,设置密码后,添加到"/etc/vsftpd/user_allow"文件,并重启vsftpd服务:
[root@aiezu.com ~]# mkdir -p /ftproot/testuser
[root@aiezu.com ~]# useradd -d /ftproot testuser -s /sbin/nologin
[root@aiezu.com ~]# chown -R testuser.testuser /ftproot/testuser
[root@aiezu.com ~]# chmod a-w /ftproot
[root@aiezu.com ~]# passwd testuser
Changing password for user testuser.
New password: (这里输入密码)
passwd: all authentication tokens updated successfully.
[root@aiezu.com ~]# echo "testuser" >> /etc/vsftpd/user_allow

3、重启vsftpd服务:

[root@aiezu.com ~]# service vsftpd restart
Redirecting to /bin/systemctl restart vsftpd.service

4、测试:

  在另外一台服务器上连接ftp进行测试,使用本地用户“testuser”和你设置的密码进行连接:
[root@s2 ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): testuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (106,14,37,132,223,218).
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 4096 Mar 25 12:56 testuser
226 Directory send OK.
ftp> mkdir aa
550 Create directory operation failed.
ftp> cd testuser
250 Directory successfully changed.
ftp> mkdir aa
257 "/testuser/aa" created
ftp> dir
227 Entering Passive Mode (106,14,37,132,89,105).
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 4096 Mar 25 12:58 aa
226 Directory send OK.
 

六、方案三,配置虚拟用户访问的vsftpd服务(推荐方式):

1、创建虚拟用户密码文件,奇数行为用户名,偶数行为密码:
touch /etc/vsftpd/vir_user.txt
echo -e "aiezuuser\naiezu123" >> /etc/vsftpd/vir_user.txt

2、生成虚拟用户数据库:
yum -y install libdb-utils 
db_load -T -t hash -f /etc/vsftpd/vir_user.txt /etc/vsftpd/vir_user.db

3、配置vsftpd pam验证文件/etc/pam.d/vsftpd:
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
cat <<END > /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vir_user
account required pam_userdb.so db=/etc/vsftpd/vir_user
END

4、修改虚拟数据库文件vir_user.db的权限为700:
chmod 700 /etc/vsftpd/vir_user.db

5、增加一个系统用户virftp ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作:
mkdir /ftproot
useradd -d /ftproot virftp -s /sbin/nologin
chown -R virftp.virftp /ftproot

6、设置vsftpd主配置文件/etc/vsftpd/vsftpd.conf:
#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#启用虚拟账户
guest_enable=YES
#把虚拟账户映射到系统账户virftp
guest_username=virftp
#使用虚拟用户验证(PAM验证)
pam_service_name=vsftpd
#设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#启用chroot时,虚拟用户根目录允许写入
allow_writeable_chroot=YES

7、设置虚拟用户各自的配置文件:
mkdir /etc/vsftpd/vsftpd_viruser/
#配置文件名同虚拟账户名
touch /etc/vsftpd/vsftpd_viruser/aiezuuser
mkdir -p /ftproot/aiezuuser/
chown -R virftp.virftp /ftproot/aiezuuser/

8、在虚拟用户 aiezuuser 的配置文件中写入如下配置/etc/vsftpd/vsftpd_viruser/aiezuuser:
# 允许写入
write_enable=YES
#允许浏览FTP目录和下载
anon_world_readable_only=NO
# 允许虚拟用户aiezuuser上传文件
anon_upload_enable=YES
# 允许虚拟用户创建目录
anon_mkdir_write_enable=YES
# 允许虚拟用户aiezuuser执行其他操作(如改名、删除)
anon_other_write_enable=YES
# 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
anon_umask=022
# 指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
local_root=/ftproot/aiezuuser/

9、重启vsftpd服务:
service vsftpd restart
 
10、使用虚拟用户aiezuuser和密码aiezu123进行连接vsftpd测试: 
[root@S2 ~]# ftp xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx).
220 (vsFTPd 3.0.2)
Name (yyy.yyy.yyy.yyy:root): aiezuuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir aa
257 "/aa" created
ftp> mkdir bb
257 "/bb" created
ftp> ls
227 Entering Passive Mode (106,14,37,132,129,241).
150 Here comes the directory listing.
drwx------ 2 1000 1000 4096 Mar 25 14:36 aa
drwx------ 2 1000 1000 4096 Mar 25 14:36 bb
226 Directory send OK.
 

七、常见问题:

问题一:连接到vsftpd服务器时,提示:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
解决方法:请参考http://aiezu.com/question/112.html 
  

八、附录:

1、vsftpd相关目录和文件介绍:

  • /etc/vsftpd/vsftpd.conf:vsftpd服务主配置文件;
  • /etc/vsftpd/ftpusers:设置不允许访问ftp服务的系统用户(黑名单),一行一个用户名;
  • /etc/vsftpd/user_list:用于设置允许或禁止访问vsftpd服务的系统用户名单,主配置文件的“userlist_enable”参数决定此名单是否生效,“userlist_deny”参数决定此名单是黑名单还是白名单;
  • /etc/pam.d/vsftpd:vsftpd的pam模块的配置文件,用来认证身份和阻止特定用户;
  • /usr/sbin/vsftpd:vsftpd的主要执行文件;
  • /var/ftp:vsftpd的默认匿名用户登录的根目录。
 

2、主配置文件vsftpd.conf相关参数介绍:

  vsftpd的配置参数很多,我们可以通过man 5 vsftpd.conf命令获取到vsftpd.conf配置文件的详细帮助信息。下面介绍一些vsftpd常用的参数。
①. vsftpd服务全局相关参数:
参数描述
connect_from_port_20=YES|NO是否使用20号端口做为ftp-data的端口号
listen_port=21设置vsftpd服务监听的端口号
listen=YES|NO设置vsftpd是否stand alone方式启动
pasv_enable=YES|NO是否开启被动模式
pasv_max_port=0
pasv_min_port=0
设置被动模式(passive mode)使用的端口范围,为0时不受限制
max_Clients=0当vsftpd以stand alone运行时,用来设置最大同时在线数
max_per_ip=0用于设置同一IP允许的同时最大连接数
idle_session_timeout=300如果用户300秒内没有命令操作,则强制离线
ftpd_banner="欢迎信息"
banner_file=/path/file
通过字符串或者文件的方式设置连接到vsftpd服务器时的欢迎信息
dirmessange_enable=YES|NO
message_file=.message
配置ftp进入目录时显示目录下某个文件的内容做为提示信息
ascii_download_enable=YES|NO
ascii_upload_enable=YES|NO
是否允许ascii方式传输
xferlog_enable=YES|NO
xferlog_file=/var/log/vsftpd.log
是否记录用户下载上传的文件
②. vsftpd用户、权限相关参数:
参数描述
write_enable=YES|NO用来设置是否允许用户上传文件
guest_username=ftp指定来宾用户身份的用户名
guest_enable=YES|NO是否将非匿名用户映射成来宾用户。
local_enable=YES|NO是否允许/etc/passwd中的用户以实体用户的身份登录到ftp服务器。
local_max_rate=0设置最大传输速度,单位为bytes/s
chroot_local_user=YES|NO
chroot_list_enable=YES|NO
chroot_list_file=/etc/vsftpd/chroot_list
用来设置哪些用户被限制在自己的目录内无法离开
allow_writeable_chroot=YES|NO启用chroot时用户根目录是否允许写入,默认否
userlist_enable=YES|NO
userlist_deny=YES|NO
userlist_file=/etc/vsftpd/user_list
用来阻止或者允许相关用户登录到vsftpd服务器;  
userlist_file:指定允许或禁止访问vsftpd服务的系统用户名单文件;
userlist_enable:决定名单是否生效;
userlist_deny:决定此名单是黑名单还是白名单;
anonymous_enable=YES|NO是否允许anonymouns用户登录到vsftpd服务器
anon_root=/var/ftp设置匿名用户根目录
anon_world_readable_only=YES|NO匿名用户是否只允许下载可读的文件
anon_mkdir_write_enable=YES|NO
anon_upload_enable=YES|NO
anon_other_write_enable=YES|NO
设置匿名用户的写入权限
no_anon_password=YES|NOanonymous登录时是否可以省略密码。
(匿名用户使用用户名“anonymous”,密码使用任意包含“@”字符的字符串登陆)
anon_max_rate=0设置anonymous的最大传输速度。
anon_umask=077anonymous用户上传文件的权限掩码。

百度云CentOS 7.2(7.1.1511)下载合集

CentOSliuliangsong 发表了文章 • 0 个评论 • 1865 次浏览 • 2016-11-03 11:08 • 来自相关话题

  CentOS 7.2(7.1.1511)百度云下载,都是64位的,现在官方只发不了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:CentOS-7.2-x86_64-DVD-1511.iso(DVD版标准版)CentOS-7.2-x86_64-Everything-1511.iso(完整版)CentOS-7.2-x86_64-LiveGNOME-1511.iso(GNOME桌面版)CentOS-7.2-x86_64-LiveKDE-1511.iso(Kde桌面版)CentOS-7.2-x86_64-Minimal-1511.isoo(精简版)CentOS-7.2-x86_64-NetInstall-1511.iso(网络安装版)  
 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:CentOS 7.2下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 查看全部
  CentOS 7.2(7.1.1511)百度云下载,都是64位的,现在官方只发不了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:
  • CentOS-7.2-x86_64-DVD-1511.iso(DVD版标准版)
  • CentOS-7.2-x86_64-Everything-1511.iso(完整版)
  • CentOS-7.2-x86_64-LiveGNOME-1511.iso(GNOME桌面版)
  • CentOS-7.2-x86_64-LiveKDE-1511.iso(Kde桌面版)
  • CentOS-7.2-x86_64-Minimal-1511.isoo(精简版)
  • CentOS-7.2-x86_64-NetInstall-1511.iso(网络安装版)  

 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:CentOS 7.2下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

百度云CentOS 7.1(7.1.1503)下载合集

CentOSliuliangsong 发表了文章 • 0 个评论 • 825 次浏览 • 2016-11-03 09:33 • 来自相关话题

  CentOS 7.1(7.1.1503)百度云下载,都是64位的,现在官方只发不了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:CentOS-7.1-x86_64-DVD-1503-01.iso(DVD版标准版)CentOS-7.1-x86_64-Everything-1503-01.iso(完整版)CentOS-7.1-x86_64-LiveCD-1503.iso(光盘运行版)CentOS-7.1-x86_64-LiveGNOME-1503.iso(GNOME桌面版)CentOS-7.1-x86_64-LiveKDE-1503.iso(Kde桌面版)CentOS-7.1-x86_64-Minimal-1503-01.iso(精简版)CentOS-7.1-x86_64-NetInstall-1503.iso(网络安装版) 
 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1qYaWelQ
x百度云下载地址二:CentOS 7.1下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 查看全部
  CentOS 7.1(7.1.1503)百度云下载,都是64位的,现在官方只发不了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:
  • CentOS-7.1-x86_64-DVD-1503-01.iso(DVD版标准版)
  • CentOS-7.1-x86_64-Everything-1503-01.iso(完整版)
  • CentOS-7.1-x86_64-LiveCD-1503.iso(光盘运行版)
  • CentOS-7.1-x86_64-LiveGNOME-1503.iso(GNOME桌面版)
  • CentOS-7.1-x86_64-LiveKDE-1503.iso(Kde桌面版)
  • CentOS-7.1-x86_64-Minimal-1503-01.iso(精简版)
  • CentOS-7.1-x86_64-NetInstall-1503.iso(网络安装版) 

 
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1qYaWelQ
x百度云下载地址二:CentOS 7.1下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

百度云CentOS 7.0(7.0.1406)下载合集

CentOSliuliangsong 发表了文章 • 0 个评论 • 896 次浏览 • 2016-11-02 20:33 • 来自相关话题

  CentOS 7.0(7.0.1406)百度云下载,都是64位的,现在官方只发布了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:CentOS-7.0-1406-x86_64-DVD.iso(DVD版标准版)CentOS-7.0-1406-x86_64-Everything.iso(完整版)CentOS-7.0-1406-x86_64-GnomeLive.iso(GNOME桌面版)CentOS-7.0-1406-x86_64-KdeLive.iso(Kde桌面版)CentOS-7.0-1406-x86_64-livecd.iso(光盘运行版,这个百度云禁止分享)CentOS-7.0-1406-x86_64-Minimal.iso(精简版)CentOS-7.0-1406-x86_64-NetInstall.iso(网络安装版)
 
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1nu7VYvZ
x百度云下载地址二:CentOS 7.0下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxx 查看全部
  CentOS 7.0(7.0.1406)百度云下载,都是64位的,现在官方只发布了64位的版本,32位的可能还需要等一段时间。爱E族(aiezu.com)具体的文件如下:
  • CentOS-7.0-1406-x86_64-DVD.iso(DVD版标准版)
  • CentOS-7.0-1406-x86_64-Everything.iso(完整版)
  • CentOS-7.0-1406-x86_64-GnomeLive.iso(GNOME桌面版)
  • CentOS-7.0-1406-x86_64-KdeLive.iso(Kde桌面版)
  • CentOS-7.0-1406-x86_64-livecd.iso(光盘运行版,这个百度云禁止分享)
  • CentOS-7.0-1406-x86_64-Minimal.iso(精简版)
  • CentOS-7.0-1406-x86_64-NetInstall.iso(网络安装版)

 
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
x百度云下载地址一:http://pan.baidu.com/s/1nu7VYvZ
x百度云下载地址二:CentOS 7.0下载专辑(爱E族:aiezu.com)
xxxxxxxxxxxxxxxxxxxxxxxxxxxx

CentOS7中查看系统版本信息

CentOSliuliangsong 发表了文章 • 0 个评论 • 3198 次浏览 • 2016-11-02 12:46 • 来自相关话题

1、使用“cat /etc/redhat-release”命令查看操作系统详细发行版本号:[root@aiezu.com ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core) 
2、版本号和位数:[root@aiezu.com ~]# rpm -q centos-release
centos-release-7-2.1511.el7.centos.2.10.x86_64 
3、“cat /proc/version”命令:[root@aiezu.com ~]# cat /proc/version
Linux version 3.10.0-327.36.3.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #1 SMP Mon Oct 24 16:09:20 UTC 2016 
4、使用“lsb_release”命令:[root@aiezu.com ~]# yum -y install redhat-lsb
[root@aiezu.com ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core 
5、使用“cat /etc/os-release”命令:[root@aiezu.com ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7" 
6、使用“uname”命令查看内核版本:[root@aiezu.com ~]# uname -a
Linux aiezu.com 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 查看全部
1、使用“cat /etc/redhat-release”命令查看操作系统详细发行版本号:
[root@aiezu.com ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
 
2、版本号和位数:
[root@aiezu.com ~]# rpm -q centos-release
centos-release-7-2.1511.el7.centos.2.10.x86_64
 
3、“cat /proc/version”命令:
[root@aiezu.com ~]# cat /proc/version
Linux version 3.10.0-327.36.3.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC) ) #1 SMP Mon Oct 24 16:09:20 UTC 2016
 
4、使用“lsb_release”命令:
[root@aiezu.com ~]# yum -y install redhat-lsb
[root@aiezu.com ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.2.1511 (Core)
Release: 7.2.1511
Codename: Core
 
5、使用“cat /etc/os-release”命令:
[root@aiezu.com ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
 
6、使用“uname”命令查看内核版本:
[root@aiezu.com ~]# uname -a
Linux aiezu.com 3.10.0-327.36.3.el7.x86_64 #1 SMP Mon Oct 24 16:09:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

CentOS 7上如何修改主机名?

CentOSliuliangsong 发表了文章 • 0 个评论 • 1023 次浏览 • 2016-11-02 10:47 • 来自相关话题

  在CentOS 7中,修改主机名的方法和以前版本已经不同、CentOS 7引入了全新的主机名体系。CentOS 7定义了三种主机名:静态的(static)、瞬态的(transient)、和灵活的(pretty)。
“静态”主机名也称为“内核主机名”,是系统在启动时自动从“/etc/hostname”文件初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名。如由“DHCP”或“mDNS”服务器分配。“灵活”主机名允许使用特殊字符(包括空格)的主机名,而其他两种都必须遵从“互联网域名”字符限制规则。
 
一、查看主机名:
  可以使用“hostnamectl status --static|transient|pretty”(三个参数选一个)分别查看对应类型的主机名:hostnamectl status --static #查看静态主机名
hostnamectl status --transient #查看瞬态主机
hostnamectl status --pretty #查看灵活主机名
二、修改主机名:
1、同时修改三种类型的主机名:
  我们这里先将主机名设置成本站的域名“aiezu.com”(爱E族),并在“aiezu.com”前后加上一个特殊字符,使用“%aiezu.com%”做为主机名。修改后,再分别查看三种类型修改后的主机名。hostnamectl set-hostname %Aiezu.com%
#查看修改后的状态:
hostnamectl status --static
#aiezu.com
hostnamectl status --transient
#aiezu.com
hostnamectl status --pretty
#%Aiezu.com%从上面可以看出,前面两种主机名中的特殊字符被删除,大写字母被转变为小写,只有最后的灵活主机名保留了原来的完整主机名字符串。
 
2、分别修改三种类型的主机名:
  如果只希望分别修改三种类型的主机名,可以这样修改:#修改静态主机名
hostnamectl set-hostname --static aiezu.com

#修改瞬态主机
hostnamectl set-hostname --transient aiezu.com

#修改灵活主机名
hostnamectl set-hostname --pretty aiezu.com
 3、更新hosts文件:
修改主机名后需要更新“/etc/hosts”文件,否则系统无法根据设置的主机名找到是本机“127.0.0.1”。127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6修改为:127.0.0.1 aiezu.com localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 aiezu.com localhost localhost.localdomain localhost6 localhost6.localdomain6 
三、修改后效果:
1、命令提示符效果:
  设置主机名后,无需重启,使用“su -”重新登录后、就能在命令提示符上看到主机名(命令提示符使用的是“静态主”机名)。我们设置的是域名“aiezu.com”做为主机名,所以只会显示域名的主机名部分。[root@localhost ~]# hostnamectl set-hostname aiezu.com
[root@localhost ~]# su -
上一次登录:三 11月 2 02:17:43 CST 2016从 10.0.0.52pts/0 上
[root@aiezu ~]#2、hostname命令:[root@aiezu ~]# hostname
aiezu.com3、“/etc/hostname”文件:[root@aiezu ~]# cat /etc/hostname
aiezu.com 
四、总结:
介绍那么多,CentOS 7修改主机名,就一条命令,再修改“/etc/hosts”文件就行:hostnamectl set-hostname aiezu.com
# su - 查看全部
  在CentOS 7中,修改主机名的方法和以前版本已经不同、CentOS 7引入了全新的主机名体系。CentOS 7定义了三种主机名:静态的(static)、瞬态的(transient)、和灵活的(pretty)。
  • “静态”主机名也称为“内核主机名”,是系统在启动时自动从“/etc/hostname”文件初始化的主机名。
  • “瞬态”主机名是在系统运行时临时分配的主机名。如由“DHCP”或“mDNS”服务器分配。
  • “灵活”主机名允许使用特殊字符(包括空格)的主机名,而其他两种都必须遵从“互联网域名”字符限制规则。

 
一、查看主机名:
  可以使用“hostnamectl status --static|transient|pretty”(三个参数选一个)分别查看对应类型的主机名:
hostnamectl status --static #查看静态主机名
hostnamectl status --transient #查看瞬态主机
hostnamectl status --pretty #查看灵活主机名

二、修改主机名:
1、同时修改三种类型的主机名:
  我们这里先将主机名设置成本站的域名“aiezu.com”(爱E族),并在“aiezu.com”前后加上一个特殊字符,使用“%aiezu.com%”做为主机名。修改后,再分别查看三种类型修改后的主机名。
hostnamectl set-hostname %Aiezu.com%
#查看修改后的状态:
hostnamectl status --static
#aiezu.com
hostnamectl status --transient
#aiezu.com
hostnamectl status --pretty
#%Aiezu.com%
从上面可以看出,前面两种主机名中的特殊字符被删除,大写字母被转变为小写,只有最后的灵活主机名保留了原来的完整主机名字符串。
 
2、分别修改三种类型的主机名:
  如果只希望分别修改三种类型的主机名,可以这样修改:
#修改静态主机名
hostnamectl set-hostname --static aiezu.com

#修改瞬态主机
hostnamectl set-hostname --transient aiezu.com

#修改灵活主机名
hostnamectl set-hostname --pretty aiezu.com

 3、更新hosts文件:
修改主机名后需要更新“/etc/hosts”文件,否则系统无法根据设置的主机名找到是本机“127.0.0.1”。
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
修改为:
127.0.0.1   aiezu.com localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 aiezu.com localhost localhost.localdomain localhost6 localhost6.localdomain6
 
三、修改后效果:
1、命令提示符效果:
  设置主机名后,无需重启,使用“su -”重新登录后、就能在命令提示符上看到主机名(命令提示符使用的是“静态主”机名)。我们设置的是域名“aiezu.com”做为主机名,所以只会显示域名的主机名部分。
[root@localhost ~]# hostnamectl set-hostname aiezu.com
[root@localhost ~]# su -
上一次登录:三 11月 2 02:17:43 CST 2016从 10.0.0.52pts/0 上
[root@aiezu ~]#
2、hostname命令:
[root@aiezu ~]# hostname
aiezu.com
3、“/etc/hostname”文件:
[root@aiezu ~]# cat /etc/hostname 
aiezu.com
 
四、总结:
介绍那么多,CentOS 7修改主机名,就一条命令,再修改“/etc/hosts”文件就行:
hostnamectl set-hostname aiezu.com
# su -