小Tips:使用Putty登陆后定制标题栏显示IP的设置

Title: 使用Putty登陆后定制标题栏显示IP的设置   tag: putty,标题栏,samba,CVS

     文档发布声明: 任何人都可以针对本文档自由转贴,拷贝,引用,及修改后再发布,而无需过问我本人,只希望能够留下属于原作者的一些版权信息,请尊重原作者的劳动。     `海风 = temp77 ,意思是出生于 77 年的临时变量,目前就职于 GDLC .  


 

Tips 1: putty的标题设置更加丰富      我要登陆的是 Red Hat Linux Enterprise  4 (update 4) ,不过发现用 putty 登陆后,左上角只有主机名,不像在 SLES 那样有主机的 IP 提示,所以改造了一下设置。    把下面的几行脚本追加到 ~/.bashrc  (对应 root 用户,也就是 /root/.bashrc 文件)自动脚本的最后。    重新登陆该服务器(还是用之前的那个用户登陆),你会发现左上角又可以看到服务器的 IP了。                                 (`update: 2008年06月26,修正下脚本中第二个awk参数~)

# add following statement to the END of file  ~/.bash_profile

 # auto add env parameter $PROMPT_COMMAND when use non-Linux tty login by ssh.

 

if [ "$SSH_CONNECTION" != '' ]; then

   export HOSTIP=`echo $SSH_CONNECTION |awk '{print $3}' |awk -F: '{if ($1 == "") print $4; else print $1}'`

   export PROMPT_COMMAND='echo -ne "/033]0;${USER}@'$HOSTIP':[${HOSTNAME%%.*}]:${PWD/#$HOME/~}  /007"'

   env |grep PROMPT_COMMAND

 

   # Set the DISPLAY env var for Xmanager forward

   # export DISPLAY=`echo $SSH_CONNECTION |awk '{print $1}' |awk -F: '{if ($1 == "") print $4; else print $1}'`:0.0

fi

 


 Tips 2: == 虚拟机[GSX]开机auto启动的方法 ==

 

√安装了 VMware Server (VMware GSX 的后续版本)之后,可以用命令行在后台启 动虚拟机。

●如果在 Win32 系统下面: "D:/Program Files/VMware/VMware Server/bin/vmware-vmx.exe" -X -q -s ide0:0.present=TRUE "E:/VMIMG/RHEL4-AS32-U3/RHEL4.vmx"

●如果在 linux 系统下面: "/usr/lib/vmware/bin/vmware-vmx" -X -q -s ide0:0.present=TRUE "/home/VMWARE/WinXP_SP2.Pro/WinXPsp2Pro.vmx" &

 


 

Tips 3: 简单的设置 Samba

  ○ 配置 samba : 前面说过,samba 是 Linux 和 Win32 文件系统之间的桥梁! 有了它,我们可以发挥天马行空的想象力,潇洒地做一回"假爱因斯坦"了。      我认为我所使用的 samba 的版本是3.0 ,因为在我敲命令 "man samba" 的时候看到的。 [小技巧:想知道某个词(如XXX)会不会存在相应的帮助内容,可尝试 "man -k XXX" 来看看]

     ( 注:下面介绍只为简单起见,没提到安全方面的设置,只满足搭建编程环境的最低需要而已,)

   ① 我使用 root 用户登陆服务器,现在要给 samba 也建一个新用户,smb用户名也是 root ,密码为 123456 ,新创建的 smb用户的信息将会(自动)存储到服务器的 "/etc/samba/smbpasswd" 下。       执行命令:"smbpasswd -a root" 。输入两次密码完成操作后,请 cat "/etc/samba/smbpasswd" 再确认一下。  [要重新设置密码,请执行 "smbpasswd root" 即可]

   -- 大概各位兄弟都已经注意到,samba 的配置文件都是放在 /etc/samba 里面的,这里面有个叫作 smb.conf 的配置文件,接下来我们将重点介绍这个文件的组织,全路径是 "/etc/samba/smb.conf" 。       打开这个文件粗略浏览,这个配置文件是按照标准的 ini 配置文件来组织的。 首先,它里面有个节(section) [global] ,里面保存了一些全局使用的数据;而其他的一些节里面,节名会对应了一个共享名,比方说我添加了一个节名[users],他就自动对应了一个 users 的共享目录了。那么这个节下面应该有些什么 key 和 value 呢(才算有效的共享目录配置),这就是下面我将要描述的。       在继续下一步之前,我建议大家先备份当前的 smb.conf ,请执行 "cd /etc/samba; tar cvzf org_smb.conf.tar.gz smb.conf" 。 要恢复,那请执行命令行 "tar xvzf org_smb.conf.tar.gz"。

   ② 把 global 里面多余的项都屏蔽掉(该行最前面加#字符),只留低下面四行(没有的请自行加上去),完成后的样子应如下。

[global]

  workgroup = TUX-NET         #

  server string = redhat.EL,v4 Samba Server      # 随便填

  map to guest = Bad User     # 如用guest方式登陆将免问密码

  guest account = root        # 扩大guest用户的权限为root的权限

      √ 注:上面提到的 root 用户是指 smb用户列表里的那个root用户。

   ③ 下面将创建一个共享名为 users 的共享目录,映射了Linux文件系统下的 /home 目录相对应。       请编辑 "/etc/samba/smb.conf" ,添加下面一节内容( 不同Key对应的详细说明请看注释)

  [users]

   comment = All users       # 请随意

  path = /home              # 指定要共享出来的目录路径

  read only = No            # 是否只读共享吗

  create mask = 0666        # 涉及到新建文件的,创建后对应权限码

  directory mask = 0765     # 类似上面,不过这次是指目录

  public = yes              # 共享目录名是隐藏还是公开的

  browseable = yes          # 共享目录名是隐藏还是公开

      √ 这样,在打开 samba 服务后,在Window 里将预期看到有 //xx.xx.xx.ip/users 这样的共享目录了。

   ④ 修改好配置后,需要重新启动 samba 服务才能够使配置生效,请键入 "service  smb  restart" (注意观察提示输出),成功了吗?       如果成功,那么随便用一个 Windows 远程访问该台 Linux 的共享目录看看。 在 IE 地址栏输入 "//xx.xx.xx.xx" ,是不是可以看到 users 这个共享目录了呢?     -- 如果提示输入用户名和密码,用户请输入  local/root  ,然后对应密码,点确定。       访问共享目录里就能够得到你想要摆弄的 Linux 里的文件了,是不是能感受到这方便所带来的喜悦呢?

   ⑤ 要么再极端一点吧,你甚至连密码都不想输入了,那么请你给 [users] 节多加一个 "guest ok = yes" 这样的 key 和 value ,完整的节内容请参考其下

  [users]

    comment = All users       # 请随意

path = /home              # 指定要共享出来的目录路径

read only = No            # 是否只读共享吗

create mask = 0666        # 涉及到新建文件的,创建后对应权限码

directory mask = 0765     # 类似上面,不过这次是指目录

public = yes              # 共享目录名是隐藏还是公开的

guest ok = yes            # 指定用 guest 方式来访问

     √ 同样的需要重新启动 samba 服务才能让配置生效,请尝试一下各种操作,能够在共享目录中新建,修改,复制,删除等等一系列活动,看看会怎么样?(不输密码是不是要更爽一点)      ( 如果 Windows 提示同一个服务不能打开两次之类的提示,请注销你的 Windows 用户重新登入,然后再重试即可。)      另外请注意,Section 名不要重复!!

  -- 时间关系,我这里就不把配置项都说的那么仔细了,上述key已足够用已。

  给出一个完整的配置范例:

 [global]

workgroup = TUX-NET

server string = redhat.EL,v4 Samba Server

map to guest = Bad User

guest account = root

 

[users]

comment = All users

path = /home

read only = no

create mask = 0666

directory mask = 0765

public = yes

guest ok = yes

 

 

[root]

comment = All users

path = /

read only = no

create mask = 0666

directory mask = 0765

public = no

browseable = no

 

 


 

 Tips 4: 如何简单创建CVS 服务端 简单的步骤如下(只涉及到最常用功能,在SUSE10(或9)和Redhat.EL4上配置成功过):  [注:当然,你的服务器一定要先安装了cvs才行,还有 xinetd 服务]

1、创建cvs相关组和用户(设置密码) 2、对要创建的目录先预备好权限 3、创建仓库(如何验证) 4、创建成后台服务(随机器启动) 5、验收(远程访问)

------------------------------------------ 下面把所有步骤细化:

1、创建cvs相关组和用户(设置密码)  - 使用命令创建cvs用户和组(admin)    'groupadd -g 2401 cvs; useradd cvs -g cvs -G root,cvs -M' 。  - 还要追加其他用户的时候用这个命令(如添加 kfc 这个用户)    'useradd kfc -g cvs -G root,cvs -M' 。  - 设置好这些用户的密码(这些密码就是以后用户登陆cvs的密码)    'passwd cvs' (设置管理员密码) 。

2、对要创建的目录先预备好权限  - 我将来要创建数据仓库在 /srv/cvsroot 上    所以对 /srv 进行权限添加,执行 'chmod 777 /srv' 。  - 另外还有可能使用 cvs checkout 的目录(如 /home 和 /tmp )    'chmod 777 /home'  'chmod 777 /tmp' 。  - 说明一下,这里只涉及简单用cvs开发,所以不管什么安全、权限管理    如果有安全需求的人要(慎重)按照自己需求去设置好目录权限。

3、创建仓库(如何验证)  - 创建仓库当然要先用 cvs (admin) 登陆    我使用的是putty ,命令行 = 'putty -ssh -2 -pw cvs [email protected]' ;    当然也可以使用自己喜欢的远程登录软件(用cvs身份登陆就可以了)。  - 创建 /srv/cvsroot 目录作为仓库    用cvs用户登陆后,进入 /srv 目录下;    创建 cvsroot 目录,并改变权限(两个命令写成一行) 'mkdir cvsroot ; chmod ug+rwx cvsroot';    进入 /srv/cvsroot 目录后,使用 pwd 命令可以得到当前目录的字串;    `pwd` (注意:` 是 ~ 键下面那个字母,返回值用作下一个命令的输入) 。  - 创建仓库 ( -d 参数指定要创建的目录)    用cvs身份执行 'cd /srv/cvsroot ; cvs -d `pwd` init' ;    执行的命令行也可以写成 'cvs -d /srv/cvsroot init' ;    甚至写成这样也行 'export CVSROOT=/srv/cvsroot ; cvs init' 。    上面三个命令都是一个意思,稍微说明一下,cvs 命令如果没有指定 -d 参数,    则默认是从环境变量 CVSROOT 中获得要操作的仓库目录的字串。  - 验证刚创建的仓库是否可用    恢复 root 身份,制定环境变量 'export CVSROOT=/srv/cvsroot' ;    进入随便一个测试目录中去(如 /tmp ),用root执行 checkout 动作;    创建仓库同时也创建了 CVSROOT 的模块(管理用),就 checkout 这模块试试;    命令行  'cvs co CVSROOT' (注意模块名是全大写的, co 是 checkout 的缩写);    成功 checkout 则表示仓库创建没有问题(本地命令行方式使用),请继续(至此,验证通过)。

4、创建成后台服务(随机器启动的pserver模式)  - 准备要把 cvs 服务启动成 pserver (passwd server) 模式    要启动为 cvs pserver 模式,可以方便远程使用 cvs 服务器(我们的真正目的);    检查 /etc/services 中有没有 cvs 服务的说明,请编辑 /etc/services 文件;    查找 "cvspserver" 字串,应该可以见到有这么一行,内容如下:    'cvspserver  2401/tcp     # CVS client/server operations'    另外还应该有类似的一行是描述 udp 的,占用服务端口为 2401 ;    如果没有这一行,请追加之(先搜一遍确认有没有其他服务占用2401端口)。  - 下面针对 xinetd (守护进程服务方式)来配置 cvspserver 服务(以 root 身份)    进入 /etc/xinetd.d 目录 'cd /etc/xinetd.d' ;    编辑 cvs 文件 (SuSE会自带,Redhat中要自己创建) ;    内容请参考 [附录1] (注意指定好仓库目录为 /srv/cvsroot )    保存退出后,请执行 '/etc/init.d/xinetd restart' 重启所有 xinetd 守护的进程。  - 简单验证 pserver     执行重启动 xinetd 后,应该可以看到 提示已 OK ;    检查端口是否有服务在监听,执行 'lsof -i:2401'    可以看到 cvspserver 正在 LISTENT 呢。    [后话,如果重新启动机器后,这进程应该也会老老实实地在监听这个端口的]

5、验收(远程访问)  - 这个工作应该大家日常都做的(假如大家都是cvs经常使用者的话)  - 远程登录到 cvspserver 服务器(假设本地是 192.168.8.21)    指定 CVSROOT 到远程机器(192.168.8.8),用下面这个命令行:    'export CVSROOT=:pserver:[email protected]:/srv/cvsroot' ;    然后手工执行登陆,命令行 = 'cvs login' ;  - 同样的,checkout 出默认的 CVSROOT 模块    执行 'cvs co CVSROOT' ,能够成功检出则说明已经通过验收了,哈哈哈。    其它的 cvs 常用命令这里就不做赘述了,请自行 google 或 manual cvs 看看。

   祝商祺! 写于 ( 14:36 2007-1-17 ) by `海风

 

附录 --------------------------------------------------

- [附录1] /etc/xinetd.d/cvs 配置文件的内容

# default: off

# description: The CVS service can record the history of your source /

#              files. CVS stores all the versions of a file in a single /

#              file in a clever way that only stores the differences /

#              between versions.

service cvspserver

{

        disable                 = no

        port                    = 2401

        socket_type             = stream

        protocol                = tcp

        wait                    = no

        user                    = root

        passenv                 = PATH

        server                  = /usr/bin/cvs

        env                     = HOME=/srv/cvsroot

        server_args             = -f --allow-root=/srv/cvsroot pserver

#       bind                    = 127.0.0.1

}

 


   建立 ssh 信任关系    先介绍原理, ssh 信任就是不需要密码,就可以直接ssh登陆对方服务器,并执行操作。    做法也很简单,在本机上执行  ssh-keygen   -t  rsa    (全部直接敲回车就行)    检查 ~/.ssh  目录下,生成的 id_rsa  和 id_rsa.pub  (顾名思义,一个是私钥,.pub 的那个则是公钥)    用 scp 命令 把 公钥拷贝到 对端机器上(需要输入对端密码),        scp ~/.ssh/id_rsa.pub  root@对端IP:/tmp/ssh_rsa_id_tmp    好,第一步完成,下一步就是,先登陆到对端机器上,然后把 刚刚拷贝过来的公钥文件的内容,追加到一个认证文件里(注意,是追加,不是替换),这样当产生这公钥的机器 ssh 上来的时候,就会不问密码放行了。     cat   /tmp/ssh_rsa_id_tmp  >>  ~/.ssh/authorized_keys     (做完后,记得删掉临时公钥文件~)   好,步骤已经都完成了。 现在回到第一台机器的登陆, 直接 ssh 到 对端机器上,试验一下效果?          注,如果没有两台机器做实验的,也可以直接在本机器做, 然后再   ssh  [email protected]   试一试,效果是一样的。

 

  欢迎访问我的经验分享    "http://blog.csdn.net/temp77/archive/2007/03.aspx"

你可能感兴趣的:(实用类)