日历

2018年十一月
« 9月    
 1234
567891011
12131415161718
19202122232425
2627282930  

最近评论

    linux企业应用

    Ubuntu 18.04版本设置root账户本地和远程登录

    Ubuntu18.04默认是不允许root账户本地和远程登录的,因此想要使用root本地和远程登录,可以使用以下步骤:
    1.首先获得临时的root权限,因为后面的一些操作需要root权限才可以,打开终端输入以下命令
    sudo -s
    之后直接输入当前账户的密码,就可以获得临时的root权限
    2.先创建root账户的密码:passwd root根据提示输入密码(这里的密码是以后登录root账户时的密码)
    3.修改配置文件,文件路径/usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf,这个文件默认没有,需要自己创建,并添加两行信息,命令如下:
    cd /usr/share/lightdm/lightdm.conf.d/
    vi 50-unity-greeter.conf
    greeter-show-manual-login = true
    all-guest = false
    保存退出
    4.去除gdm登陆用户名检测:
    修改/etc/pam.d/gdm-autologin  文件
    vi /etc/pam.d/gdm-autologin
    删除 或注释掉以下语句
    auth required pam_succeed_if.so user != root quiet_success
    修改 /etc/pam.d/gdm-password 文件
    vi /etc/pam.d/gdm-password
    同样删除 或注释掉上面的语句
    5.修改/root/.profile文件
    vi /root/.profile文档最后一行
    mesg n || true 前添加  tty -s && 即修改为:
    tty -s && mesg n || true
    6.重启系统,终端界面输入
    #reboot
    重启完成后,登陆界面选择 “未列出”,之后用户名输入 root 进行登录即可。但是还不能远程登录,需要再执行步骤7.

    7、允许root远程登录
    vi /etc/ssh/sshd_config
    #PermitRootLogin prohibit-password 默认只有这一行,在这一行下面添加下面这一行信息
    PermitRootLogin yes
    重启ssh服务,service ssh restart 即可进行远程登录了。

    linux企业应用

    Netstat 中 Recv-Q和Send-Q状态

    运行netstat -anp发现recv-q 和 send-q 状态不是很正常,对这2个参数不了解,特意学习了一下,简单总结如下:

    recv-Q 表示网络接收队列
    表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()
    如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。

    send-Q 表示网路发送队列
    对方没有收到的数据或者说没有Ack的,还是本地缓冲区.
    如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。

    这两个值通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。

    从运行netstat -anp中可以看到是大量的 send-Q ,可以判定是发送数据给目的地址的时候出现了阻塞的问题,导致了包堆积在本地缓存中,不能成功发出去。那么问题就产生在了客户端,根据公司的业务逻辑发现是客户端发送的TCP长连接数量过多。验证办法,尝试减少客户端和服务的长连接.查看效果

    linux企业应用

    failed to load selinux policy,freezing错误修复

    今天一个客户说两台centos7.2系统的服务器修改配置文件,重启后连接不上了。在系统界面,按ESC键,在启动界面,看到!!!!failed to load selinux policy,freezing,还好,知道是修改SELINUX配置文件引起的。
    处理过程如下:
    1、开机时随便按下键盘,进入内核菜单,选择最上边的项;
    2、定位到 ro(linux 16 or linuxefi)
    3、把ro改成 “rw init=/sysroot/bin/sh”(或者“rw init= /bin/sh”,这是指定shell环境) 完成之后按 “Ctrl+x”, 就进入单用户模式了。
    4、系统出现#后,执行chroot /sysroot/
    5、vi /etc/selinux/config
    查看修改的位置,
    SELINUX=disabled
    SELINUXTYPE=targeted,
    修改错误,保存退出
    6、冷启动系统,系统正常进入。

    linux企业应用

    VMware虚拟机有大量磁盘IO错误的真相!

    症状:
    有一台mysql数据库服务器,启动一会,系统报大量的IO错误,进入数据库,尝试将表导出,导出的速度慢的受不了,在导出的过程中,报数据文件的磁盘IO错误。

    尝试:
    登录同在一个LUN上的虚拟机查看他们的状态,一切正常。将该LUN上的其他虚拟机全部迁走,只留下这台mysql服务器,mysql数据库依然有磁盘IO错误。
    在网上查系统IO错误的问题,数据库IO错误的问题,怀疑系统与数据库版本之间兼容性不行。后来查到这篇文章:
    https://blog.csdn.net/sinat_22679101/article/details/79293979
    赶紧将存储上告警的电池替换。再启动mysql数据库,没有错误了,将表导出的速度也恢复正常。

    控制器电池的作用是存储电源宕掉后,将缓存里的数据写入磁盘。但是电池故障怎么会造成磁盘IO错误呢,以前也遇到过N次电池故障啊,和上层的应用有毛毛关系啊。

    总结:
    如果有io错误,很可能和存储有关!
    控制器的电池会影响cache,但是和IO之间有神马关系。。。求解
    啥东西坏了都先看看线!都在线也未必都好用,真的不好说,是什么原因造成的问题啊。

    linux企业应用

    SecureCRT ssh登录linux 显示connection closed

    今天SecureCRT 登录内网linux机器就提示connection closed,但其他人可以登录,查看了linux机器防火墙没开着,
    查看/etc/hosts.allow ,/etc/hosts.deny 也没有限制。
    后来查到在/etc/ssh/sshd_config 有个默认MaxSessions 限制
    描述:
    MaxSessions
    Specifies the maximum number of open sessions permitted per net-
    work connection.  The default is 10

    默认为10个,由于这台linux服务器在另外一个网段,所以有可能是这个原因。
    试着把MaxSessions 改大了删掉前面的”#”号,
    /etc/init.d/sshd restart
    重启sshd服务后就ok了

    (2)
    之后又复现了 connection closed。
    在重启sshd 服务时,报了一下这样的错
    libz.so.1: failed to map segment from shared object: Permission denied
    其中libz.so.1是一个链接文件, libz是zlib压缩的库,安装这个库后执行了ldconfig
    删除这个libz 库后恢复了正常。

    linux企业应用

    centos7 下rc.local里的命令不执行

    一直没怎么用centos7,今天在rc.local文件里添加一个开始执行的服务,结果开机后服务没有启动,仔细一看,原来rc.local已经变了

    [root@localhost ~]# cat /etc/rc.d/rc.local
    #!/bin/bash
    # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
    #
    # It is highly advisable to create own systemd services or udev rules
    # to run scripts during boot instead of using this file.
    #
    # In contrast to previous versions due to parallel execution during boot
    # this script will NOT be run after all other services.
    #
    # Please […]

    linux企业应用

    两块磁盘挂载到一个磁盘,磁盘空间减少的问题

    今天一个客户非常着急的过来说,数据库服务器挂了,两块硬盘,一块1T,一块500G,系统里看到两个500G的硬盘,所有的数据都没有了。
    客户输入密码进入系统,执行df -h命令,看到/dev/sdb1 和/dev/sdc1 都是500G,使用100多M,正常情况是/dev/sdb1 1T的磁盘使用率90%。
    在征得客户同意的情况下,重启服务器,再次进入系统,执行df -h命令,只有/dev/sdb1,使用率正常,/dev/sdc1没有。
    查看/dev/fstab,没有添加/dev/sdc1的挂载,客户现场添加,命令如下:
    /dev/sdc1    /oracle
    看到这里,我知道问题出在那里了,客户的/dev/sdb1 也挂载到了/oracle目录下,昨天客户格式化/dev/sdc1后,执行命令/mount /dev/sdc1 /oracle了,但是不知道再修改那个文件,所以没有修改/etc/fstab.
    这是第一次碰到将2块硬盘都挂载到一个挂载点,可惜忘记拍照了。

    linux企业应用

    Linux 系统JBD2报错处理

    JBD2是journaling block device 2的缩写,用来实现文件系统的日志功能,是为Ext4文件系统服务的,其实JBD2也可以为其它的文件系统服务,但是目前来说只有Ext4和OCFS2文件系统用它。JBD2作用的原理是在Ext4文件系统把数据提交到驱动前先调用它,JBD2根据系统的不同设置来完成数据或是操作的备份后,再让Ext4系统提交数据,当文件系统把数据写入了设备后,就通过JBD2把刚才数据或是操作备份删除,这样来保证数据的一致性。

    有一台linux服务器出现只读的情况,报错信息如下:
    sd 2:0:0:0:timing out command,waited 180s
    Buffer I/O error on device dm-0,logical block 5864465
    Buffer I/O error on device dm-2,logical block 31490048
    JBD2: I/O error detected when updating journal superblock for dm-2-8.
    sd 2:0:0:0: timing out command,waited 180s
    sd 2:0:0:0: timing out command,waited 180s
    Buffer I/O error on device dm-2,logical block 0
    Buffer I/O error on device dm-0,logical block 6324224
    sd […]

    linux企业应用

    Linux系统开机自检失败处理步骤

    Linux系统开机自检失败,出现Faild信息,比如:
    /dev/sda* : UNEXPECTED INCONSISTENCY;RUN fsck MANUALLY.
    (i.e., without –a or –p options)
    [FAILD]
    ***an error occurred during the file system check.
    ***dropping you to a shell;the system will reboot
    ***when you leave the shell.
    give root password for maintenance
    (or type Control-D to continue):
    意思就是在文件检测的时候发生错误,把你放入一个shell,离开此shell后系统会重新启动。输入root的password进行维护。
    这时假若重启的话,还会把你带回到这个界面。所以输入root账号的密码手动进行文件系统check吧。根据系统提示,使用fsck时不要使用-a和-p这两个参数,比如直接输入:
    fsck /dev/sda2
    系统会检测到文件系统错误,提示修复,fix<y?>,直接回车就可以了,直到修复所有的文件系统错误,并重新回到shell,reboot重启电脑,有时输入reboot不起作用,可以使用ctrl+alt+del重启电脑,或者冷重启,进入系统就可以了。

    linux企业应用

    centos 7 图形界面 文本界面切换

    1,命令模式
    systemctl set-default multi-user.target

    2,图形模式
    systemctl set-default graphical.target

    接着 reboot 即可

    linux企业应用

    创建快照时出错:msg.snapshot.error-QUIESCINGERROR.

    今天克隆一台虚拟机,提示错误如下:
    创建快照时出错:msg.snapshot.error-QUIESCINGERROR.
    保存快照是出错:msg.snapshot.error-QUIESCINGERROR.

    解决办法是:启动服务Virtual disk,并设为自动启动,禁用vmware snapshot provider服务。

    再克隆就好了。

    linux企业应用

    WDCP被黑后查杀后门和恶意程序的方法步骤

    1、一台服务器受到攻击,据反映ps、lsof、ss、netstat被置换了,进入系统,执行ps命令,找到如下信息,正常情况下,应该只有第一条,而现在出现了两条,同时第二条也反映了这次入侵的特点,ps、lsof、ss、netstat这四个命令被备份到/usr/bin/dpkgd目录下!
    [root@localhost bin]# ps aux
    root      7941  0.0  0.0   1484   704 pts/2    S+   09:40   0:00 ps aux
    root      7942  0.0  0.0 110256  1144 pts/2    R+   09:40   0:00 /usr/bin/dpkgd/ps aux

    2、通过查看,/bin/ps这个命令文件的大小是1223123字节,通过下面的命令查找系统中同样大小的文件,有如下这些
    [root@localhost rc.d]# find / -size 1223123c
    /usr/bin/bsd-port/getty
    /usr/bin/.sshd
    /usr/sbin/lsof
    /usr/sbin/ss
    /etc/kblockd
    /bin/ps
    /bin/netstat
    find: “/proc/8145/task/8145/fd/5”: 没有那个文件或目录
    find: “/proc/8145/task/8145/fdinfo/5”: 没有那个文件或目录
    find: “/proc/8145/fd/5”: 没有那个文件或目录
    find: “/proc/8145/fdinfo/5”: 没有那个文件或目录

    3、布置一台同样版本的系统。受入侵的系统是Centos6.5,找来一台Centos6.4的系统与6.5的对比,发现命令文件的大小和6.5的不一样,所以需要布置一台和受入侵系统版本一致的对照系统。
    [root@localhost bin]# cd /usr/bin/dpkgd
    ps、lsof、ss、netstat这四个命令的大小如下:
    [root@localhost dpkgd]# ll -h
    总用量 436K
    -rwxr-xr-x 1 root root 143K 12月 24 18:21 lsof
    -rwxr-xr-x 1 […]

    linux企业应用

    NetworkManager导致网络错误

    1、今天一台服务器网络连接不上了,经查看,eth0和eth1做了bonding,使用stat命令查看和网络配置相关的文件,也没有查看到网络配置文件被修改过。
    /etc/sysconfig/network-scripts/ifcfg-bond0
    /etc/sysconfig/network-scripts/ifcfg-eth0
    /etc/sysconfig/network-scripts/ifcfg-eth1
    /etc/modprobe.d/modprob.conf
    /etc/rc.d/rc.local

    2、重新启动网络,执行命令service network restart,可以看到eth0,eth1等都能启动,但是bond0启动报错
    Bringing up interface bond0: Error:Connection activation failed:The connection not for this device.

    3、执行 chkconfig –list | grep NetworkManager
    看到NetworkManager 这货居然存在并启动了。果断停止 service NetworkManager stop

    4、再次执行service network restart,可以看到bond0启动正常。

    5、为防止NetworkManager再次启动,执行chkconfig –level 2345 NetworkManager off。
    永久关闭NetworkManager,这个软件很不好用。

    linux企业应用

    linux系统无法引导无法执行grub-install的处理过程

    1、有一台linux主机重启后,连接不上,打开终端,系统停留在grub界面,grub>;
    2、在命令行,输入find (hd0,0),敲tab键,没找到文件;

    3、看到上面的输出,猜测系统应该是完全损坏了;
    4、使用光盘进入拯救模式,语言选择默认,键盘选择默认,网络恢复选择NO,选择continue,或read only,剩下的选择OK,继续就行
    5、进入sh-4.1# ,ls /mnt/sysimage/ 显示为根目录的文件,发现各文件都在;输入 chroot /mnt/sysimage,回车;
    6、执行grub-install  /dev/sda 命令,重新安装grub,显示一下错误:/boot/grub/stage1 not read correctly
    7、尝试修改/boot/grub/stage1的名字,系统提示只读,网上搜索/boot/grub/stage1 not read correctly的错误原因,提示是/etc/fstab和/etc/mtab有问题,检查发现这2个文件没有特殊的地方;
    8、按照文件系统错误的思想,查看各磁盘信息,发现 /boot 分区 500M左右,fdisk查看/dev/sda发现,sda1是LVM格式;CentOS系统的boot分区一般不选择LVM格式,而且这台服务器有2个磁盘sda和sdb,各200G,从df命令显示来看,进行过LVM扩容的操作,所以怀疑/dev/sda1的文件系统的ID应该不是8e,而是83
    9、修改/dev/sda1的文件系统ID,依次执行,fdisk /dev/sda,p查看分区,/boot是sda1,分区号应该是1,执行t命令修改文件系统ID,分区输入1,修改成的文件系统ID输入 83,输入w保存退出,exit退出sh-4.1,执行reboot
    10、系统启动成功。

    linux企业应用

    计算机重名导致计算机很卡

    今天一台计算机很慢,看系统日志,net.pipe listener adapter无法开启,另外还有2个相关的服务启动存在错误。在系统日志中,还有一条,就是系统的名字,网络中已经有其他的服务器使用了相同的名字,导致本机不能使用该名字。

    修改就算计名字,然后重新启动,系统流畅了,也没有net.pipe listener adapter无法开启的错误了。

    linux企业应用

    Centos6.5解决无法本地登录的一个实例

    今天一客户服务器在机房无法本地登录,但是通过ssh可以远程登录,查看登录验证文件,内容如下
    [root@XX02 pam.d]# cat /etc/pam.d/login
    #%PAM-1.0
    auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
    auth       include      system-auth
    account    required     pam_nologin.so
    account    include      system-auth
    password   include      system-auth
    # pam_selinux.so close should be the first session rule
    session    required     pam_selinux.so close
    session    required     pam_loginuid.so
    session    optional     pam_console.so
    # pam_selinux.so open should only be followed by sessions to be executed in the user context
    session    required     pam_selinux.so open
    session    required     pam_namespace.so
    session    optional     pam_keyinit.so force […]

    linux企业应用

    centos7 welcome to emergency mode问题处理

    今天一台centos无法正常启动,登录界面显示如下内容:
    piix4_smbus XXXXX:Host SMBus controller not enabled!
    end_request: I/O error,dev fd0,sector 0

    首先解决第一个问题,处理过程如下:
    [root@node1 ~]# lsmod | grep i2c_piix4
    i2c_piix4              11232  0
    i2c_core               29132  1 i2c_piix4
    [root@node1 ~]# vi /etc/modprobe.d/blacklist.conf    添加一下信息:
    blacklist i2c_piix4
    [root@node1 ~]# systemctl reboot
    重新启动后,piix4的报错没有了,但是fd0的报错还在,这个需要修改BIOS,再次重新启动系统,进入BIOS
    在Main页,将软驱启动设置为Disabled,保存退出,再次启动,发现end_request: I/O error,dev fd0,sector 0的错误提示没有了,但是系统依然在emergency mode。
    输入用户密码进入系统,执行命令df -h 发现系统之挂载了/boot  和  /  分区,cat /etc/fstab 发现有4个分区进行挂载,swap分区也许挂载了,也就是说有一个分区/dev/sdb1没有挂载正确,错误的信息如下:
    /dev/sdb1  /storage xfs 0 0

    [root@node1 ~]# stat /etc/fstab  发现该文件在客户报错前修改过
    于是将
    /dev/sdb1  /storage xfs 0 0
    修改为:
    /dev/sdb1  /storage xfs defaults […]

    linux企业应用

    Linux一条语句显示IP

    centos 6下,一条语句显示IP地址:
    [root@FTPSvr01 ~]# ifconfig eth0|awk -F'[ :]+’  ‘/t a/{print $4}’
    111.222.123.234
    简要解释:
    ‘/ t a/’是过滤包含t a的行
    -F'[ :]+’  以多个连续空格或冒号为分隔符
    {print $4}打印第四列

    或者使用语句: ifconfig eth0|awk ‘/inet addr/{print $2}’| awk -F: ‘{print $2}’

    在centos 7 下,一条语句显示IP地址,还不够完善
    [root@TestCentOS7 ~]# ip addr show | awk ‘/inet /{print $2}’
    127.0.0.1/8
    172.33.44.55/24

    用下面这条语句,可以显示想要的IP了:
    [root@TestCentOS7 ~]# ip addr show | awk -F'[ /]+’ ‘/global /{print $3}’
    111.222.123.234

    linux企业应用

    工具栏点击没有反应问题处理

    今天一个的windows服务器出现了一个问题,窗口的东西可以动,可以编辑,但是工具栏无论右键,或者左键都没有反应。
    处理方法:启动任务管理器,点进程,找到explorer.exe,点击结束进程,
    然后点击文件,新建任务,点击浏览,在C:\Windows目录下找到 explorer,点击打开,回到创建新任务,点击确定,桌面和工具栏都可以使用了。

    linux企业应用

    利用Nmap端口扫描

    安装nmap:yum -y install nmap

    命令:nmap -v -sT  IPAddr

    [root@TestCentOS7 ~]# nmap -v -sT IPADDRESS

    Starting Nmap 6.40 ( http://nmap.org ) at 2016-07-15 15:16 CST
    Initiating Ping Scan at 15:16
    Scanning IPADDRESS [4 ports]
    Completed Ping Scan at 15:16, 1.01s elapsed (1 total hosts)
    Initiating Parallel DNS resolution of 1 host. at 15:16
    Completed Parallel DNS resolution of 1 host. at 15:16, 6.50s elapsed
    Initiating […]