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
|
√安装了 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 }
|
欢迎访问我的经验分享 "http://blog.csdn.net/temp77/archive/2007/03.aspx"