linuxhost访问
‘壹’ linux环境下/etc/hosts文件详解
hosts文件是linux系统中负责ip地址与域名快速解析的文件,以ASCII格式保存在/etc目录下,文件名为hosts,不同的linux版本,文件也可能不同,比如Debian的对应文件是/etc/hostname。hosts文件包含了ip地址和主机名之间的映射,包括主机名的别名,在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用DNS服务程序来解决。通常可以将常用的域名和ip地址映射加入到hosts文件中,实现快速方便的访问
优先级:dns缓存>hosts>dns服务
hosts:the static table lookup for host name(主机名查询静态表)
hosts文件可以配置主机ip与对应的主机名,在局域网或者internet上,每台主机都有自己的ip地址,它区分开每台主机,并且可以通过ip地址进行通讯。但是ip地址不方便记忆,所以出现了域名(比如 www..com )。在一个局域网中,每台机器都有一个主机名,用于区分主机,便于相互访问
查看linux中的hosts文件
通过这个文件可以看到哪些域名对应哪些ip,哪些主机名对应哪些ip,通常情况下这个文件首先记录了本机的ip和主机名
一般情况下hosts文件的每行为一个主机,每行由三部分组成,每个部分由空格隔开,格式如下
第一部分:网络ip地址
第二部分:主机名或域名
第三部分:主机别名
当然每行也可以是两部分,即网络ip地址和主机名。主机名(hostname)和域名(Domain)的区别在于,主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip。域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。
参考1: Linux操作系统下/etc/hosts文件配置方法
参考2: Linux修改/etc/hosts
‘贰’ 如何在linux上远程访问本地的mysql
1、查该服务器是否能实现远程登录Mysql,看是否是因为没有权限。
2、检查Linux上Mysql是否启动。
3、若启动登录Mysql,若未启动,执行service mysqld start。
4、赋权限,%表示所有ip可访问,也可以改成自己本地的IP地址,密码改为linux上mysql的密码。
5、本地为了方便被访问,可先关闭自己的防火墙。
‘叁’ linux中安装mysql,如何开启远程访问权限
1、登陆mysql
mysql -u root -p
2、改表法:修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。
mysql> USE MYSQL;mysql> UPDATE USER SET host = '%' WHERE user = 'root';
3、授权法:
mysql> USE MYSQL;mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问以及修改所有数据的权限 例如,你想root用户使用root从任何主机连接到mysql服务器的话。GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;如果你想允许用户root从ip为192.168.1.123的主机连接到mysql服务器,并使用root作为密码GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.123'IDENTIFIED BY 'root' WITH GRANT OPTION;mysql> FLUSH PRIVILEGES //
‘肆’ Linux中hosts.allow与hosts.deny
linux /etc目录下有五个host开头的文件 :host.conf hostname hosts hosts.allow hosts.deny。
1、host.conf 文件指定如何解析主机名,笔者的centos7的/etc/host.conf里面是 multi on,即指定的主机可以有多个IP地址。
2、hosts.allow与hosts.deny这两个配置文件控制外部IP对本机服务的访问,hosts.allow控制可以访问本机的IP地址,hosts.deny控制禁止访问本机的IP。配置完成之后是实时生效的。
3、hostname是主机名,当你在命令行输入hostname时返回的主机名,也是环境变量中命令行 prompt 显示的主机名。
4、 hosts负责IP地址与域名快速解析的文件,包含了IP地址和主机名之间的映射,还包括主机名的别名。详情参考笔者的文章-linux中/etc/hosts文件配置。
先来测试一下hosts.allow与hosts.deny这两个配置文件设置ssh的连接。
hosts.deny中添加设置 sshd : ALL,再次使用ssh连接,会出现:ssh_exchange_identification: read: Connection reset 的错误,但是已经连接上的ssh是不会中断的,说明 hosts.deny时在连接时查询的配置文件。
然后在hosts.allow中添加设置sshd : 192.168.56.1,再次使用ssh可以成功连接。
在设置屏蔽所有ssh后,在单独允许192.168.56.1这个ip地址,ssh是允许的,那么就存在优先级问题。优先级为先检查hosts.deny,再检查hosts.allow。
两个配置文件的格式如下:
服务进程名:主机列表:当规则匹配时可选的命令操作。
为了安全可以在hosts.deny文件中配置拒绝所有的访问ALL:ALL,然后在hosts.allow文件中逐个开放访问许可,增强安全性。
sshd可以换成其他服务进程名,比如httpd、telnetd等等。
‘伍’ linux下,/etc/hosts文件有什么用途
hosts文件的用途:将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址。
当建立dns服务器的时候,或者要搭建本地网的时候就用的着了,跟windows下面的host文件是一样的作用,而且可以用来屏蔽广告和木马。
一旦找到,系统会立即打开相应的网页,如果没有找到,则系统会将url提交到DNS服务器进行IP地址解析,etc/host代表当前计算机主机名。
(5)linuxhost访问扩展阅读:
linux中的执行语句有:
1、[root@localhost~]#cat/etc/profile:检查/etc/目录下的profile文件内容。
2、[root@localhost~]#cat-b/etc/profile:检查/etc/目录下的profile内容,而且对非空白行进行编号,行号从1开端。
3、[root@localhost~]#cat-n/etc/profile:对/etc目录中的profile的一切的行(包含空白行)进行编号输出显现。
4、[root@localhost~]#cat-E/etc/profile:检查/etc/下的profile内容,而且在每行的结尾处附加$符号。
关于linux中[root@localhostroot]#第一、二个root,分别表示的意思如下:
root@localhostroot中第一个root表示当前登录的为root账户,localhost是主机名称。第二个root表示当前的目录为root目录,#表示当前为root权限。
另外,root用户的家目录为/root,其他用户通常为/home/用户名,但可以改变。家目录主要保存每个用户的登录信息,个人偏好及一些个人文件等。