Linux添加新用户后不读取.bashrc配置文件

新服务器的系统默认只有一个root账户可以登陆,虽然是改了端口的,但这属实是危险。
于是就添加了一个新普通用户,并且禁止了root账户登陆。当普通用户登陆的时候,却没有去读取.bashrc中的配置,那些带颜色的命令依然不生效。无奈就研究了一下Linux用户登陆读取配置文件过程:
一、shell的区分
1、登录式shell
正常通过某终端登录
su – USERNAME
su -l USERNAME

2、非登录式shell
su USERNAME
图形终端下打开命令窗口
自动执行的shell脚本

二、用户登录时相关的bash配置文件
1、全局配置文件
/etc/profile 设定环境变量 运行命令或脚本
/etc/profile.d/*.sh
/etc/bashrc 设定本地变量 定义命令别名

2、个人配置文件
~/.bsah_profile 设定环境变量 运行命令或脚本
~/.bashrc 设定本地变量 定义命令别名

三、用户登录时加载bash配置文件的过程
1、登录式shell加载配置文件过程
/etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc

2、非登录式shell加载配置文件过程
~/.bashrc –> /etc/bashrc –> /etc/profile.d/*.sh

既然了解了这个过程,那解决我的需求就比较简单了,把配置好的root的.bash_profile和.bashrc都复制到新用户目录下(有些系统没有.bash_profile,只有.profile,使用是一样的效果),修改好宿主权限,重新登陆,OK,彩色命令又回来了。

sync each other between two CentOS Linux Server

I have two PHP web server,now I need load balance,so I must keep web files all the same.

many ways I found,for example sshfs,rsync.

when sshfs I choosed,I found that the disk IO is slow.because two web server use one web files,the web files are shared by one of the servers by LAN.

rsync is not suited here.because I need the two servers can sync data to each other automotically,obvious,rsync just sync data from one to another,it is not I want.

finally,I found lsyncd and choose it.

it can sync data to each other automotically,that is I need.

阅读更多

一次安全配置的乌龙事件

最近开始对公司的服务器进行安全配置,原本是不太想动太多配置的,原因嘛,就是会有人上去偷窥你干的活,所以嘛,我就以最小的改动或者基本不改动来加强一下。

本来是不太想过多改动的,当时想着等级保护策略,就增加了一条PAM的安全策略,结果,把自己堵外面了,真的是欲哭无泪啊。

后来只能让现场人员改动端口了,我也是醉了,堪称一次大乌龙事件。当然,还有另外的一个乌龙事件,就不多说了,哈哈。

本站服务器被黑了

说出来可能多少有点丢人,对,本站——黑色自由的服务器被黑了。。。同时被黑的还有另外两台服务器。事情的起因是这样的:

今天凌晨,收到企鹅家的短信提醒,说是在服务器上发现了可疑文件,二话不说到公司后就登陆上去看了一下,嗯,果然,眼熟的挖矿病毒。

/tmp/.font-unix目录下,mine,init,hide,各种齐全。直接清理一下,该杀的杀,该删的删,顿时CPU资源就降下来了,mine这个进程吃完了所有CPU资源。

清理完之后,随手看了一下端口,卧槽,这是个什么玩艺,怎么服务器连到一些奇怪的IP。继续查吧,原来是个init程序,删了删了。这下终于系统又恢复正常了。

为了防止有些其它后门什么的,又去把sshd_config检查了一下,PAM关了,允许root登陆关了,再看了下没有可疑的证书什么的,最后,firewalld装上,策略搞一搞。

三台服务器,同样的操作,这根本就是密码泄露啊卧槽:

180.246.62.19 Fri Jul 22 05:24 – 05:32 (00:07)

180.246.62.19 Fri Jul 22 05:22 – 05:32 (00:09)

180.246.62.19 Fri Jul 22 05:20 – 05:32 (00:11)

看看,这三条记录,间隔2分钟分别登陆3台服务器,这根本就不是漏洞造成的,这根本就是密码泄露,虽然我3台服务器用户名密码一样,但这么精确的登陆,根本就是连我服务器地址都拿到了。

这样一来,什么样的场景能同时拿到我服务器密码和地址?肯定是工作单位,家里。

工作单位,嗯,有人在内网sniffer,家里,破长城宽带,也有可能被sniffer,还有就是,黑色自由用的特别版SSH工具,比如SecureCRT,Xshell。

先改个密码吧,然后再考虑考虑要不要上证书。这也太操蛋了。

mount.nfs: Protocol not supported

公司项目新上了NAS系统,也不晓得是个什么破烂玩艺,反正进去一通配置就搞行了,下面是挂载遇到的问题:
OS:CentOS7.9
NAS NFS:/pool/data
OS的NFS客户端安装就不说了,一大堆,直接YUM就行了。
问题出在挂载的时候,直接mount -t nfs的时候提示mount.nfs: Protocol not supported,意思就是不支持的协议,既然这样就指定协议好了:
mount -t nfs -o rw,nfsvers=3 remote:/pool/data /localdirectory
当然还有nfsvers=2和1的,反正自己测好了,我这里是用3就可以正确挂载了。

开启SFTP日志记录

因为工作需要,需要调试sftp,设备的一系列操作日志都要,所以就有了这篇。PS:公司采购定制设备,猫腻是真多,乙方供货商态度真的是差的一批,程序逻辑半天都说不清楚,每次说的还都不一样,我都想去翻他代码了。

vi /etc/ssh/sshd_config

Subsystem sftp /usr/libexec/openssh/sftp-server -l INFO -f local5
LogLevel INFO

INFO只是默认情况下的详细信息之一,它提供有关文件传输,权限更改等的详细信息。如果您需要更多信息,则可以相应地调整日志级别。各个级别(按详细顺序)是:QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3
VERBOSE上的所有内容可能都比您想要的要多,但它可能很有用。

vi /etc/rsyslog.conf
在最后添加:
auth,authpriv.,local5. /var/log/sftp.log

service rsyslog restart
service sshd restart

可以去/var/log/查看日志了。一切都将在这里显形。:)

一篇不算太正规的入侵检测

起因是这样的,刚入职一家小公司,发现部门同事和负责人有点不太对劲。

因为入职时开的工资比他们高,但是从事的工作内容也和同事不一样,主要就是Linux服务器方面,包括安全问题,而且这家公司的服务器安全问题比较重要。所以问题来了,同事都是做硬件实施的,跟服务器基本不搭边,而且他们也都不懂Linux,然后呢,他们就会各种偷窥屏幕之类,部门负责人的态度也不明确,而且他也有点想让周围同事从我这里学东西的意思。所以呢,我在做工作的时候,就稍微的留了些手段,毕竟出来混嘛,害人之心不可有,防人之心不可无。万一遇到卸磨杀驴的人了呢,你说是吧。

问题服务器是一台CentOS6.9,因为被黑了,所以被机房拔线了。根据负责人提供的信息,判断应该是中了挖矿病毒。到了现场后,插上显示器键盘,随便一看,就发现CPU占用100%,一个奇怪的进程占满了CPU资源,名字叫bash,二话不说,干掉。用这个名字也太low了点。

然后一分钟后进程又来了,哈哈,不杀了,看看宿主,一个根本不会用到的用户,su过去,找到程序位置,打包,scp走,删之。

查看定时任务,嗯,确实是在这里,删。

回到ROOT下,清掉证书登陆。这时候又发现一个奇怪的进程,叫imap,哈哈,看来还有。不过没关系,我把之前删掉文件中的几个域名全BAN掉,让你下不了病毒回来。

然后去看了下那几个病毒文件,居然有xhide,这个鼎鼎大名的东西,哈哈,那么系统里肯定还有隐藏的东西,但是呢,我也不去深挖了,扔那。

随手看了下登陆日志,我去,一堆爆破信息,当然也记录了第一次成功登陆的信息,期间因为把这事跟销售随口提了一下,销售就要我提供完整的资料,美其名曰写报告,我就呵呵了,这种套路,谁不明白呢,给了你信息你就转给我同事了。

好了,既然你们这么爱玩套路,那就别怪我留一手啦。隐患不排除,留着,哈哈。