当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪unix与Linux下修改时区的方法      本节介绍下,主流操作系统修改时区的方法: 一,Solaris: 在solaris中,修改时区需要修改/etc/TIMEZONE文件,其中的TZ=PRC就表示中国时区,可以将其替换为TZ=US/Pacific,再重启机器,就将时区修.........
    ▪修改linux下/dev/shm tmpfs文件系统大小      本节分享linux下修改/dev/shm tmpfs文件系统的大小方法。 在rhel 5.4下创建11gr2数据库时,使用自动内存管理选项时,提示/dev/shm文件系统必须大于1g。 用df命令查看:   代码示例: # df -h   显示只.........
    ▪ssh正向连接、反向连接、socks代理的实现方法分享      1、ssh 正向连接 正向连接即client连上server,然后把server能访问的机器地址和端口(当然也包括server自己)镜像到client的端口上。 命令: ssh -L [客户端IP或省略]:[客户端端口]:[服务器侧能访问.........

[1]unix与Linux下修改时区的方法
    来源: 互联网  发布时间: 2013-12-24

本节介绍下,主流操作系统修改时区的方法:

一,Solaris:
在solaris中,修改时区需要修改/etc/TIMEZONE文件,其中的TZ=PRC就表示中国时区,可以将其替换为TZ=US/Pacific,再重启机器,就将时区修改为美国太平洋时区了。

注意三点:
1,在X86的机器上,需要再执行如下命令,更新/etc/rtc_config文件:
 

代码示例:
# rtc -z zone-name(这里的zone-name就是/etc/TIMEZONE中TZ的值)
# rtc -c

2,到底有多少中时区可以选择呢?我们可以进入/usr/share/lib/zoneinfo目录,其中有很多目录,包括US,也有很多文件,比如PRC;这表示US下还有很多时区,而PRC就是统一的时区。正因为如此,我们才看到TZ=PRC和TZ=US/Pacific这两种不同的形式。
3,需要重启系统使之生效。

二,Linux(Redhat and Suse):
1,在/usr/share/zoneinfo/目录下查询想要更换的时区名称,修改格式同上
2,将原有的localtime文件移走;
 

代码示例:
# mv /etc/localtime /etc/localtime-old

3,做新的localtime文件,将对应的时区文件链接过来
 

代码示例:
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4,与硬件同步
 

代码示例:
# /sbin/hwclock --systohc

三,AIX:
1,查看当前时区(其他操作系统是date命令即可)
 

代码示例:
cat /etc/environment (查找TZ所在行)

2,为了妥善起见,建议使用smit修改时区
 

代码示例:
smit chtz

3,所有的时区信息在/usr/share/lib/zoneinfo目录

四,HPUX:
1,# set_parms timezone,可以通过交互的方式来修改时区。
所有Unix系统(不包括Linux),可以通过echo $TZ来查看当前时区。


    
[2]修改linux下/dev/shm tmpfs文件系统大小
    来源: 互联网  发布时间: 2013-12-24

本节分享linux下修改/dev/shm tmpfs文件系统的大小方法。

在rhel 5.4下创建11gr2数据库时,使用自动内存管理选项时,提示/dev/shm文件系统必须大于1g。

用df命令查看:
 

代码示例:
# df -h
 

显示只有700多M。

想办法解决吧,找到了调整tmpfs文件系统的大小的方法。

步骤1,查看当前文件系统的大小
 

代码示例:
df -h /dev/shm

步骤2,修改tmpfs文件系统的大小
 

代码示例:
vi /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=4096M 0 0

步骤3,重新挂载:
 

代码示例:
umount /dev/shm
mount /dev/shm

步骤4,查看修改后的文件系统大小:
 

代码示例:
df -h /dev/shm

注意:
在umount时,可能会提示“设备正忙”,此时可以使用fuser -m /dev/shm查看正在使用此资源的用户,然后kill掉它们,或使用umount -l卸载文件系统。
此时,可以不用fuser -m查找也是可行的。


    
[3]ssh正向连接、反向连接、socks代理的实现方法分享
    来源: 互联网  发布时间: 2013-12-24

1、ssh 正向连接
正向连接即client连上server,然后把server能访问的机器地址和端口(当然也包括server自己)镜像到client的端口上。
命令:
ssh -L [客户端IP或省略]:[客户端端口]:[服务器侧能访问的IP]:[服务器侧能访问的IP的端口] [登陆服务器的用户名@服务器IP] -p [服务器ssh服务端口(默认22)]
其中,客户端IP可以省略,省略的话就是127.0.0.1了,也就是说只能在客户端本地访问。服务器IP都可以用域名来代替。

举例:
IP是192.168.1.2,可以ssh到某台服务器8.8.8.8,8.8.8.8可以访问8.8.4.4,内网里还有一台机器可以访问它。
如果想让内网里的另外一台电脑访问8.8.4.4的80端口的http服务,则执行:
 

代码示例:
ssh -L 192.168.1.2:8080:8.8.4.4:80 test@8.8.8.8
 

ssh到8.8.8.8上,然后让8.8.8.8把8.8.4.4的80端口映射到本地的8080端口上,而且和本地192.168.1.2这个IP绑定。

内网里的另外一台机器可以通过IE浏览器中输入http://192.168.1.2:8080查看8.8.4.4的网页。
当然,如果是其他服务,比如ftp、ssh、远程桌面也是可以的。
不过,VPN貌似是不行的,可能是因为GRE协议无法通过。

2、ssh 反向连接
反向连接即client连上server,然后把client能访问的机器地址和端口(也包括client自己)镜像到server的端口上。
反向连接用得可能更多一些。
比如客户端在内网,在外网是无法直接访问到的,这时用反向连接打通一条隧道,就可以从外网通过这条隧道进来了。

命令:

ssh -R [服务器IP或省略]:[服务器端口]:[客户端侧能访问的IP]:[客户端侧能访问的IP的端口] [登陆服务器的用户名@服务器IP] -p [服务器ssh服务端口(默认22)]
其中,服务器IP如果省略,则默认为127.0.0.1,只有服务器自身可以访问。指定服务器外网IP的话,任何人都可以通过[服务器IP:端口]来访问服务。当然,这个时候服务器本机也要输入外网IP:端口来访问。

举例:
IP是192.168.1.2,可以ssh到外网某台服务器8.8.8.8,内网里有一台机器192.168.1.3。
如果想让外网所有的能访问8.8.8.8的IP都能访问192.168.1.3的http服备,则执行:
 

代码示例:
ssh -R 8.8.8.8:8080:192.168.1.3:80 test@8.8.8.8
 

ssh到8.8.8.8上,然后把本地局域网内192.168.1.3的80端口映射到8.8.8.8的8080端口上,这样外网任何一台可以访问8.8.8.8的机器都可以通过8080端口访问到内网192.168.1.3机器的80端口了。
反向连接同样支持各种服务。

3、ssh做socks代理
假设内网里某台机器可以上网,但是你不能上网,如果你有ssh到那台机器的权限,那么就可以利用ssh方式建立一个代理socks5,通过代理来上网。

命令:
ssh -D [本地IP或省略]:[本地端口] [登陆服务器的用户名@服务器IP] -p [服务器ssh服务端口(默认22)]
道理和上面是一样的,执行这个命令之后,本地会监听指定的端口等待连接。

在Firefox和Chrome无需下载什么插件,在配置代理的时候直接选择Sock5即可,不需要用户名和密码验证。
另外,IE也是支持Sock5的,具体配置方法为:勾选为LAN使用代理服务器,然后任何字段都不要填,点“高级”按钮,在套接字里面填好相应的配置,其他都留空。
Chrome默认采用IE的配置,所以如果IE配置好了,Chrome也是可以上网的。
另外,可以使用一个叫做Sockscap的软件,把应用扔进去就能以代理的方式上网了。(部分需要调用多个进程的应用可能不行)

把socks代理转换成http代理
如果想把socks代理转换成http代理,可以用privoxy。
去官网下载个.zip的文件包,然后解压到任意目录,执行可执行文件。
在主界面点击Options菜单->Edit Main Configuration,在弹出的文本文件中搜索forward-socks5,找到的章节就是讲socks5转换的。
回车新建一行,输入forward-socks5 / [本地IP]:[本地端口] . 注意后面还有个“.”,然后保存。
这样就可以实现把socks5代理转换成127.0.0.1:8118的http代理了。程序可以通过127.0.0.1:8118这个http代理上网。
如果想让局域网内其他IP也能通过你的机器上网,需要修改配置文件中的listen-address部分。

4、Windows下的ssh和ssh server
Windows下强大的ssh命令行工具和ssh服务器。并且对以上功能支持的都很好。
那就是putty工具了,下载地址:http://www./down/102.html
ssh命令行客户端对应的是plink.exe,命令稍微有一点不同(比如指定端口是大写的P),具体看帮助文件稍作修改就好了。
ssh服务器端是WinSSHD,傻瓜式安装,默认配置支持windows用户认证。

5、自动连接和防断线脚本
如果想让连接长期保持,可以写个脚本来保证因为网络原因断线的话可以自动重连。
先说Windows平台,用plink -pw参数可以指定密码,只要写个批处理脚本:
 

代码示例:
:1
plink -pw “password” -D 7070 user@serverip
goto 1
 

这样应该就可以解决大多数问题造成的断线。

Linux平台ssh默认不支持把密码作为参数,不过有sshpass可以搞定
http://sourceforge.net/projects/sshpass/files/latest/download
下载,解压,编译,把可执行文件拷贝到合适的目录,执行命令格式如下:
 

代码示例:
sshpass -p "password" ssh -D 7070 user@serverip
 

貌似ubuntu下可以直接apt-get install sshpass
脚本autossh.sh,内容如下:
 

代码示例:

#!/bin/bash
while [ '' == '' ]
do
ssh_d_process_num=`ps aux|grep -E 'ssh \-' |grep -v grep |wc -l`
if [ "$ssh_d_process_num" == "0" ]; then
  /home/user/sshpass -p "password" ssh -D 7070 user@ServerIP &
fi

sleep 300
done
 

执行此脚本。
sleep 300代表300秒查看一次,可以根据需要调整。

6、常用参数
-q 静默运行,就算出错也啥都不提示
-f 后台运行
-C 压缩,带宽很差的时候压缩会快一些,否则会更慢
-i xxx.file 提供公钥文件直接验证
-l 指定用户名,其实就是@前面写的那个。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3