Linux系统安全及应用详解

linux系统安全


前言

随着Internet网络的日益普及,采用linux网络操作系统作为服务器的用户也越来越多,一方面是因为linux是开放源代码的免费正版软件;另一方面也是因为较之微软的Windows网络操作系统而言,Linux系统具有更好的稳定性、效率性和安全性。在Internet的大量应用中,网络本身的安全面临着重大挑战,随之而来的信息安全问题也日益突出。

工作原理

用户可以通过下面的关键技术,来对Linux系统的安全做相应的配置和改善。

1.用户账号文件

/etc/passwd文件

/etc/passwd文件是UNIX安全的关键文件之一。该文件用于用户登陆时校验用户的登录名、加密的口令数据项、用户Id、默认用户分组ID、用户信息、用户登录子目录以及登录后使用的shell。这个文件的每一个行保存一个用户的资料,而用户资料的每一个数据项采用冒号:分隔,具体如下所示:

LONAME:PASSWORD:UID:GID:USERINFO:HOME:SHELL

下面是一个实际的系统用户的例子:

cracker: x :6018:6018:cracker:/home/cracker:/bin/bash

该用户的基本信息如下:

  1. 登录名:cracker
  2. 加密的口令表示:x
  3. UID:6018
  4. GID:6018
  5. 用户信息:cracker
  6. HOME目录:/home/cracker
  7. 登录后执行的shell:/bin/bash

所有用户的口令存放都是加密的,通常采用的是不可逆的加密算法,例如DES。当用户在登录提示符处输入他们的口令时,输入的口令将由系统加密,再把加密后的数据与机器中的用户口令数据比较,如果两个加密数据匹配,就可以让用户登录系统。
一般来说,用户的UID应当是独一无二的,其他用户不应当有相同的UID数值,只有UID等于0时可以例外。任何拥有0值UID的用户都具有根用户访问权限,因此具备对系统的完全控制。

2.用户影子文件——shadow

在这里插入图片描述

linux使用不可逆的加密算法来加密口令,由于加密算法是不可逆的,所以黑客从密文是得不到明文的。但/etc/passwd文件是全局可读的,加密的算法是公开的,恶意用户取得了/etc/passwd文件,便极有可能破解口令。因此针对这种安全问题,Linux广泛采用了“shadow文件”机制,将加密的口令移到/etc/shadow里,该文件只为root超级用户可读,而同时/etc/passwd文件的密文域显示为一个x,从而最大限度的减少了密文泄露的风险。

/etc/passwd文件的每行是8个冒号分隔的9个域,格式如下:

username:passwd:lastchg:min:max:warn:inactive:expire:flag

3.su命令

禁止任何人通过su命令改变为root用户。
su(Substitute User,替代用户)命令允许用户成为系统中其他已存在的用户。如果用户不希望任何人通过su命令改变为root用户或对某些用户限制使用su命令,就可以在su配置文件(/etc/pam.d)的开头添加下面两行语句:

auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/Pam_wheel.so group

这表明只有wheel组的成员可以使用su命令成为root用户。此时可以把用户添加到wheel组,以使他可以使用su命令成为root用户。

把想要执行root用户的组放入wheel组中:

gpasswd -a 用户名 组名

建立wheel组:

groupadd wheel

4.修改文件所属组群——chgrp

语法:

chgrp 组群 文件名/目录

举例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.修改文件拥有者——chown

修改文件拥有者的命令是chown。chown命令的功能很多,不仅仅能更改文件拥有者,还可以修改文件所属组群。如果需要将某一目录下得所有文件都改变其拥有者,就可以使用-R参数。

语法:

chown [-R] 账号名称 文件/目录
chown [-R] 账号名称:组群 文件/目录

举例:
在这里插入图片描述
修改filea的拥有者为grit,同时修改组群为groupa
请添加图片描述
在这里插入图片描述

6.改变文件权限——chmod

  1. 用数字改变文件权限
    linux为每一个权限分配了一个固定的数字

r:4 读权限
w:2 写权限
x:1 执行权限

再将这些数字相加,就得到每一组的权限值,例如:

-rw-r–r-- 1 myy groupa q seq 26 06:27 filed
第一组(user):rw-=4+2+0=6
第二组(group):r–=4+0+0=4
第三组(others):r–=4+0+0=4

此时,644就是fileb权限的数字表示值。
如果人们想改变文件的权限,首先需要将权限转化为数字组合,然后再用chmod
命令去修改。
语法:

chmod xyz 文件/目录

举例:
在这里插入图片描述

  1. 用字符来改变文件权限

文件权限分为三组:user,group,others,那么可以用u,g,o,分别代表三组,另外,all代表全部,而权限属性可以用rwx这三个字符表示。
语法:

chmod u/g/o/a + /- /= r/w/x 文件/目录

想是2文件得到:
u:可读,可写,可执行
g,o:可读,可执行
在这里插入图片描述
假设目前人们不知道文件的权限,只是想让所有组都增加x权限,那么可以用

chmod a+x filename

除去某一权限也是同样的操作。

总结

Linux网络操作系统提供了用户账号,文件系统权限和系统日志文件等基本安全机制,如果这些安全机制配置不当,就会使系统存在一定的安全隐患。因此,网络系统管理员必须熟知这些安全机制,小心的设置这些安全机制。

Guess you like

Origin blog.csdn.net/m0_54620177/article/details/118803170