当前位置: 首页 > news >正文

Anolis(龙蜥)系统介绍

文章目录

  • 一、Anolis系统介绍
    • 1.1、Anolis系统技术亮点
    • 1.2、Anolis优势场景
    • 1.3、Anolis系统版本发展历程
    • 1.4、Anolis系统版本介绍
      • 1.4.1、Anolis OS 7
      • 1.4.2、Anolis OS 8
      • 1.4.3、Anolis OS 23
  • 二、Anolis系统基础学习
    • 2.1、shell解释器
    • 2.2、控制台
    • 2.3、链接文件和别名
    • 2.4、用户信息
    • 2.5、用户管理
    • 2.6、密码管理
    • 2.7、组账户管理
    • 2.8、权限管理
    • 2.9、隐藏权限
    • 3.1、ACL访问控制
    • 3.2、umask默认值
    • 3.3、setuid附加权限
    • 3.4、setgid附加权限
    • 3.5、sticky权限
    • 3.6、文件查找
    • 3.7、文件过滤
    • 3.8、重定向
    • 3.9、修改网络配置文件
    • 4.1、rpm包管理


一、Anolis系统介绍

Anolis OS 8 是 OpenAnolis 社区推出的完全开源、中立、开放的发行版,它支持多计算架构,也面向云端场景优化,兼容 CentOS 软件生态。Anolis OS 8 旨在为广大开发者和运维人员提供稳定、高性能、安全、可靠、开源的操作系统服务。

1.1、Anolis系统技术亮点

  • 与centos软件生态兼容:兼容centos软件生态,兼容国际主流linux厂商发行版
  • 支持linux kernel 419 LTS:支持 Linux Kernel 4.19 LTS 版本并同步上游社区最新成果,帮助用户及时获得开源社区创新红利
  • 提供迁移工具:提供CentOS系统到Anolis OS迁移工具,帮助系统及应用的顺滑迁移
  • 支持安全容器Kata Containers:开放的符合OCI标准的安全容器
  • 支持Dragonwell云原生Java:支持Dragonwell云原生Java运行时
  • 支持多计算架构和主流服务器硬件:支持x86_64 和aarch64架构及飞腾、海光、兆芯、鲲鹏等芯片,适配 x86 及 arm64 主流服务器硬件
  • 支持开源分布式关系数据库OceanBase:2021年数据分析型基准测试TPC-H榜单第一
  • 支持开源云原生关系型数据库PolarDB:新一代关系型云原生数据库

1.2、Anolis优势场景

  • 容器化场景:更好的支持IPVlan的容器网络模式,在小包的场景下相对传统bridge和策略路由网络性能提升40%,通过实现BufferIO Control/TCP/CPUSet/Mem/NUMA等细粒度资源的配置和动态更新,在逐步提升资源利用率的同时也能保障应用间的互相干扰降到最低
  • 云原生场景:支持Dragonwell云原生的Java语言运行时,集成上游社区的轻量级虚拟化和安全容器
  • 高性能存储场景:通过新一代异步 IO 框架 io_uring 和 IO 栈优化,进一步释放高性能存储设备的能力,提升 IO 密集型应用场景如数据库的性能

1.3、Anolis系统版本发展历程

  • 2021年10月:阿里云发布全新操作系统“龙蜥”,并宣布开源。这一举措标志着Anolis系统的正式诞生,旨在提供高性能、稳定且开放的服务器端操作系统。
  • 2022年6月:龙蜥社区对外公布了下一代龙蜥操作系统(Anolis OS 23)的研发路线图,PoC版已在社区官网上线。这一阶段的重点是展示新系统的核心理念和初步成果,为后续的正式发布奠定基础。
  • 2023年7月:龙蜥社区宣布推出自研根发行版-Anolis OS 23,新增对智能计算的全面支持。该版本内置了rpm格式的AI组件、主流AI框架tensorflow2、pytorch,并支持一键安装nvidia GPU驱动、CUDA库等,标志着Anolis系统在AI领域迈出重要步伐。
  • 2024年8月:Anolis OS及衍生版装机量突破800万套,同时推出了Anolis OS 23正式版。该版本全面兼容国内外主流CPU、GPU架构,进一步巩固了其在国产操作系统领域的领先地位。

1.4、Anolis系统版本介绍

1.4.1、Anolis OS 7

  • 版本特点:Anolis OS 7是龙蜥操作系统的早期版本,它主要面向企业级应用和服务器市场。该版本提供了稳定、可靠的操作系统环境,支持多计算架构,并集成了多种企业级特性。
  • 生命周期支持:根据官方信息,Anolis OS 7的支持已经结束,这意味着不再提供官方的安全更新和技术支持。因此,建议用户升级到更高版本的Anolis操作系统以获得更好的安全性和功能性。

1.4.2、Anolis OS 8

  • 版本特点:Anolis OS 8是龙蜥社区推出的完全开源、中立、开放的发行版,它支持多计算架构,也面向云端场景优化,兼容CentOS软件生态。该版本旨在为广大开发者和运维人员提供稳定、高性能、安全、可靠、开源的操作系统服务。
  • LTS版本:Anolis OS 8 LTS(长期支持)版本整体支持年限为10年,分别是为期5年的“开发支持”阶段和为期5年的“维护支持”阶段。整体结束的支持日期为2031年4月30日。
  • 小版本发布:从8.9小版本起,发布间隔将延长为一年。同时,8.8及以后版本,小版本号恢复依次递增。
  • 新特性与更新:Anolis OS 8不断推出新的小版本,如8.6和8.9等,每个新版本都会带来性能提升、功能增强和新特性的支持。

1.4.3、Anolis OS 23

  • 版本特点:Anolis OS 23是基于开源上游原生社区进行的软件独立选型和自主演进路线规划的版本。它定位于构建AI容器镜像生态,提供主流的AI训练/推理镜像,并发布开箱即用的modelscope/huggingface AI大模型实践镜像。
  • 技术升级:Anolis OS 23实现了三大升级,包括定位升级、技术升级和生态升级。它支持x86_64和AArch64架构,提供多种内核选项,包括对AI框架如tensorflow和pytorch的支持,以及自研组件如keentuned和dragonwellJava。
  • 内核与软件包:Anolis OS 23全面集成了软件包的收敛成果和内核配置参数整理成果,关键组件如LLVM、QEMU、Python等均有所升级。
  • 智算能力支持:该版本提供rpm格式的AI组件,支持用户使用yum install安装AI相关组件,并支持一键安装nvidia GPU驱动、CUDA库等。

二、Anolis系统基础学习

2.1、shell解释器

在Anolis系统中默认共有四种shell脚本解释器:

  • /bin/sh:

    • 含义:/bin/sh 通常是 Bourne shell(或称为Bourne Again SHell,即BASH的一个早期版本)的路径。它是一个通用的、可移植的shell,用于许多Unix和Linux系统。
    • 特点:/bin/sh 通常被视为一个标准化的shell,它提供了一个相对简单的命令行界面。虽然它不是最强大或最先进的shell,但它通常都可用,且足够满足大多数用户的需求。
    • 用途:通常用于执行简单的脚本或命令。
  • /bin/bash:

    • 含义:Bourne Again SHell(BASH)是一个常用的命令行解释器,由GNU计划提供支持。它为大多数Unix和Linux系统所广泛使用,具有丰富的特性和强大的功能。
    • 特点:BASH是一个高级的shell,支持多种特性,如命令行编辑、命令历史、通配符、变量扩展等。它还支持许多编程构造,如循环、条件语句和函数等,使其成为编写复杂脚本的理想选择。
    • 用途:广泛用于脚本编写、命令行交互以及各种系统管理任务。
  • /usr/bin/sh:

    • 定义与用途:/usr/bin/sh 通常是Bourne Shell(简称sh)的路径。Bourne Shell是由Steve Bourne开发的,是UNIX系统上最老的shell之一。它主要用于编写系统脚本,因其简洁和高效而受到青睐。
  • /usr/bin/bash:

    • 定义与用途:/usr/bin/bash 是Bash Shell的路径。Bash(Bourne Again Shell)是GNU项目的一部分,是对Bourne Shell的扩展,增加了许多新的特性。
[root@iZuf6cyoqp4xf8kyz9wxf2Z ~]# cat /etc/shells 
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

默认使用的是/bin/bash/

[root@iZuf6cyoqp4xf8kyz9wxf2Z ~]# echo $SHELL
/bin/bash

2.2、控制台

Anolis系统中有六个控制台,与centos中的六个界面等级一样,可以切换命令行或者图形界面

2.3、链接文件和别名

  • 同时创建多个文件
[root@iZuf69p1emfnxgk080ljdnZ /]# touch /tmp/file{1..10}.txt
[root@iZuf69p1emfnxgk080ljdnZ /]# ls /tmp/
AliyunAssistClientSingleLock.lock  file2.txt  file5.txt  file8.txt
file10.txt                         file3.txt  file6.txt  file9.txt
file1.txt                          file4.txt  file7.txt  systemd-private-c9feaf6b67b94e9aad81f3aee3f8397b-chronyd.service-gZlR6j

下述命令返回结果中以dr开头的为文件,lr开头的则是软连接

[root@iZuf69p1emfnxgk080ljdnZ ~]# ls -la /
total 76
dr-xr-xr-x.  18 root root  4096 Oct 25 11:04 .
dr-xr-xr-x.  18 root root  4096 Oct 25 11:04 ..
-rw-r--r--    1 root root     0 Nov 21  2022 .autorelabel
lrwxrwxrwx    1 root root     7 Jan 18  2022 bin -> usr/bin
dr-xr-xr-x.   5 root root  4096 Oct 25 11:04 boot
drwxr-xr-x   19 root root  3140 Oct 25 11:06 dev
drwxr-xr-x. 102 root root 12288 Oct 25 11:14 etc
drwxr-xr-x.   2 root root  4096 Jan 18  2022 home
lrwxrwxrwx    1 root root     7 Jan 18  2022 lib -> usr/lib
lrwxrwxrwx    1 root root     9 Jan 18  2022 lib64 -> usr/lib64
drwx------.   2 root root 16384 Nov 21  2022 lost+found
drwxr-xr-x.   2 root root  4096 Jan 18  2022 media
drwxr-xr-x.   2 root root  4096 Jan 18  2022 mnt
drwxr-xr-x.   2 root root  4096 Jan 18  2022 opt
dr-xr-xr-x  114 root root     0 Oct 25 11:03 proc
dr-xr-x---.   5 root root  4096 Oct 25 11:04 root
drwxr-xr-x   32 root root  1000 Oct 25 11:04 run
lrwxrwxrwx    1 root root     8 Jan 18  2022 sbin -> usr/sbin
drwxr-xr-x.   2 root root  4096 Jan 18  2022 srv
dr-xr-xr-x   13 root root     0 Oct 25 11:03 sys
drwxrwxrwt.   8 root root  4096 Oct 25 11:08 tmp
drwxr-xr-x.  13 root root  4096 Nov 21  2022 usr
drwxr-xr-x.  21 root root  4096 Oct 25 11:03 var

ln -s为创建软连接,ln后面不加任何参数则是硬链接

[root@iZuf69p1emfnxgk080ljdnZ tmp]# ln -s file1.txt  a.txt
[root@iZuf69p1emfnxgk080ljdnZ tmp]# ln  file1.txt  b.txt
[root@iZuf69p1emfnxgk080ljdnZ tmp]# ls -la 
total 36
drwxrwxrwt.  8 root root 4096 Oct 25 11:18 .
dr-xr-xr-x. 18 root root 4096 Oct 25 11:04 ..
-rw-------   1 root root    0 Oct 25 11:04 AliyunAssistClientSingleLock.lock
lrwxrwxrwx   1 root root    9 Oct 25 11:18 a.txt -> file1.txt
-rw-r--r--   2 root root    0 Oct 25 11:08 b.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 file10.txt
-rw-r--r--   2 root root    0 Oct 25 11:08 file1.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 file2.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 file3.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 file4.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 file5.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 file6.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 file7.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 file8.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 file9.txt
drwxrwxrwt   2 root root 4096 Nov 21  2022 .font-unix
drwxrwxrwt   2 root root 4096 Nov 21  2022 .ICE-unix
drwx------   3 root root 4096 Oct 25 11:03 systemd-private-c9feaf6b67b94e9aad81f3aee3f8397b-chronyd.service-gZlR6j
drwxrwxrwt   2 root root 4096 Nov 21  2022 .Test-unix
-rw-------.  1 root root  532 Nov 21  2022 .viminfo
drwxrwxrwt   2 root root 4096 Nov 21  2022 .X11-unix
drwxrwxrwt   2 root root 4096 Nov 21  2022 .XIM-unix

下面是删除所有文件后的结果,只留下软连接和硬链接,这里软连接原文件被删,所以软连接也已经失效

[root@iZuf69p1emfnxgk080ljdnZ tmp]# rm -rf f*.txt
[root@iZuf69p1emfnxgk080ljdnZ tmp]# ls -la 
total 12
drwxrwxrwt.  3 root root 4096 Oct 25 11:21 .
dr-xr-xr-x. 18 root root 4096 Oct 25 11:04 ..
-rw-------   1 root root    0 Oct 25 11:04 AliyunAssistClientSingleLock.lock
lrwxrwxrwx   1 root root    9 Oct 25 11:18 a.txt -> file1.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 b.txt
drwx------   3 root root 4096 Oct 25 11:03 systemd-private-c9feaf6b67b94e9aad81f3aee3f8397b-chronyd.service-gZlR6j
  • 配置命令的别名

以简单的方式运行长命令,别名更改分为临时和永久

[root@iZuf69p1emfnxgk080ljdnZ tmp]# alias ll='ls -la'
[root@iZuf69p1emfnxgk080ljdnZ tmp]# ll
total 12
drwxrwxrwt.  3 root root 4096 Oct 25 11:21 .
dr-xr-xr-x. 18 root root 4096 Oct 25 11:04 ..
-rw-------   1 root root    0 Oct 25 11:04 AliyunAssistClientSingleLock.lock
lrwxrwxrwx   1 root root    9 Oct 25 11:18 a.txt -> file1.txt
-rw-r--r--   1 root root    0 Oct 25 11:08 b.txt
drwx------   3 root root 4096 Oct 25 11:03 systemd-private-c9feaf6b67b94e9aad81f3aee3f8397b-chronyd.service-gZlR6j
[root@iZuf69p1emfnxgk080ljdnZ ~]# cat .tcshrc 
# .tcshrc# User specific aliases and functionsalias rm 'rm -i'
alias cp 'cp -i'
alias mv 'mv -i'
alias ll 'ls -la'
set prompt='[%n@%m %c]# '

2.4、用户信息

  • 查看用户的基本信息
[root@iZuf68e9rrktllbcokb49yZ ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@iZuf68e9rrktllbcokb49yZ ~]# cat /etc/passwd | head -1
root:x:0:0:root:/root:/bin/bash

在Anolis系统中有个三个用户,分别是root、system、user;root的id默认为0,system的id为1-999,user的id为1000以上

[root@iZuf68e9rrktllbcokb49yZ ~]# cat /etc/shadow
root:$6$p6vwf2kZ$hL4zrV1PW6o7gEayLdxL2v0ctgPJ596shK4e.poObQ8ErEpY43fo1tQxGHfYQj4oXTBo9SypR6jgiROhROg1V1:20021:0:99999:7:::
bin:*:18794:0:99999:7:::
daemon:*:18794:0:99999:7:::
adm:*:18794:0:99999:7:::
lp:*:18794:0:99999:7:::
sync:*:18794:0:99999:7:::
shutdown:*:18794:0:99999:7:::
halt:*:18794:0:99999:7:::
mail:*:18794:0:99999:7:::
operator:*:18794:0:99999:7:::
games:*:18794:0:99999:7:::
ftp:*:18794:0:99999:7:::
nobody:*:18794:0:99999:7:::
dbus:!!:19317::::::
systemd-coredump:!!:19317::::::
systemd-resolve:!!:19317::::::
tss:!!:19317::::::
polkitd:!!:19317::::::
libstoragemgmt:!!:19317::::::
unbound:!!:19317::::::
clevis:!!:19317::::::
setroubleshoot:!!:19317::::::
cockpit-ws:!!:19317::::::
cockpit-wsinstance:!!:19317::::::
sssd:!!:19317::::::
chrony:!!:19317::::::
sshd:!!:19317::::::
rngd:!!:19317::::::
tcpdump:!!:19317::::::
nscd:!!:19317::::::
rpc:!!:19317:0:99999:7:::
rpcuser:!!:19317::::::

2.5、用户管理

  • 创建用户
[root@iZuf68e9rrktllbcokb49yZ ~]# useradd test
[root@iZuf68e9rrktllbcokb49yZ ~]# id test 
uid=1000(test) gid=1000(test) groups=1000(test)
  • 修改用户信息
[root@iZuf6cyoqp4xf8pyj35z6kZ ~]# usermod -s /bin/sh test
[root@iZuf6cyoqp4xf8pyj35z6kZ ~]# cat /etc/passwd | tail -3
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
test:x:1000:1000::/home/test:/bin/sh
  • 删除用户
[root@iZuf6cyoqp4xf8pyj35z6kZ ~]# userdel test
[root@iZuf6cyoqp4xf8pyj35z6kZ ~]# id test
id: ‘test’: no such user

2.6、密码管理

  • 添加密码
[root@iZuf6fo7v67xghffzqejnpZ ~]# passwd test
Changing password for user test.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
  • 查看密码信息
[root@iZuf6fo7v67xghffzqejnpZ ~]# passwd -S test
test PS 2024-10-26 0 99999 7 -1 (Password set, SHA512 crypt.)
[root@iZuf6fo7v67xghffzqejnpZ ~]# chage -l test
Last password change                                    : Oct 26, 2024
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7
  • 设置密码必须现在修改
[root@iZuf6fo7v67xghffzqejnpZ ~]# chage -d 0 test
[root@iZuf6fo7v67xghffzqejnpZ ~]# chage -l test
Last password change                                    : password must be changed
Password expires                                        : password must be changed
Password inactive                                       : password must be changed
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

2.7、组账户管理

  • 创建组
[root@iZuf6fo7v67xghffzqejnpZ ~]# groupadd public
[root@iZuf6fo7v67xghffzqejnpZ ~]# cat /etc/group | tail -3
rpcuser:x:29:
test:x:1000:
public:x:1001:
  • 修改组id
[root@iZuf6fo7v67xghffzqejnpZ ~]# groupmod -g 1111 public
[root@iZuf6fo7v67xghffzqejnpZ ~]# cat /etc/group | tail -3
rpcuser:x:29:
test:x:1000:
public:x:1111:
  • 删除组
[root@iZuf6fo7v67xghffzqejnpZ ~]# groupdel public
[root@iZuf6fo7v67xghffzqejnpZ ~]# cat /etc/group | tail -3
rpc:x:32:
rpcuser:x:29:
test:x:1000:

2.8、权限管理

查看文本权限

[root@iZuf65hru5nliucn1btc51Z ~]# ls -l
total 4
drwxr-xr-x 2 root root 4096 Oct 28 15:59 test
-rw-r--r-- 1 root root    0 Oct 28 15:59 test.txt

权限解析:

  • 第一位(d):文件类型:- 为普通文本、d为文件、l为软连接
  • 第二位 ~ 第四位(rwx):所有者权限
  • 第五位 ~ 第七位(r-x):所属组权限
  • 第八位 ~ 十一位(r-x):其他用户权限
  • r:读权限
  • w:写权限
  • x:执行权限
  • u:表示所有者
  • g:表示所属组
  • o:表示其他用户
  • r = 4
  • w = 2
  • x = 1

为o添加写权限

[root@iZuf65hru5nliucn1btc51Z ~]# chmod o+w test.txt 
[root@iZuf65hru5nliucn1btc51Z ~]# ls -l
total 4
drwxr-xr-x 2 root root 4096 Oct 28 15:59 test
-rw-r--rw- 1 root root    0 Oct 28 15:59 test.txt

为所有用户与组添加写权限

[root@iZuf65hru5nliucn1btc51Z ~]# chmod a+w test.txt 
[root@iZuf65hru5nliucn1btc51Z ~]# ls -l
total 4
drwxr-xr-x 2 root root 4096 Oct 28 15:59 test
-rw-rw-rw- 1 root root    0 Oct 28 15:59 test.txt

为所有用户和组删除写权限

[root@iZuf65hru5nliucn1btc51Z ~]# chmod a-w test.txt 
[root@iZuf65hru5nliucn1btc51Z ~]# ls -l
total 4
drwxr-xr-x 2 root root 4096 Oct 28 15:59 test
-r--r--r-- 1 root root    0 Oct 28 15:59 test.txt

以数字方式修改权限

[root@iZuf65hru5nliucn1btc51Z ~]# chmod 644 test.txt 
[root@iZuf65hru5nliucn1btc51Z ~]# ls -l
total 4
drwxr-xr-x 2 root root 4096 Oct 28 15:59 test
-rw-r--r-- 1 root root    0 Oct 28 15:59 test.txt

2.9、隐藏权限

查看隐藏权限

[root@iZuf65hru5nliucn1btc51Z ~]# lsattr test.txt 
--------------e----- test.txt

修改隐藏权限

[root@iZuf65hru5nliucn1btc51Z ~]# chattr +i test.txt 
[root@iZuf65hru5nliucn1btc51Z ~]# lsattr test.txt 
----i---------e----- test.txt

3.1、ACL访问控制

查看访问控制

[root@iZuf6i23jpv9zfaqevszt4Z ~]# ls -l test.txt 
-rw-r--r-- 1 root root 0 Oct 28 16:26 test.txt
[root@iZuf6i23jpv9zfaqevszt4Z ~]# getfacl test.txt 
# file: test.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--

添加新的访问控制用户

[root@iZuf6i23jpv9zfaqevszt4Z ~]# setfacl -m acl:rwx test.txt 
[root@iZuf6i23jpv9zfaqevszt4Z ~]# getfacl test.txt 
# file: test.txt
# owner: root
# group: root
user::rw-
user:acl:rwx
group::r--
mask::rwx
other::r--
[root@iZuf6i23jpv9zfaqevszt4Z ~]# ls -l test.txt 
-rw-rwxr--+ 1 root root 0 Oct 28 16:26 test.txt

删除新的访问控制用户

[root@iZuf6i23jpv9zfaqevszt4Z ~]# setfacl -x acl test.txt 
[root@iZuf6i23jpv9zfaqevszt4Z ~]# getfacl test.txt 
# file: test.txt
# owner: root
# group: root
user::rw-
group::r--
mask::r--
other::r--

3.2、umask默认值

查看默认值

[root@iZuf6i23jpv9zfaqevszt4Z ~]# umask
0022
  • 第一个0:特殊权限
  • 第二个0:所有者权限
  • 第一个2:所属组权限
  • 第二个2:其他用户权限

修改默认值

[root@iZuf6i23jpv9zfaqevszt4Z ~]# umask 0033
[root@iZuf6i23jpv9zfaqevszt4Z ~]# umask
0033

3.3、setuid附加权限

添加附加权限

[root@iZuf6gwmlzl2j307hwhr24Z ~]# chmod u+s /usr/bin/mkdir 
[root@iZuf6gwmlzl2j307hwhr24Z ~]# ls -ld /usr/bin/mkdir 
-rwsr-xr-x 1 root root 84952 Jan 18  2022 /usr/bin/mkdir

删除附加权限

[root@iZuf6gwmlzl2j307hwhr24Z ~]# chmod u-s /usr/bin/mkdir 
[root@iZuf6gwmlzl2j307hwhr24Z ~]# ls -ld /usr/bin/mkdir 
-rwxr-xr-x 1 root root 84952 Jan 18  2022 /usr/bin/mkdir

3.4、setgid附加权限

添加附加权限

[root@iZuf6gwmlzl2j307hwhr24Z ~]# chmod g+s /usr/bin/mkdir 
[root@iZuf6gwmlzl2j307hwhr24Z ~]# ls -ld /usr/bin/mkdir 
-rwxr-sr-x 1 root root 84952 Jan 18  2022 /usr/bin/mkdir

删除附加权限

[root@iZuf6gwmlzl2j307hwhr24Z ~]# chmod g-s /usr/bin/mkdir 
[root@iZuf6gwmlzl2j307hwhr24Z ~]# ls -ld /usr/bin/mkdir 
-rwxr-xr-x 1 root root 84952 Jan 18  2022 /usr/bin/mkdir

3.5、sticky权限

添加sticky权限

[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# chmod o+t test
[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# ls -ld test/
drwxr-xrwt 2 root root 4096 Oct 31 10:33 test/

删除sticky权限

[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# chmod o-t test
[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# ls -ld test/
drwxr-xrwx 2 root root 4096 Oct 31 10:33 test/

3.6、文件查找

which命令

[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# which ls
alias ls='ls --color=auto'/usr/bin/ls

whereis命令

[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz

lacate命令

[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# updatedb
[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# locate passwd
[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# locate passwd | wc -l
131

find命令

[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# find / -name passwd | wc -l
6
[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# find / -name passwd 
/var/lib/sss/mc/passwd
/etc/passwd
/etc/pam.d/passwd
/usr/bin/passwd
/usr/share/bash-completion/completions/passwd
/usr/share/licenses/passwd
[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# find / -user root
[root@iZuf6h9z8f76ow6xbhpaj2Z ~]# find / -perm 777
[root@iZuf6drkmfge856sd7kt4cZ ~]# find / -name passwd -exec cp -r {} /tmp \;
cp: cannot overwrite non-directory '/tmp/passwd' with directory '/usr/share/licenses/passwd'
[root@iZuf6drkmfge856sd7kt4cZ ~]# ls /tmp/
AliyunAssistClientSingleLock.lock  passwd  systemd-private-1c7e2fb6f40544bcaa83b3cc7db25630-chronyd.service-yzv9DU

3.7、文件过滤

普通过滤

[root@iZuf60psxxszt48h6u78f4Z ~]# grep -in ROOT /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin

结尾过滤

[root@iZuf60psxxszt48h6u78f4Z ~]# grep -in ^ROOT /etc/passwd
1:root:x:0:0:root:/root:/bin/bash

开头过滤

[root@iZuf60psxxszt48h6u78f4Z ~]# grep -in ROOT$ /etc/passwd

etc下查找出现多少次root

[root@iZuf60psxxszt48h6u78f4Z ~]# grep -nr ROOT /etc

过滤#开头

[root@iZuf60psxxszt48h6u78f4Z ~]# cat  /etc/fstab | grep -v ^#

3.8、重定向

创建文件并写入内容

[root@iZuf65vam28biwnxyg5ywcZ ~]# echo Anolis > test

输出到屏幕

[root@iZuf65vam28biwnxyg5ywcZ ~]# echo Anolis

追加写入

[root@iZuf65vam28biwnxyg5ywcZ ~]# echo Anolis >> test
[root@iZuf65vam28biwnxyg5ywcZ ~]# echo Anolis >> test
[root@iZuf65vam28biwnxyg5ywcZ ~]# cat test 
Anolis
Anolis
Anolis

覆盖内容并写入多行内容

[root@iZuf65vam28biwnxyg5ywcZ ~]# cat > test << EOF
> 123
> 456
> 789
> EOF
[root@iZuf65vam28biwnxyg5ywcZ ~]# cat test 
123
456
789

3.9、修改网络配置文件

[root@iZuf690yn61lmo0unvdmhmZ ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE="Ethernet"                            # 指定网络接口类型为以太网
PROXY_METHOD="none"                        # 不使用代理
BROWSER_ONLY="no"                          # 允许该接口进行路由
BOOTPROTO="static"                         # 使用静态IP地址配置
DEFROUTE="yes"                             # 将此接口作为默认网关
IPV4_FAILURE_FATAL="no"                    # 如果IPv4配置失败,不会导致启动失败
IPV6INIT="yes"                             # 启用IPv6
IPV6_AUTOCONF="yes"                        # 自动配置IPv6地址
IPV6_DEFROUTE="yes"                        # 将此接口作为默认IPv6网关
IPV6_FAILURE_FATAL="no"                    # 如果IPv6配置失败,不会导致启动失败
IPV6_ADDR_GEN_MODE="stable-privacy"        # 使用稳定的隐私扩展地址生成模式
NAME="ens33"                               # 网络接口名称
UUID="ba4198f1-c969-4861-a8e1-42e3c70d843a" # 网络接口的唯一标识符
DEVICE="ens33"                             # 设备名称
ONBOOT="yes"                               # 系统启动时激活该接口
IPADDR="192.168.1.71"                      # 静态分配的IP地址
NETMASK="255.255.255.0"                    # 子网掩码
GATEWAY="192.168.1.1"                      # 默认网关
DNS1="114.114.114.114"                     # 首选DNS服务器
DNS2="8.8.8.8"                             # 备用DNS服务器
DNS3="211.138.24.66"                       # 备用DNS服务器
DNS4="211.138.30.66"                       # 备用DNS服务器

4.1、rpm包管理

安装

[root@iZuf6ij0p2hxtpgwep449nZ ~]# dnf download vsftpd
Last metadata expiration check: 0:19:23 ago on Fri 01 Nov 2024 04:04:25 PM CST.
vsftpd-3.0.3-36.0.1.an8.x86_64.rpm                                                                 1.5 MB/s | 180 kB     00:00    
[root@iZuf6ij0p2hxtpgwep449nZ ~]# rpm -ivh vsftpd-3.0.3-36.0.1.an8.x86_64.rpm 
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:vsftpd-3.0.3-36.0.1.an8          ################################# [100%]

卸载

[root@iZuf6ij0p2hxtpgwep449nZ ~]# rpm -e vsftpd 

查看是否安装

[root@iZuf6ij0p2hxtpgwep449nZ ~]# rpm -q vsftpd 

查看安装信息

[root@iZuf6ij0p2hxtpgwep449nZ ~]# rpm -qi vsftpd 

http://www.mrgr.cn/news/63441.html

相关文章:

  • 人才与金融科技双向奔赴,2024 深圳国际金融科技大赛校园行圆满结束
  • LeetCode20:有效的括号
  • Matplotlib 网格线
  • Mysql数据库 | 第六章 | 表复制和去重 | 合并查询 | 外连接 | 主键 | 外键 | check约束
  • 一、Go语言快速入门之基础语法
  • GitLab在Linux上的详细部署教程并实现远程代码管理与协作
  • Linux中部署PostgreSQL保姆级教程
  • 二叉树算法题
  • 数据泄露后的安全重构:文件安全再思考
  • Java-实现重试机制并防止短时间内多次尝试
  • 2024网盘市场扫描 细则功能逐一较量
  • 使用 fzf 实现文件快速查找、打开及执行
  • Windows SEH异常处理讨论
  • Tile38命令-【Keys】
  • 卡尔曼滤波-应用白话
  • 在JAVA中使用Paho MQTT客户端
  • ArkTS基础
  • Excel函数学习记录
  • Matlab中国三大自然分区
  • 智慧园区有哪些优势
  • Java解析word中的表格或者文本
  • 揭秘云计算 | 1、云从哪里来?
  • Redis(2):内存模型
  • 物联网设备如何助力实现高效远程老人监护
  • batc和mini-batch
  • Java面试题十五