Linux配置文件非常重要,是后续学习信息安全渗透和防御的重要基础,本文实现环境在CentOS9下进行。
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
使用 参数代表递归,将目录以下的所有文件都赋予同样的权限
该命令也可直接添加或删除某种权限
比如:
参数释义:
被用来提交和管理用户的需要周期性周期的任务,与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/ , 查看更多