linux,ssh,vsftpd,setmod等

使用SSH登录另外一台机器

#ssh 192.168.0.106

得到如下输出

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@     WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!      @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that the RSA host key has just been changed.

The fingerprint for the RSA key sent by the remote host is

a5:1c:99:1f:fa:d7:1e:76:8b:0a:67:eb:4f:90:24:7a.

Please contact your system administrator.

Add correct host key in /root/.ssh/known_hosts to get rid of this message.

Offending key in /root/.ssh/known_hosts:4

RSA host key for 192.168.0.106 has changed and you have requested strict checking.

Host key verification failed.

因为在本地机器上曾经用SSH登录过这台远程计算机(也可能是登录过这个IP为标识的另一台机子),因而留下了known_hosts的记录,在远程计算机重新安装系统后或者是IP变到另一台SSHD主机,所以不能够通过鉴权。删除~/.ssh/known_hosts中对应的项目(上面红色的部分Offending key in /root/.ssh/known_hosts:4,删第四条记录),问题获得解决。

我当时看到这个问题的时候,就上网查,没有仔细看下上面的信息,其实,里面已经告诉我们该怎么做了.

scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命令。

scp /home/daisy/full.tar.gz root@192.168.0.106:/home/root

然后会提示你输入另外那台192.168.0.106主机的root用户的登录密码,接着就开始copy了。

如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。

scp root@192.168.0.106:/home/root /home/daisy/full.tar.gz

注意上面红色的冒号:,我当时不知道怎么表示远程目录,所以上网查,原来加个冒号再跟目录.



因为在linux上用了vsftpd服务,想限定不同登录用户的目录,问张工,张工说vsftpd是用系統用戶登录,所以設置用戶帳戶,就可以達到目的,可用usermod命令,中文幫助在網上查到如下:

功能说明:修改用户帐号。

语  法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]

补充说明:usermod可用来修改用户帐号的各项设定。

参  数:

 -c<备注>  修改用户帐号的备注文字。

 -d登入目录>  修改用户登入时的目录。

 -e<有效期限>  修改帐号的有效期限。

 -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。

 -g<群组>  修改用户所属的群组。

 -G<群组>  修改用户所属的附加群组。

 -l<帐号名称>  修改用户帐号名称。

 -L  锁定用户密码,使密码无效。

 -s<shell>  修改用户登入后所使用的shell。

 -u<uid>  修改用户ID。

 -U  解除密码锁定。



在linux啟動時配置网卡:

1、可以把它放在/etc/rc.d/init.d/rc.local文件中   

  ifconfig   eth0   192.168.0.106  

  route   add   default   gw   192.168.0.1   

  2、配置网卡的配置文件   

  创建或修改此文件/etc/sysconfig/network-scripts/ifcfg-eth0#ifcfg-eth0   

  DEVICE=eth0   

  BOOTPROTO=static   

  IPADDR=192.168.0.106   

  NETMASK=255.255.255.0   

  GATEWAY=192.1689.0.1     



昨天晚上看书,linux启动init进程时,init进程调用的是/etc/inittab脚本

我看linux在启动的时候的信息,应该是先调用/etc/rc.d/rc.sysinit脚本,完成后启动init进程.

在启动过程中,可以按ctrl+c中断系统的启动,提前进入LOGIN.这是我老板教的.而且要看启动信息,要知道系统完成你所要求有的初始化任务后,再按ctrl+c,不然,你做不了想做的事.

比如,我们在/etc/rc.d/rc.sysinit中加入了我们自已的应用程序,在/etc/inittab中把启动模式改成single(单用户模式,免LOGIN),这样系统起动后,就会运行我们自已的程序,问题是运行我们的程序后,我们无法中止他,所有如果要修改我们程序的东西,就不好做了,现在的做法是在系统还没有启动我们的程序前,按ctrl+c,提前进入bash

刚开始,我们这样做了,但是进去后,系统是只读方式(后来知道我几次都是在mounting root file system in read mode后进去的),我不知问题出在哪里,老板自已重启来看,突然说,他知道怎么弄了,原来是要到

Remounting root file system in read-write mode

时,再按ctrl+c

我才知道,看启动信息好重要.在linux中,出现问题了,要在出现问题点最近的地方找答案(我觉得这句话我说的好经典,西西)

在linux不同的运行等级中切换:

#init run-level

run-level的英文解释:

# Default runlevel. The runlevels used by RHS are:

#   0 - halt (Do NOT set initdefault to this)

#   1 - Single user mode

#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)

#   3 - Full multiuser mode(text)

#   4 - unused

#   5 - X11

#   6 - reboot (Do NOT set initdefault to this)

将上面翻译过来就是:

# 0 - 停机(千万不能把initdefault 设置为0 )

# 1 - 单用户模式  

# 2 - 多用户,没有 NFS  (没有网络)

# 3 - 完全多用户模式(标准的运行级,实际上就是text模式)  

# 4 - 没有用到  

# 5 - X11 (xwindow)  

# 6 - 重新启动