linux root 配置显示,linux定制root登录显示系统信息

为了每次root用户登陆到时,自动报告当前登录的用户数、打开的进程数、剩余可用内存、剩余交换空间,虽然有nagios监控到服务器的,但我也想每次登录服务器也可以看到这些信息.

系统:centos 5.5

1.编写登录欢迎脚本login.root

使用who、ps、wc命令及管道操作统计登录用户数、进程数,并使用free、awk命令结合管道操作提取剩余可用内存、剩余交换空间信息.

vi login.root

#!/bin/bash

echo "This is a private server,please leave,thanke you!"

echo "Welcome $USER To Login To This Server!"

LoginUserNum=`who | wc -l`

OpenProcesNum=$(expr $(ps aux | wc -l) - 1)

FreeMem=`free -m | grep Mem: | awk '{print $4}'`

FreeBuffers=`free -m | grep - | awk '{print $3}'`

FreeCache=`free -m | grep - | awk '{print $4}'`

FreeSwap=`free -m | grep Swap: | awk '{print $4}'`

echo "Number of Login Users:"$LoginUserNum

echo "Numbre of Running Processes:"$OpenProcesNum

echo "Free Memory Size(MB):"$FreeMem

echo "Free Buffers Size(MB):"$FreeBuffers

echo "Free Cache(MB):"$FreeCache

echo "Free Swap Space Size(MB):"$FreeSwap

2.赋权限,并加入到root的.bashrc文件中

chmod a+x login.root

vi ~/.bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

/root/webbak/login.root

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

可以看到我的脚本是放在/root/webbak下的,你可以根据自己的情况来修改.

3.重新登录验证

c3cd69ab5480ce8d93c395fb8afd1be4.png

可以看到有提示信息,到这里还没有完,我们再来试试上传东西,可以看到无法使用sftp了,报下面的错:

File transfer server could not be started or it exited unexpectedly.Exit value 0 was returned. Most likely the sftp-server is not in the path of the user on the server-side.

743fcdd5d8c58a8ef6e93c64bd622299.png

罪魁祸首就是.bashrc文件.

在bash的联机手册里有一段,说的是关于通过RSHD登录系统时,系统要执行.bashrc文件.而这个文件是在启动一个交互SHELL时才要执行的.而在SSH登录时,系统就要执行.bashrc文件.而SSH登录系统是非交互的.如果执行.bashrc文件时,产生输入与输出就会出在我遇到的这个问题.

解决办法是:

在.bashrc文件中,测试一下是交互SHELL还是非交互的,如果是非交互的,则直接退出即可.

一般在.bashrc文件的最前边加入下面这行就可以了:

[ -z "$PS1" ] && return      #我试验了此条,一般用户修改自己家目录下的.bashrc成功!

或者:

[ $- != *i* ] && return

内容如下:

# .bashrc

# User specific aliases and functions

[ -z "$PS1" ] && return

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

/root/webbak/login.root

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

这样才能使用sftp.好了,就到这里.

夜空- 本站版权

1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权

2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意

3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责

4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

5、原文链接:blog.slogra.com/post-318.html

post-318.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值