【Linux入门篇】系统配置文件

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 【Linux入门篇】系统配置文件

网卡配置文件

1. [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
2. TYPE="Ethernet"                 #网卡类型:以太网
3. BOOTPROTO="static"              #ip获取方式:dhcp 动态;static 静态
4. NAME="ens33"                    #网卡名
5. DEVICE="ens33"                  #设备名
6. ONBOOT="yes"                    #是否开机启动
7. IPADDR=192.168.8.10             #ip地址
8. NETMASK=255.255.255.0           #子网掩码
9. GATEWAY=192.168.8.2             #网关
10. DNS1=8.8.8.8                    #首选dns
11. DNS2=114.114.114.114            #备选dns
12. [root@localhost ~]# ifdown ens33;ifup ens33;            #关闭网卡;启动网卡

域名配置文件

1. [root@localhost ~]# cat /etc/resolv.conf            #域名解析配置文件
2. # Generated by NetworkManager
3. nameserver 8.8.8.8
4. [root@localhost ~]# route -n                        #查看网关信息

本地主机名解析文件

1. [root@localhost ~]# vim /etc/hosts
2. 192.168.8.11 web1                   #文件末尾插入本机IP测试,ping访问web1查看是否成功

注:主机解析域名过程:缓存--hosts--首选dns--网上的根域名服务器

自动挂载配置文件

centos开机添加硬盘扫描联机

1. echo "- - -" >> /sys/class/scsi_host/host0/scan
2. echo "- - -" >> /sys/class/scsi_host/host1/scan
3. echo "- - -" >> /sys/class/scsi_host/host2/scan 
4. 
5. fdisk -l                #列出磁盘分区表
6. fdisk /dev/sdb          #分区命令
7.     n                   #新建分区
8.     p                   #分区类型为主分区(e 为扩展分区)
9.     1                   #分区号(主分区1-4)
10.     回车                 #起始扇区,一般默认
11.     回车                 #结束扇区,代表分区大小(+10G 分区大小设为10G;回车 为剩余所有空间)
12.     w                   #保存退出(q 不保存退出)

例:创建财务部目录,临时挂载并卸载后,永久挂载sdb1

1. [root@localhost ~]# mkdir /cwb              #创建空目录,为挂载分区准备
2. [root@localhost ~]# mkfs.xfs /dev/sdb1      #格式化新分区
3. [root@localhost ~]# mount /dev/sdb1 /cwb    #挂载新分区到/cwb 
4. [root@localhost ~]# umount /dev/sdb1        #卸载分区
5. [root@localhost ~]# vim /etc/fstab          #永久挂载
6. /dev/sdb1   /cwb    xfs defaults  0 0

开机自动执行脚本文件

1. [root@localhost ~]# ll /etc/rc.local                #查看链接文件
2. [root@localhost ~]# vim /etc/rc.d/rc.local
3. #末尾添加脚本文件
4. touch  /tmp/123.txt 
5. [root@localhost ~]# chmod +x /etc/rc.d/rc.local     #给执行权限后重启验证是否创建文件123.txt

系统运行级别文件

1. 0       关机,poweroff.target
2. 1       单用户,rescue.target,破解密码
3. 2       字符多用户,不常用,multi-user.target 
4. 3       字符多用户,有网络,常用,multi-user.target
5. 4       字符多用户,不常用,multi-user.target
6. 5       图形,graphical.target
7. 6       重启,reboot.target

查看文件链接

[root@localhost ~]# ll /usr/lib/systemd/system/runlevel*target

切换运行级别

1. [root@localhost ~]# init 3          #切换字符界面
2. [root@localhost ~]# init 5          #切换图形界面
3. [root@localhost ~]# init 6          #重启
4. [root@localhost ~]# init 0          #关机

查看/设置运行级别

1. [root@localhost ~]# systemctl get-default           #查看系统默认级别
2. graphical.target
3. [root@localhost ~]# systemctl set-default graphical.target              #设置默认级别为图形,也可以使用runlevel5
4. Removed symlink /etc/systemd/system/default.target.
5. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
6. [root@localhost ~]# systemctl set-default multi-user.target             #设置默认级别为字符
7. Removed symlink /etc/systemd/system/default.target.
8. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

注:centos6修改默认级别 /etc/inittab

破解root密码

生产环境中,身为管理员,需要定期修改root密码。但是如果root密码忘记了,可以通过下面命令修改密码。

(1)重启,在grub内核界面按方向键中止加载

(2)光标放在内核行,按"e"

(3)找到Linux16开头的行,末尾添加“rd.break”,按ctrl+x

(4)mount -o remount,rw /sysroot  

       chroot /sysroot  

       echo "123.com" | passwd --stdin root  

       touch .autorelabel  

       exit  

       exit

系统登录提示信息文件

1. [root@localhost ~]# vim /etc/motd               #用户登录后提示信息
2. #运维操作规范
3. 01.数据文件修改前备份
4. 02.服务启动进行测试检查
5. 03.使用root权限需要申请
6. 04.重要文件修改需要保存到备份服务器
7. [root@localhost ~]# vim /etc/issue              #用户登录前提示信息
8. 
9. [root@localhost ~]# yum -y install cowsay           #下载表情包工具(测试也可以使用表情包测试)
10. [root@localhost ~]# animalsay welbak                #随机表情包

系统用户文件

/etc/passwd #用户信息文件

/etc/shadow #用户密码文件

创建用户

1. [root@localhost ~]# useradd zhangsan        #创建用户zhangsan
2. -u          #指定用户的uid
3. -g          #指定用户的基本组
4. -G          #指定附属组,可以有多个, 但是这些附属组必须是系统内已经存在的
5. -c          #指定描述
6. -d          #指定家目录
7. -M          #不建立家目录
8. -s          #指定shell
9. -e          #指定用户过期时间, 日期
10. -f          #指定用户过期时间, 天数

修改用户

1. [root@localhost ~]# usermod -u 888 zhangsan     #针对已有用户修改属性
2. 
3. -u          #指定用户的uid
4. -g          #指定用户的基本组
5. -G          #指定附属组,可以有多个, 但是这些附属组必须是系统内已经存在的
6. -c          #指定描述
7. -d          #指定家目录
8. -M          #不建立家目录
9. -s          #指定shell
10. -e          #指定用户过期时间, 日期
11. -f          #指定用户过期时间, 天数

管理用户

1. [root@localhost ~]# usermod -L zhangsan     #锁定zhangsan用户
2. [root@localhost ~]# usermod -l wangwu zhangsan      #修改zhangsan为wangwu
3. -L          #锁定用户
4. -U          #解除锁定
5. -l          #改名
6. 
7. passwd  密码命令    
8. -l          锁定
9. -u          解锁
10. -d          清空

赋予wangwu用户密码,密码不符合安全性将提示,但是不影响使用。

1. [root@localhost ~]# passwd wangwu
2. 更改用户 wangwu 的密码 。
3. 新的 密码:
4. 无效的密码: 密码少于 8 个字符
5. 重新输入新的 密码:
6. passwd:所有的身份验证令牌已经成功更新。

第二种赋予用户密码命令,密码为‘123.com'适用于脚本使用

[root@localhost ~]# echo '123.com' | passwd --stdin wangwu

删除用户

1. [root@localhost ~]# userdel wangwu                 #删除用户wangwu
2.                                        -r          #添加-r选项删除宿主目录
3. 
4. [root@localhost ~]# head -1 /etc/passwd            #查看开头第一行,一般为root用户
5. root:x:0:0:root:/root:/bin/bash
6. 用户名:密码占位符:UID:GID:描述信息:家目录:登录shell
7. [root@localhost ~]# tail -1 /etc/shadow
8. lisi:$6$ao7cincIf.q8eGVD$6keG8lXCvJZvc3JpKm/d8cqra546v219ygyeWuv3RjeG2daGBl/Bn/bw.8CEKbPxadEYSID3D7N9neQhpnrwD0:19414:0:99999:7:::            #查看末尾最后一行用户,密码文件

详情描述:

1)用户名

2)加密后的密码

3)上一次密码修改时间(单位是天,是距离1970年1月1日 多少天)

4)密码最小生存周期 单位:天 0表示随时可以修改密码;2表示两天内不能修改

5)密码最大生存周期 单位:天,密码使用的最长时间

6)密码到期前几天开始警告

7)密码过期之后到账户失效之前的时间限制 密码过期之后还可以用几天

8)账户过期时间

9)保留列


系统组文件

/etc/group                                 #组文件

1. [root@localhost ~]# head -1 /etc/group          #查看组文件第一行
2. root:x:0:

详情描述:

组名:密码占位符:GID:用户列表

管理组

1. [root@localhost ~]# groupadd cwb        #创建组为cwb
2. 
3. -g                                      #指定gid
4. groupmod -g 8888 cwb                    #修改组属性
5. groupdel cwb                            #删除组
6. gpasswd -a cw1 cwb                      #添加成员到组
7. gpasswd -d cw1 cwb                      #从组删除成员
8. gpasswd -M zhangsan,lisi cwb            #批量添加成员到组

系统文件权限

r, w, x:可读、可写、可执行(r表示数字为4,w为2,x为1)

1. [root@localhost ~]# touch test.txt              #长格式查看文件属性
2. [root@localhost ~]# ll test.txt 
3. -rw-r--r--. 1 root root 0 3月   2 16:19 test.txt
第一栏代表这个文件的类型与权限     第一个字符代表这个文件是“目录、文件或链接文件等等”:     [ d ]则是目录,例如上表文件名为“.config”的那一行;     [ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;     [ l ]则表示为链接文件(link file);     [ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);     [ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)     接下来的rwx权限字符,以三个为一组:     第一组为“文件拥有者可具备的权限”;     第二组为“加入此群组之帐号的权限”;     第三组为“非本人且没有加入本群组之其他帐号的权限 第二栏表示有多少文件名链接到此节点 第三栏表示这个文件(或目录)的“拥有者账号” 第四栏表示这个文件的所属群组 第五栏表示这个文件的容量大小,默认单位是Bytes(字节) 第六栏表示这个文件的创建日期或者是最近修改日期 第七栏为这个文件的文件名

系统文件属性权限修改

chgrp :改变文件所属群组

#例:指定test.txt文件属组为lisi

1. [root@localhost ~]# chgrp lisi test.txt
2. [root@localhost ~]# ll test.txt 
3. -rw-r--r--. 1 root lisi 0 3月   2 16:19 test.txt

chown :改变文件拥有者(属主、属组)

#例:指定test.txt文件属主和属组为lisi

1. [root@localhost ~]# chown lisi:lisi test.txt
2. [root@localhost ~]# ll test.txt
3. -rw-r--r--. 1 lisi lisi 0 3月   2 16:19 test.txt

chmod :改变文件的权限

ugo+-=rwx

777                 #读4写2执行1

#例:指定权限为任何人可读可写可执行

1. [root@localhost ~]# chmod ugo=rwx test.txt
2. [root@localhost ~]# ll test.txt
3. -rwxrwxrwx. 1 lisi lisi 0 3月   2 16:19 test.txt

getfacl: 查看acl(文件访问控制列表)

#例:查看test.txt

1. [root@localhost ~]# getfacl test.txt
2. # file: test.txt
3. # owner: lisi
4. # group: lisi
5. user::rwx
6. group::rwx
7. other::rwx

setfacl: 设置acl(针对某用户单独设置权限)

-m u:zhangsan:rwx 单独赋予zhangsan权限

-x u:zhangsan 删除acl条目

-b 清空acl

#例:给test.txt设置为lisi可读写执行,其他人为不可读写执行,通过acl设置zhangsan可以读

1. [root@localhost ~]# chmod 700 test.txt
2. [root@localhost ~]# setfacl -m u:zhangsan:r test.txt
3. [root@localhost ~]# getfacl test.txt
4. # file: test.txt
5. # owner: lisi
6. # group: lisi
7. user::rwx
8. user:zhangsan:r--
9. group::rwx
10. mask::rwx
11. other::---

lsattr: 查看文件隐藏权限

chattr: 更改文件隐藏权限

+i 锁定文件

+a 设置文件仅追加

#例:先查看文件隐藏权限,通过命令锁定并仅追加test.txt  

1. [root@localhost ~]# lsattr test.txt
2. ---------------- test.txt
3. [root@localhost ~]# chattr +ia test.txt
4. [root@localhost ~]# lsattr test.txt
5. ----ia---------- test.txt

系统文件特殊权限

       SetUID(或者 s 权限):当一个具有执行权限的文件设置SetUID权限后,用户执行这个文件时将以文件所有者的身份执行。

1. [root@localhost ~]# ll /usr/bin/passwd                          #查看passwd文件权限
2. -rwsr-xr-x. 1 root root 27856 4月   1 2020 /usr/bin/passwd
3. [root@localhost ~]# chmod u-s /usr/bin/passwd                   #删除s权限
4. [root@localhost ~]# ll /usr/bin/passwd
5. -rwxr-xr-x. 1 root root 27856 4月   1 2020 /usr/bin/passwd
6. [root@localhost ~]# chmod u+s /usr/bin/passwd                   #添加s权限
7. [root@localhost ~]# ll /usr/bin/passwd
8. -rwsr-xr-x. 1 root root 27856 4月   1 2020 /usr/bin/passwd

SetGID基本与SetUID相同,GID为设置所属组的特殊权限,可针对目录设置

1. [root@localhost ~]# ll /usr/bin/locate                          #查看locate文件权限
2. -rwx--s--x. 1 root slocate 40520 4月  11 2018 /usr/bin/locate
3. [root@localhost ~]# chmod g-s /usr/bin/locate                   #删除g权限
4. [root@localhost ~]# ll /usr/bin/locate
5. -rwx--x--x. 1 root slocate 40520 4月  11 2018 /usr/bin/locate
6. [root@localhost ~]# chmod g+s /usr/bin/locate                   #添加g权限
7. [root@localhost ~]# ll /usr/bin/locate
8. -rwx--s--x. 1 root slocate 40520 4月  11 2018 /usr/bin/locate

SBIT(Stick Bit),粘滞位,只对目录有效,用户不能删除不属于自己的文件

1. [root@localhost ~]# ll -ld /tmp
2. drwxrwxrwt. 21 root root 4096 3月   2 16:37 /tmp
3. [root@localhost ~]# chmod ugo+t /tmp
4. [root@localhost ~]# ll -ld /tmp
5. drwxrwxrwt. 21 root root 4096 3月   2 16:37 /tmp

权限数字

SUID 4644 #针对用户权限的uid

SGID 2644 #针对组权限的gid

SBIT 1755 #针对目录权限的粘滞位


相关文章
|
4天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
112 78
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
39 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
120 48
|
4天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
43 13
|
28天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
20 3
|
4天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
17 0
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
33 1
|
1月前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
66 1
|
16天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
Web App开发 关系型数据库 Linux
Linux 备份系统重要服务的配置文件脚本
!/bin/bash ==================================================================== 使用者參數輸入位置: basedir=你用來儲存此腳本所預計備份的資料之目錄(請獨立檔案系統...
1076 0
下一篇
DataWorks