首页编程liunx liunx安全策略

liunx liunx安全策略

编程之家2023-11-04207次浏览

各位老铁们,大家好,今天由我来为大家分享liunx,以及liunx安全策略的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

liunx liunx安全策略

在liunx系统中怎么查找文件

可以使用find及local查找。

find:

1.命令格式:

find pathname-options [-print-exec-ok...]

2.命令功能:

用于在文件树中查找文件,并作出相应的处理

liunx liunx安全策略

3.命令参数:

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

-print: find命令将匹配的文件输出到标准输出。

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command'{}\;,注意{}和\;之间的空格。

-ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

4.命令选项:

liunx liunx安全策略

-name按照文件名查找文件。

-perm按照文件权限来查找文件。

-prune使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

-user按照文件属主来查找文件。

-group按照文件所属的组来查找文件。

-mtime-n+n按照文件的更改时间来查找文件,- n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime选项,但它们都和-m time选项。

-nogroup查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

-nouser查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

-newer file1! file2查找更改时间比文件file1新但比文件file2旧的文件。

-type查找某一类型的文件,诸如:

b-块设备文件。

d-目录。

c-字符设备文件。

p-管道文件。

l-符号链接文件。

f-普通文件。

-size n:[c]查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

-mount:在查找文件时不跨越文件系统mount点。

-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外,下面三个的区别:

-amin n查找系统中最后N分钟访问的文件

-atime n查找系统中最后n*24小时访问的文件

-cmin n查找系统中最后N分钟被改变文件状态的文件

-ctime n查找系统中最后n*24小时被改变文件状态的文件

-mmin n查找系统中最后N分钟被改变文件数据的文件

-mtime n查找系统中最后n*24小时被改变文件数据的文件

locate:

1.命令格式:

Locate [选择参数] [样式]

2.命令功能:

locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)

locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*”或”?”等)来指定范本样式,如指定范本为kcpa*ner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括子目录在内的所有档案。

locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。

3.命令参数:

-e将排除在寻找的范围之外。

-1如果是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate必须至实际的档案系统中取得档案的权限资料。

-f将特定的档案系统排除在外,例如我们没有到理要把 proc档案系统中的档案放在资料库中。

-q安静模式,不会显示任何错误讯息。

-n至多显示 n个输出。

-r使用正规运算式做寻找的条件。

-o指定资料库存的名称。

-d指定资料库的路径

-h显示辅助讯息

-V显示程式的版本讯息

liunx SHELL脚本

Shell脚本基本知识

概述:shell其实是内核与用户之间的一个接口,

shell脚本

如果有一系列经常使用的linux命令,你可以把它们存储在一个文件肿。shenll可以读取这个文件,并执行其中的命令。这样的文件成为脚本文件。

执行shell脚本

要创建一个shell脚本,你要使用任何编辑器比如vi在文本文件中编写他。

为了使用bash shell赖执行脚本magic,其命令是:bash magic或者./magic

echo命令:

echo“this is an example of the echo command!”

屏幕上就会回显“this is an example of the echo command!”

#符号

用于在shell脚本肿可以包含注解入口

echo“hello”

#this is a comment line. this would not produce any output!

echo“world!”

第二行是一个注解的例子。它将被shell忽略,而且不产生任何消息

变量:

可以在任何时间通过简单的赋值来创建。

语法:

<variable name>-<value>

Linux中的所有变量都被当作字符串

引用变量:

$符号用于引用一个变量的内容

variable1=${variable2}

读入值给变量

在执行shell脚本时,shell还允许用户直接从键盘读入一个值给变量,还可以使用read命令来作。

$read fname

本地和全局shell变量

局部变量

当引用shell时,只有创建它的shell能够知道变量的存在

全局变量

称为子shell

shell中创建的变量局部于创建它的shell,除非使用export命令特别指出是全局的。

环境变量:

通过改变这些变量的值,用户能够定制此环境

一些环境变量的例子是HOME,PATH,PS1,PS2,LOGNAME,SHLVL,及SHELL

HOME变量

Linux系统中的每个用户都有一个相关的称作HOME的目录

当一个用户登录后,进入相应的HOME的目录

$ echo$HOME

PATH变量

包含一列用冒号定界的目录的路径名字,便于可执行程序的搜索。

PS1变量

PS1(Prompt String 1)变量包含了shell提示符,$符号

$ PS1=“HELLO>”

HELLO>

PS2变量

是为第二个提示符设置值的环境变量

LOGNAME变量

包含用户的注册名字

$echo“${LOGNAME}”

SHLVL变量

该变量包含当前工作的shell level

SHELL变量

环境变量存储了用户缺省的shell

env命令

可用来查看所有的已移出的环境变量表和它们各自的值!

命令替换

在单个命令行中使用多个命令的另外一种方法(非Pipes)是通过命令替换

echo“the data is `date`”

expr命令

用于求之算术表达式。该命令的输出被送到标准输出

$ expr 4+ 5

将在屏幕上显示9

算术展开:

你可以在$((…))中括一个表达式,用下面的命令来计算它的值;

$((expression))

example1

编写一个shell脚本用于计算呼叫中心未应答的询问的数量。该脚本应该接受一天那所报告的询问的总数和应答的询问的数量,以便计算未应答的询问的数量。

所有未应答的询问总数=所有询问的总数-应答的询问的数量

<!--[if!supportLists]-->※<!--[endif]-->※※※※※※※※※※※※※※※※※※※※※※※

条件执行

test和[]

求值表达式,并返回true(0)或false()

数值测试:

-eq等于则为真

-ne不等于则为真

-gt大于则为真

-ge大于等于则为真

-lt小于则为真

-le小于等于则为真

if构造

Linux shell提供了循环和判定的构造,可以在shell脚本中使用

算术测试

结合if构造,它可以用于测试变量的数字值

串测试

test命令也可以用于字符串

=等于则为真

!=不相等则为真

-z字符串长度为零则为真

-n字符串长度不为零则为真

文件测试

test命令也可以用于检查文件的状态

-e文件存在则为真

-r文件存在并且可读则为真

-w文件存在并且可写则为真

-x文件存在并且可执行则为真

-s文件存在并且至少有一个字符则为真

-d文件存在并且为目录则为真

-f文件存在并且为普通文件则为真

-c文件存在并且为字符型文件则为真

-b文件存在并且为块特殊文件则为真

-a并且-o或者!非

exit命令

用于终止shell脚本的执行并返回到$提示符下

case。。。esac

shell脚本中使用的这个构造依据变量的值而执行一组特定指令

当变量的值和其中的一个值匹配的时候,就执行写在该值下的一组命令。

example3

迭代

while构造

while<条件>

do

<命令(s)>

done

只有条件为真的时候,才能执行do与done之间的命令

until构造

until循环构造的求值模式于while循环相反

until循环将继续执行直到求值的条件为真的时候

for构造

for variable_name in<list_of_values>

do

done

for循环取一列值作为输入并对循环中每个值执行循环

break和contineu命令

同其他语言中的用法

example4

控制进程的执行

请求后台处理

用于请求后台进程的符号是(&)

$ wc tempfile&

[1] 2082

$ vi newfile

检查后台进程

ps(进程状态)命令为每个当前的活动的每个进程产生一行入口。

终止后台进程

可用kill,如下所示

kill 278

查看完成一个命令所花的时间

你可以使用time命令来查看一个命令从开始到结束所花的时间

time fine/etc–name“passwd” 2>/dev/null/dev/null表明忽略错误信息。

管道的介绍

垂直条(|)是管道字符

它只是shell:“|”前面命令的输出作为“|”之后命令的输入发送

ls–l| more

用管道组合命令,功能强大

liunx安全策略

1、修改ssh配置文件,禁止root登录,退出所有帐号,使用root登录系统

找到#PermitRootLoogin yes改为PermitRootLoogin no

按Esc然后:wq保存退出

退出

用root连接:显示拒绝访问

使用普通用户

2

、修改配置文件,将密码最短设为8为,创建新账户,提示错误信息

找到 PASS_MIN_LEN 5改为  PASS_MIN_LEN 8

更改用户 yao的密码。

新的密码:

无效的密码:过于简单化/系统化

无效的密码:过于简单

重新输入新的密码:

抱歉,密码不匹配。

passwd:已经超出服务重试的最多次数

3.修改/etc/pam.d/ system-auth文件,确保错误登录10次,锁定此账户10分钟,将配置截图。(3分)

#%PAM-1.0

# This file is auto-generated.

# User changes will be destroyed the next time authconfig is run.

auth     required    pam_env.so

4.配置至少三个配置文件的umask值为027,将配置截图并说明是哪个配置文件。(3分)

vi/etc/profile第二个文件

vi$HOME/bash_profile第三个文件

##################################

下面几题

(如果无法执行就“ chmod+x文件名”加权限)

##############################################

5.自编脚本,查找本机存在SUID与SGID的文件,并截图。(3分)

查找    文件权限

6.自编脚本,查找本机存在的所有人均有写权限的目录,并截图。(3分)

vi 6.sh

#!/bin/bash

find、-xdev-perm-0222-type d-exec ls-ld{}\;

7.修改配置文件,将登录超时设置为10分钟,并截图。(3分)

8.修改syslog.conf配置文件,将认证日志、邮件日志,备份存储到指定服务器,并截图。(3分)

syslog.conf内容

日志文件由系统日志和内核日志监控程序syslogd与klogd控制,在/etc/syslog.conf文件中配置这两个监控程序默认活动。

日志文件按/etc/syslog.conf配置文件中的描述进行组织。以下是/etc/syslog.conf文件的内容:

重启syslog

9.使用root帐号登录系统,创建一个UID为0的帐号,然后使用一行命令查找本系统UID为0的帐号有哪些,并截图。(6分)

感谢您花时间阅读本文!我们希望通过对liunx和liunx安全策略的问题进行探讨,为您提供了一些有用的见解和解决方案。如果您需要更多帮助或者有其他疑问,请不要犹豫与我们联系。

网络推广培训?网络推广培训哪里的百度搜索引擎优化 网站怎么做百度搜索引擎优化