Linux入门篇系统配置文件

Posted 大虾好吃吗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux入门篇系统配置文件相关的知识,希望对你有一定的参考价值。

目录

🍁网卡配置文件

🍁域名配置文件

🍁本地主机名解析文件

🍁自动挂载配置文件

🍁开机自动执行脚本文件

🍁系统运行级别文件

🍁破解root密码

🍁系统登录提示信息文件

🍁系统用户文件

🍁系统组文件

🍁系统文件权限

🍁系统文件属性权限修改

🍁系统文件特殊权限


 🦐博客主页:大虾好吃吗的博客

 🦐专栏地址:Linux从入门到精通

网卡配置文件

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

域名配置文件

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

本地主机名解析文件

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

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

自动挂载配置文件

centos开机添加硬盘扫描联机

echo "- - -" >> /sys/class/scsi_host/host0/scan
echo "- - -" >> /sys/class/scsi_host/host1/scan
echo "- - -" >> /sys/class/scsi_host/host2/scan 

fdisk -l                #列出磁盘分区表
fdisk /dev/sdb          #分区命令
    n                   #新建分区
    p                   #分区类型为主分区(e 为扩展分区)
    1                   #分区号(主分区1-4)
    回车                 #起始扇区,一般默认
    回车                 #结束扇区,代表分区大小(+10G 分区大小设为10G;回车 为剩余所有空间)
    w                   #保存退出(q 不保存退出)

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

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

开机自动执行脚本文件

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

系统运行级别文件

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

查看文件链接

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

切换运行级别

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

查看/设置运行级别

[root@localhost ~]# systemctl get-default           #查看系统默认级别
graphical.target
[root@localhost ~]# systemctl set-default graphical.target              #设置默认级别为图形,也可以使用runlevel5
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target.
[root@localhost ~]# systemctl set-default multi-user.target             #设置默认级别为字符
Removed symlink /etc/systemd/system/default.target.
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

系统登录提示信息文件

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

系统用户文件

/etc/passwd #用户信息文件

/etc/shadow #用户密码文件

创建用户

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

修改用户

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

管理用户

[root@localhost ~]# usermod -L zhangsan     #锁定zhangsan用户
[root@localhost ~]# usermod -l wangwu zhangsan      #修改zhangsan为wangwu
-L          #锁定用户
-U          #解除锁定
-l          #改名
​
passwd  密码命令    
-l          锁定
-u          解锁
-d          清空

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

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

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

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

删除用户

[root@localhost ~]# userdel wangwu                 #删除用户wangwu
                                       -r          #添加-r选项删除宿主目录
​
[root@localhost ~]# head -1 /etc/passwd            #查看开头第一行,一般为root用户
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:GID:描述信息:家目录:登录shell
[root@localhost ~]# tail -1 /etc/shadow
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                                 #组文件

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

 详情描述:

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

管理组

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

系统文件权限

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

[root@localhost ~]# touch test.txt              #长格式查看文件属性
[root@localhost ~]# ll test.txt 
-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

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

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

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

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

chmod :改变文件的权限

ugo+-=rwx

777                 #读4写2执行1

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

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

getfacl: 查看acl(文件访问控制列表)
#例:查看test.txt 

[root@localhost ~]# getfacl test.txt
# file: test.txt
# owner: lisi
# group: lisi
user::rwx
group::rwx
other::rwx

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

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

-x u:zhangsan 删除acl条目

-b 清空acl

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

[root@localhost ~]# chmod 700 test.txt
[root@localhost ~]# setfacl -m u:zhangsan:r test.txt
[root@localhost ~]# getfacl test.txt
# file: test.txt
# owner: lisi
# group: lisi
user::rwx
user:zhangsan:r--
group::rwx
mask::rwx
other::---

lsattr: 查看文件隐藏权限

chattr: 更改文件隐藏权限

+i 锁定文件

+a 设置文件仅追加

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

[root@localhost ~]# lsattr test.txt
---------------- test.txt
[root@localhost ~]# chattr +ia test.txt
[root@localhost ~]# lsattr test.txt
----ia---------- test.txt

系统文件特殊权限

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

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

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

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

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

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

权限数字

SUID 4644 #针对用户权限的uid

SGID 2644 #针对组权限的gid

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

Linux入门篇——文件

这一系列的Linux入门都是本人在《鸟哥的Linux私房菜》的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解

Linux Distribution是Ubuntu而不是书本上推荐的CentOS,建议装双系统,不要使用虚拟机。

代码在github上:Linuxpractice

 

其他内容:

 

Linux文件

一、Linux的文件权限与目录配置

Linux提供了多用户,多任务环境操作的实现;

文件可存取访问的身份:owner,group,other;

权限:read,write,execute

1)Linux的文件属性

可以用命令$ ls -al 来查看当前目录下的所有文件及其详细信息

 

-rw-r-r--    1    root    root      42304    Sep 4 18:26     install.org

文件权限   链接数 文件所有者 文件所属用户组  文件大小  文件最后的修改时间   文件名

 

其中文件的权限:

 

      可读 可写 可执行

  -    r  w  x    r  w  x      -  -  -

文件类型  文件所有者权限  文件所属用户组权限 其他人对此文件的权限

 

文件类型:

[d] :目录, [-]:文件, [l]:连接文件,[b]:可存储接口设备,[c]:串行端口设备

 

2)改变文件属性和权限

# charg 组名 dirname/filename 改变文件所属用户组

# chown 账号名 dirname/filename 改变文件所有者

# chmod xyz dirname/filename 改变文件的权限

权限的计算方法:xyz是rwxrwxrwx的累加:其中r的值为4,w的值为2,x的值为1

owner=rwx=4+2+1=7

group=rwx=4+2+1=7

other=rwx=4+2+1=7

 

二、Linux文件种类与扩展名

1)文件种类

普通文件[-]:纯文本文件:(ASCII) $ cat ~/.bashrc

      二进制文件:(binary) $ cat ~/.bashrc

      数据格式文件:(date) $ last

目录[d]:

连接文件[l]:类似于windows下的快捷方式

设备与设备文件[b]:与系统外设及存储相关/块设备, 在/dev下

字符设备文件[c]:串行端口设备

套接字[s]:数据接口文件,网络上的数据连接 /var/run

管道[p]:(FIFO,PIPE) 解决多个程序访问一个文件时造成的错误问题。

2)文件扩展名

基本上Linux的文件是没有所谓的扩展名的,一个Linux文件能否执行与第一列的10个属性相关,有x属性在,则表示可以执行。

但是可执行与执行成功并不是一致的。

常用的扩展名:*.sh 脚本或批处理文件script,因为脚本是用shell写成的。

       *Z, *.tar, *tar.gz, *.zip, *tgz 经打包的压缩文件

扩展名只是为了让用户了解文件的用途。



以上是关于Linux入门篇系统配置文件的主要内容,如果未能解决你的问题,请参考以下文章

Linux入门篇操作系统安装网络配置

Linux操作系统入门篇

Linux Capabilities 入门教程:概念篇

如何掌握并提高linux运维技能

linux操作系统基础篇

linux从入门到精通学习-NFS