
shell(命令解释器)自带的命令称为内部命令,其它的是外部命令
内部命令使用help帮助:help cd
外部命令使用help帮助:ls --help
type命令:用于区分是内部命令还是外部命令:
ls is aliased to `ls --color=auto' #外部命令
cd is a shell builtin #内部命令
pwd命令:显示当前目录
ls命令:查看目录和文件名称
ls -l 查看目录各个字段含义
第一字段:首字母代表的是文件类型 ,其中"-"为普通文件、"d"为目录文件、"c"为字符设备文件、"b"为块设备文件、"p"为管道文件、"l"为链接文件、"s"为socket文件。“rwx”分别代表拥有读、写和执行权限,"-代表无对应权限。三个"rwx"依次代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限。
第二字段:文件硬连接数量
第三字段:文件拥有者
第四字段:文件拥有者所在组
第五字段:文件大小(以字节为单位)
第六字段:文件最后更改时间
第七字段:文件名(若为链接文件则追加显示其链接的原文件的路径)
ls命令其它参数含义:
-a显示隐藏文件(.开头的文件)
-r逆序排序
-t按照时间顺序显示
-R递归显示
ls -lartR : 按照时间顺序倒序显示所有文件及其文件夹的文件
cd命令:更改当前的工作目录
cd /path/... 绝对路径
cd ./path/... 相对路径(./可以省略)
cd ../path/... 相对路径
mkdir -p 递归目录:递归创建目录
rmdir命令:删除目录
rmdir a/b/c/d/e/ #删除空目录
rm -r a/b/c/d/ #递归删除目录,但是系统会做多次询问
rm -rf a/b/c/d/ #删除目录,不做任何询问
cp命令:复制文件和目录
-r 复制目录
-p 保留用户、权限、时间等文件属性
mv命令:移动文件和重命名
mv *.log 目标目录
通配符:
*匹配任何字符串
?匹配一个字符串
[xyz]任何一个字符串
[a-z]匹配一个范围
cat命令:文本内容显示到终端
head命令:查看文件开头
head -3 文件名称 #显示文件开头3行
tail命令:查看文件末尾
tail -3 文件名称 #显示文件末尾3行
tail常用参数-f,文件内容更新后,同步显示更新的文件信息
tail -f 文件名称
wc命令:统计文件内容信息
wc 文件名称
useradd命令:新建用户
useradd 用户名
userdel命令:删除用户
userdel 用户名 用户所在的家目录不会被删除
userdel -r 用户名 用户相关的所有配置都会被删除
passwd命令:修改用户密码
passwd 用户名
usermod命令:修改用户属性
/etc/passwd文件:查看用户文件
tail /etc/passwd
/etc/shadow文件:查看用户密码
tail /etc/shadow
groupadd命令:添加用户组
groupadd 用户组
groupdel命令:删除用户组
groupdel 用户组
用户切换
su 用户名 切换用户,但是用户所在环境不变,即pwd路径不会变化
su - 用户名 切换用户,同时会切换到用户家目录,即/home/用户名
sudo命令:普通用户需要执行root用户权限的解决方案。
以下是一些常用命令汇总;The following table provides a reminder of most of the commands that we have covered so far. If you include the three, as-yet-unmentioned, commands in the last column, then you will probably be able to achieve >95% of everything that you will ever want to do in Unix (remember, you can use the man command to find out more about top , ps , and kill ). The power comes from how you can use combinations of these commands.
-c 'cc-address' -b 'bcc-address'
'to-address' | Command to send email | | mail -s "Subject"
to-address <Filename` | Command to send email with attachment |
File Permission commands
Hope this Linux reference guide helps you!
希望这些常用的命令和系统原理,以及linux *** 作可以帮助大家提升linux命令和 *** 作!!!
ps 命令的作用是显示进程信息的;
| 符号,是个管道符号,表示ps 和 grep 命令同时执行;
grep 命令是查找(Global Regular Expression Print),能使用正则表达式搜索文本,然后把匹配的行显示出来;
ps命令有一些参数:
-e : 显示所有进程
-f : 全格式
-h : 不显示标题
-l : 长格式
-w : 宽输出
a :显示终端上的所有进程,包括其他用户的进程。
r :只显示正在运行的进程。
u :以用户为主的格式来显示程序状况。
x :显示所有程序,不以终端机来区分。
结果信息从前到后依次是:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep –color=auto dae
Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。top命令是一个交互命令。在运行top的时候还可以运行很多命令。
N – 以 PID 的大小的顺序排列表示进程列表
P – 以 CPU 占用率大小的顺序排列进程列表
M – 以内存占用率大小的顺序排列进程列表
q – 退出 top
h – 帮助
1 系统运行时间和平均负载
这些字段显示:当前时间、系统已运行的时间、当前登录用户的数量、相应最近5、10和15分钟内的平均负载。
2 任务
第二行显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用’t’切换显示。
3 CPU 状态
下一行显示的是CPU状态。 这里显示了不同模式下的所占CPU时间的百分比。这些不同的CPU时间表示:
us, user: 运行(未调整优先级的) 用户进程的CPU时间
sy,system: 运行内核进程的CPU时间
ni,niced:运行已调整优先级的用户进程的CPU时间
wa,IO wait: 用于等待IO完成的CPU时间
hi:处理硬件中断的CPU时间
si: 处理软件中断的CPU时间
st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。
4 内存使用
接下来两行显示内存使用率,有点像’free’命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。
物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。
5 各列的意思
PID 进程ID,进程的唯一标识符
USER 进程所有者的实际用户名。
PR 进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。
NI 进程的nice值(优先级)。越小的值意味着越高的优先级。
VIRT 进程使用的虚拟内存。
RES 驻留内存大小。驻留内存是任务使用的非交换物理内存大小。
SHR SHR是进程使用的共享内存。
S 这个是进程的状态。它有以下不同的值:
D – 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU 自从上一次更新时到现在任务所使用的CPU时间百分比。
%MEM 进程使用的可用物理内存百分比。
TIME+ 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
COMMAND 运行进程所使用的命令。
注意 :不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助。)
kill、kill-15、kill-9区别:
执行kill(默认kill -15)命令,系统会发送一个SIGTERM信号给对应的程序,大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。用法kill pid。
kill -15 pid。
kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。用法kill -9 pid。
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
cat a.txt 显示文件
vim xx.conf 编辑文件
打开文件后,按insert键进入编辑模式;编辑完后,按esc建退出编辑模式;按shift+冒号后,输入wq保存退出,wq!保存强制退出,q不保存退出
在根目录模糊查找名字含java的文件
服务器端常有很多压缩过的日志文件,当需要查找日志中某些特定信息的时候,为了避免解压文件,可以使用zgrep,zcat等命令查找、查看压缩文件中的信息
zgrep ' 输入你要查找的东东' /目录 /文件 .gz 或者.log (当日)
grep ' 输入你要查找的东东' /目录 /文件 .gz 或者.log (非当日的压缩文件)
例如: zgrep 'callMktCamLoad' app.log.2019-12-03-*.gz
rpm包安装的,可以用 rpm -qa 看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字"
以deb包安装的,可以用 dpkg -l 看到。如果是查找指定软件包,用 dpkg -l | grep "软件或者包的名字"
yum方法安装的,可以用 yum list installed 查找,如果是查找指定包,用 yum list installed | grep "软件名或者包名"
[摘 要] Linux系统使用越来越广泛,关系Linux的安全越来越受到人们的重视,本文结合笔者在Linux系统安全管理方面的一些经验体会,从账户、密码策略、文件权限,日志管理、远程访问等5个方面,对linux系统安全谈谈自己的体会,供大家参考。一、引言
随着Internet/Intranet网络的日益普及,Linux作为一个现代的 *** 作系统,正在各个方面得到广泛的应用。Linux在服务器、嵌入式等方面已经取得不俗的成绩,在桌面系统方面,也逐渐受到欢迎。于是Linux的安全问题也逐渐受到人们的重视。
Linux是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入 Linux系统,或者盗取Linux系统上的重要信息。因此,详细分析Linux系统的安全机制,找出它可能存在的安全隐患,给出相应的安全策略和保护措施是十分必要的。针对Linux的基本安全防护,笔者这里稍做介绍。
二、Linux系统的安全策略
1.Linux系统的用户账号策略
管理员的工作中,相当重要的一环就是管理账号。在管理 Linux 主机的账号时,一个最重要的方面就是确保每一个UID仅仅使用一次。
另外就是设置有限的登陆次数来预防无休止的登陆攻击,通过编辑/etc/pam.d/system-auth,添加下面两句可以设置账户最多连续登陆5次,超过5次账户将被锁定,只有管理员才能帮助解锁。
auth required pam_tally.so deny=5
account required pam_tally.so
2.密码策略要求
(1)口令时效和口令长度的设置。口令时效和口令长度是一种系统机制,用于强制口令在特定的时间长度后失效。对用户来说,这可能带来了一些麻烦,但是它确保了口令会定期进行更改,是一项很好的安全措施。默认情况下,绝大多数的Linux版本并没有打开口令时效,不过要想打开却非常简单。通过编辑/etc/login.defs,你可以指定几个参数,来设置口令实效和口令长度的默认设定:
PASS_MAX_DAYS99999
PASS_MIN_DAYS 0
PASS_MIN_LEN5
PASS_WARN_AGE7
当设置口令时效的天数为99999时,实际上相当于关闭了口令时效。一般设定为90天或者更短时间来更改一次。PASS_MIN_DAYS参数则设定了在本次密码修改后,下次允许更改密码之前所需的最少天数。PASS_MIN_LEN是指密码设置的最小长度,一般定义为8位以上。PASS_WARN_AGE的设定则指明了在口令失效前多少天开始通知用户更改密码(一般在用户刚刚登陆系统时就会收到警告通知)。
(2)控制密码使用频率。控制适度的密码重用频率,也可以为密码的安全策略提供良好的保护,可以通过编辑/etc/pam.d/system-auth设定密码重用。一般设置重用密码前更换密码的最小次数为4次。
password required pam_unix.so remember=3 use_authtok md5 shadow 或者 password sufficient pam_unix.so remember=3 use_authtok md5 shadow。
3.Linux的基本文件权限要求
Linux中每一个文件都具有特定的属性,主要包括文件类型和文件权限两个方面。可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件和管道文件。所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户 *** 作系统,它允许多个用户同时登录和工作。因此正确的文件权限设定是非常重要的。与系统安全关系较为密切的几个文件目录权限设置要求如下表:
4.Linux日志文件管理
日志对于系统安全来说,非常重要,它记录了系统每天发生的各种各样的事情,你可以通过它来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。因此,保护系统日志安全,不被内部用户或外部入侵者修改或删除显得尤为重要。
在Linux系统中,有三个主要的日志子系统:
连接时间日志——由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
进程统计——由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。
错误日志——由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。
Linux的日志文件很多,但是/var/log/wtmp,/var/log/messages,/var/log/faillog(权限设置为600) ,/var/log/secure (如果是Debian,/var/log/auth.log将代替它)最好是存在的。
如果服务器支持很多的用户的话,这些日志文件的大小会很快地增加,在服务器硬盘不是非常充足的情况下,必须采取措施限制日志文件的大小,定期做好日志备份和清除是非常重要的。
5.Linux的远程登录:使用OPENSSH代替FTP和Telnet
我们通常使用的网络传输程序FTP和Telnet等在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,黑客利用嗅探器非常容易截 获这些口令和数据。SSH的英文全称是Secure SHell。通过使用SSH,用户可以把所有传输的数据进行加密,这样即使网络中的黑客能够劫持用户所传输的数据,如果不能解密的话,也不能对数据传输构成真正的威胁。另外,传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP提供一个安全的“传输通道”。在不安全的网路通信环境中,它提供了很强的验证机制与非常安全的通信环境。SSH(Secure Shell)最初由芬兰的一家公司开发,但由于受版权和加密算法的限制,很多人转而使用免费的替代软件OpenSSH。命令行使用OPENSSH比较麻烦。这里介绍gFTP和OPENSSH整合在一齐,提供一个图形化加密传输方案。gFTP和Windows下的 CuteFTP一样使用非常简单,而且几乎所有的Linux发行版本都带有gFTP,不需要安装就可以使用本论文由无忧论文网整理提供 。Windows下支持SSH的客户端软件不少,推荐使用Putty和Filezilla。
目前很多公司企业对信息安全问题日益重视,完善的信息安全控制架构,先进的管理和技术的结合,才能真正满足公司企业的需要。
参考文献:
[1]王一川 Linux黑客大曝光:Linux安全机密与解决方案[M].清华大学出版社,2002~10~1
[2]汪 辉等:Linux安全最大化(第二版)[M].电子工业出版社, 2002~1~1
[3]前导工作室 Linux安全:入侵防范、检测、恢复[M].机械工业出版社,2002~1~1
本论文由无忧论文网整理提供
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)