热门推荐
Linux常用配置文件
2024-10-31 18:50

Linux配置文件非常重要,是后续学习信息安全渗透和防御的重要基础,本文实现环境在CentOS9下进行。

Linux常用配置文件

1.1/etc/passwd文件

文件中保存的就是系统中所有的用户和用户的重要信息,这个文件的内容非常规律,每行代表一个用户信息

每一行有7个字段,以:作为分隔符,一共6个,每个字段代表不同的含义

第一个字段为:用户名名称

第二个字段为:密码表示,但是不是真正的密码,密码是在另一个文件中

第三个字段为:UID,也就是用户的ID

第四个字段为:GID,也称为用户的组ID

第五个字段为:用户的说明

第六个字段为:用户的家目录

第七个字段为:shell,也可以理解为用户登录之后所拥有的权限

UID分布:当UID=0时,只属于root,UID=1~500时,属于系统服务的用户,500以后则是分配给普通用户。一般新建用户则是默认从1000开始往后迭代

1.2/etc/shadow文件

是用户保存密码的文件。

这个文件的每一行代表一个用户,同样 也是以:为分隔符

这个文件有九个字段,以第一行为例

第一个字段为:用户名称

第二个字段为:该用户加密后的密码,没有密码的用户则是*或者,是不能登录的

第三个字段为:密码何时修改过,这里显示的数字是从1970年1月1日作为标准时间算的,每过去一天时间戳加1,如果是10000的话,那就是1970年1月1日后的10000天

第四个字段为:两次修改密码的时间间隔,如果是5,那么密码修改后5天内不能再更改,为0的话表示随时可以修改

第五个字段为:密码的有效期,是从第三字段之后开始算的,默认是99999

第六个字段为:密码到期修改前的警告失效,根据第五个字段算的,默认为7,则是到期前的7天开始警告

第七个字段为:密码到期后的宽限天数,为0是到期立马失效,-1是永不失效

第八个字段为:用户失效的时间,同样是以时间戳表示的

第九个字段:暂时没有功能

有个有意思的事情,如果作为攻击者能够拿到 的文件,这个时候就可以拿到用户加密后的密码,当然加密算法十分复杂,但是当攻击者有一份明文的密码字典,将密码通过加密后与用户的加密后的密码文字进行比对,如果相同,就可以得到用户的真实密码了。(当然,算法是十分复杂的,实际操作没有这么简单,想深入了解可以去查一下Linux下shadow文件的加密算法具体是什么

1.3/etc/group文件

Linux用户组的所有信息都存放在 文件当中,也就是passwd文件中GID的来源

文件分为四个字段,也是以:作为分隔符

第一个字段为:用户组名称

第二个字段为:用户组密码

第三个字段为:对应的GID

第四个字段为:用户列表,本字段可以为空

1.4/gshadow文件

前面讲过在 中存放的是用户的基本信息,同时考虑到账户的安全性,将用户的密码信息存放在另外一个文件中 。也是如此,组用户的基本信息存放在 文件下,而将组用户的密码信息存储在 文件中。

文件中每一行代表一个组用户的密码信息,隔行信息用:作为分隔符,有四个字段

第一个字段:用户组名称

第二个字段:用户组密码

第三个字段:组管理员

第四个字段:用户列表,本字段可以为空

1.5useradd命令

useradd命令可用来建立用户账号,账号建立好后,再用 命令设定账号的密码。而可用 删除账号。使用 指令所建立的账号,实际上是保存在 文本文件中的。

1.5.1创建新用户

命令用于建立用户账号。

比如,创建一个用户farm1

1.5.2建立uid为0的用户

在CentOS9中会出现报错,但实际上去查看 文件时,可以看到是创建成功的,当我们进入root1这个用户,发现其实自己还是在root用户下。所以实际上UID=0就等于是root用户,可以理解为创建了一个别名或者影子账户。

1.5.3指定新建用户所属组

此时看到 目录的最后一行多了一个family的用户组,里面就有fam_1的用户

1.5.4 更改用户和用户组

使用 命令可以更改用户的各项信息

使用 命令可以修改用户组的各项信息

1.5.5删除用户和用户组

使用 命令可以删除用户,使用 命令可以删除用户组

1.6passwd命令

passwd命令用于修改或添加用户的密码,用法,比如

注意:当你以root用户登录时,你可以修改系统内任意用户的密码,且毋须遵守密码复杂度要求。

当你以普通用户登录时,只能修改自己的密码,且必须遵守密码复杂度要求。

当passwd命令后不跟用户名时,代表修改当前用户密码

2.1网卡配置文件

CentOS网卡配置文件存储于

在CentOS8版本以及以前,网卡配置文件存放在

老版本的网络配置文件

但是在CentOS9版本上会有所变化,配置文件放在了 目录下

在CentOS9中更多的是使用 命令配置网络文件

2.2DNS相关

电脑想要访问网页,必须设定一个DNS服务器的IP(常见的有114.114.114.114等,这个DNS服务器负责将你输入的网址(如:www.baidu.com)转换为你的电脑可以识别的IP。经过这种转换,电脑才能访问网页。

CentOS的DNS配置文件存储在

2.3查看网络IP的命令

2.4Ubuntu/kali上网相关配置
2.4.1网卡配置

Ubuntu上的网卡配置文件存储于

其中主要参数

2.4.2设置网卡状态
2.4.3dns配置

运行级别简单来说就是操作系统当前正在运行的功能级别,级别是从0到6,具有不同的功能

Linux下的7个运行级别

0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭

1:单用户工作状态,root权限,用于系统维护,禁止远程登录,类似于Windows下的安全模式登录

2:多用户状态,没有NFS支持

3:完整的多用户模式,有NFS,登录后进入控制台命令行模式

4:系统未使用

5:X11控制台,登录后进入图形GUI模式,XWindows系统

6:系统正常关闭并重启,默认运行级别不能设置为6,否则不能正常启动。运行 init 6机器就会重启

关机/重启命令

sudo是Linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具

root用户需要设置普通用户的sudo权限,设置之后,普通用户在命令前加sudo即可使用管理员权限执行命令

4.1sudo配置文件

sudo配置文件在 ,root用户如想赋予普通用户sudo权限,则需要修改如下的内容

4.2whoami命令

whoami命令用于显示当前用户

在命令行输入 时,会出现以下信息

显示文件权限对应的有七个字段,每个字段以空格为分隔

第一个字段:分别是文件类型,和属主属组其他人的读写执行权限

在第一个字段中,会出现 这样的形式,一共11个字符

第一个字符:常见的有 和 两种,表示目录,表示问文件。

此外还有其他的形式

第二到第十个字符:每三个字符为一组,代表 的权限。常见的权限有,分别代表读权限,写权限和执行权限。

如一个文件这一部分的字段表达为

1、表示此文件是一个文件而非目录

2、此文件的属主(拥有者/创建者)具备对其读、写、执行的权限

3、此文件的属组(文件所有者同一个用户组的用户)具备读、写权限而没有执行权限

4、此文件属主与属组之外的用户,具有读权限,而没有写和执行的权限

5、如果一个文件需要能够被读取,则需要 r 权限

6、如果一个文件需要能够被编辑,则需要 r 与 w 权限

7、如果一个文件能够被执行,则需要 x 权限

8、不需要什么权限,在对应字符位写为 - 即可

在第四、第七和第十个字符中,除却常见的 x 执行权限外,还有其他情况

除此以外,其实在标识权限的写法上,还有一种简单的数字写法“421”写法,什么意思呢

其实就是 r = 4、w = 2、x = 1。

如果说一个文件对应的权限是rwx,那么就代表的是4+2+1=7

如果这个文件对应的权限是 rw- ,那么就代表4+2=6

因为这个组合不会出现重复的数字,所以可以根据数字反推对应的权限。

第十一个字符的含义

5.2chown命令

chown命令用于设置文件所有者。

比如更改当前目录下的test文件的属主属组权限

可以看到test文件夹的属主属组更改了

5.3chmod命令

chmod命令用来变更文件或目录的权限。

比如更改test文件夹的权限

当前的权限是

执行指令

执行后的权限更改为

这里的数字777代表的其实就是权限对应数字相加的结果r = 4 、w = 2、x = 1

使用 参数代表递归,将目录以下的所有文件都赋予同样的权限

该命令也可直接添加或删除某种权限

比如

参数释义

who用户类型说明uuser文件所有者ggroup文件所有者所在组oothers所有其他用户aall所有用户,相当于 ugo
Operator说明+为指定的用户类型增加权限-取出指定用户类型的权限=设置指定用户权限的设置,即将用户类型的所有权限重新设置
模式名字说明r读取设置为可读权限w写入设置为可写权限x执行设置为执行权限X特殊执行权限只有当文件为目录文件,或其他类型的用户有执行权限时,才将文件权限设置为可执行ssetuid/gid当文件被执行时,根据who参数指定的用户类型设置文件的setuid或setgid权限t粘贴位设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

被用来提交和管理用户的需要周期性周期的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

我们可以把脚本放在 :、、、目录中,让他们每小时/天/星期/月执行一次

编辑cron的格式为:分 时 日 月 周

比如:每隔1分钟向文本里输入一条hello信息

有一个问题,当用其他用户写一个脚本到同一个文件中时,脚本任务是会正常执行的,但是对于当前的用户,使用 是无法查看其他用户的计划任务的。用户的计划任务保存在 目录下。

可以使用如下命令进行查看(我当前只有一个用户的执行计划

7.1设置服务开机自启命令

在systemctl的命令中,代表开机自启,代表取消开机自启

如想设置某服务开机自启,可使用

7.2开机自动执行命令

用于添加开机启动命令,事实上就相当于Windows的快捷方式一样

是 的软链接。

通过 在文件中写入你要执行的脚本文件或命令

系统开机后会自动执行这个文件中的内容,写好命令后保存关闭文件,再重启服务器,可以通过观察开机启动看看有哪些命令在开机被执行,如果没有执行,可以看看是不是没有对 加上执行权限。

也可以控制服务的启动

从centos7开始,系统的服务控制开始由systemctl替换早期版本的chkconfig与service命令

    以上就是本篇文章【Linux常用配置文件】的全部内容了,欢迎阅览 ! 文章地址:http://lianchengexpo.xrbh.cn/quote/12466.html 
     行业      资讯      企业新闻      行情      企业黄页      同类资讯      网站地图      返回首页 迅博思语资讯移动站 http://lianchengexpo.xrbh.cn/mobile/ , 查看更多