linux系统优化、用户权限

linux系统优化、用户权限

系统优化相关

1.了解自己的系统情况

cat /etc/redhat -release    # 简要查看系统情况
uname -r/-a/-n/-s/...    # 

2.用户信息

创建用户:

useradd xxx    # 创建一个用户
passwd xxx       # 给这个用户设置密码
su - xxx      # 切换到这个用户
ctrl + d 切换回管理员用户  # 切换到管理员用户时,因为权限升级,所以会要求输入密码

3.环境变量

特征:
 01. 由⼤写字⺟组成
 02. 配置的环境变量所有⽤户都必须遵循
 03. 系统中默认就有的变量信息
 
 第⼀个环境变量:PS1 (命令提示符信息)
 echo $PS1
 修改环境变量:
 第⼀个⾥程:临时修改
 PS1="[\u@\h \w]\$" 错误修改环境变量⽅式
 export PS1="[\u@\h \w]\$" 正确修改环境变量⽅式
 第⼆个⾥程:永久修改
 vim /etc/profile 
 export PS1="[\u@\h \w]\$ " # 添加内容
 source /etc/profile # 重新加载⽂件内容

4.下载软件优化操作

1)需要修改yum源⽂件(指定使⽤哪个yum软件仓库) # 类似于pip换源
 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 yum repolist
 PS:万⼀阿⾥云不好⽤,可以选择清华yum源
 https://mirrors.tuna.tsinghua.edu.cn/help/centos/ 
 
2)需要修改yum扩展源epel源
 第⼆个特殊的软件仓库
 # wget指令可能没有,通过yum指令下载即可
 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
 检查测试
 yum install -y bash-completion-extras
3)所有源⽂件更新进⾏最终确认
 yum repolist
"""
闲暇时光
 yum install sl cowsay -y
 sl
 cowsay 
 animalsay 
"""

安全相关的优化

1.修改selinux设置

限制皇帝root⾏为,但是实际应⽤不会使⽤它来限制root较为麻烦,基本都是关闭。

# 关闭selinux服务程序
 # 永久关闭
 vim /etc/selinux/config  --》对这个文件的配置进行修改
 # enforcing - SELinux security policy is enforced.
 # permissive - SELinux prints warnings instead of enforcing. 
 # disabled - No SELinux policy is loaded. 
 SELINUX=disabled
 将selinux这个等号后的内容改为disabled即可
 
 ps:⽂件修改之后,配置不会⽴即⽣效,需要重启liunx操作系统使之⽣效
 
 # 临时关闭
 setenforce # 设置
 # usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
 getenforce # 查看

2.防火墙服务设置

centos7:firewalld服务

对服务进行状态查看等系统命令:

systemctl stop firewalld.service    # 临时关闭防火墙
systemctl status firewalld.service   # 查看防火墙服务状态
systemctl disable firewalld.service   # 禁用防火墙服务
应⽤防⽕墙场景
 建议开启:服务器可以被外界访问(公⽹/外⽹ip)
 建议关闭:服务器可以被内部访问(私⽹/内⽹ip)
 建议关闭:服务器处于⾼并发状态(公⽹/外⽹ip) 软件防⽕墙关闭 硬件防⽕墙进⾏安全控制

ps:systemctl是观念与系统的相关指令

3.字符编码

echo $LANG # 查看当前系统字符编码
export LANG=en_US.GBK  # 临时修改
echo "export LANG=en_US.GBK" >> /etc/profile  # 每次启动都修改,也就相当于永久修改
source /etc/profile  # 立即生效

一般设置为UTF-8即可

虚拟机与主机间上传下载

1.linux和windows系统之间传输数据信息

查看安装的软件

rpm -qa|grep vim

ps:有些安装的软件可能无法被rpm看见

  1. 安装和传输数据相关的软件(工具准备)

    yum install -y -lrzsz
    
  2. 利用lrzsz软件将数据进行传输

    linux传输到win的指令,执行后会将当前目录下对应的文件传给windows系统,此时win系统会弹出弹窗选择文件存放位置。

    sz -y 数据信息(文件名)
    

    win传输到linux指令,执行后,win系统弹出弹窗选择文件,确定后会将此文件传输到执行指令的目录下。

    rz -y
    
  3. xshell等软件支持拖拽将文件拖到linux系统中

2.查看系统文件数据信息

比较大的文件查看具体内容:

less 文件名

指令 含义
less 文件名 逐页读取(按enter逐行往下加载)
head -n5 文件名 读取文件前五行
tail -5 文件名 文件后5行读取
tail -f 文件名 实时监控日志方法
tail -F 文件名 同上,如果文件被删除重创依然生效

3.如何检索文件中的指定内容信息

指令 含义
grep 字符串 文件名 根据字符串检索文件
grep -n 字符串 文件名 附带行号
grep -v 字符串 文件名 取反操作
sed/awk 也是检索指令,过滤能力一般

4.如何替换文件数据信息

执行这种命令时,注意先备份文件和先检索查看。

指令 含义
sed -n 检索字符串 文件名 检索字符串进行查看
sed -n 修改字符串格式 文件名 模拟替换
sed -i 修改字符串格式 文件名 真实进行替换

ps:修改字符串格式暂没有整理,去百度查阅。

别名功能

1.起别名:

alias cp='cp -i'   # 这里的-i指人为交互显示提示信息
  • 其中alias是别名关键字
  • cp是别名
  • 等号后必须是单引号引起来的指令

2.查看别名具体的指令:

which cp  # 用which查看别名为cp的实际执行命令

3.取消别名而直接执行指令:

\cp 文件 文件路径

4.永久设置命令:

直接利用alias指令是临时的设置别名,而永久设置别名:

echo alias rm='rm -i'  >>/etc/profile

就是将别名指令追加到启动文件中

文件属性信息

1.查看文件属性信息

ls -lhi /etc/ 
67683849 drwxr-xr-x. 3 root root 101 Nov 30 12:13 adir
每列内容 含义
67683849 inode信息 index node 索引节点
drwxr-xr-x. 文件类型 文件权限 开头的d就是文件类型
第三列 硬链接数
第四列 数据所属用户信息
第五列 数据所属用户组信息
第六列 文件大小
第七列 修改时间
第八列 文件名称

2.关于文件类型

字母 文件类型
d directory 目录类型的文件
- file 普通类型文件
l softlink 连接类型
c character 字符类型的⽂件(会源源不断的产⽣字符信息)
b block 块设备类型的文件
s socket 和网络接口通讯相关
p pip 管道文件

3.文件相关指令

指令 含义
file 文件名 查看文件类型
which 命令 显示命令的绝对路径信息
whereis 命令 显示命令路径以及文件
locate
find 目录区域 文件类型 具体条件 查找文件
tar -zcvf 压缩包信息(箱子) 数据信息(物品1)数据信息2(物品2) 压缩文件
tar -zxvf 压缩包 -C 指定路径 解压文件

find补充:

  • find的文件类型是根据指定文件类型去找,如果没有限制,则用-type f
  • find 的具体条件中的-name表示可以查找指定的文件
  • 如果是-name "*.txt"则表示以.txt扩展名结尾的文件(实际上可以看做类似于正则匹配)
  • -size +10k -size -10M表示文件大于10k但小于10M的文件
  • find查找默认是递归的,可以通过-maxdepth 1 来将查找层级限制到一层

4.文件权限相关

示例:-rw-r--r--

第一个是文件类型,后面九位是文件权限,三个一组

每一组会有r、w、x三个权限

  • r 可读 数字代表4
  • w 可写 数字代表2
  • x 可执行文件 数字代表1

如5其实就是1+4,代表r-x,6就是4+2,代表rw-

而三个一组每个组别的含义为:

  • 第一组:属主的权限
  • 第二组:文件所属用户组的权限
  • 第三组:其他用户的权限

5.文件所属用户、用户组

在linux系统中,多⽤户操作系统,⽂件数据,系统进程信息都要有⽤户管理

创建⽤户: useradd oldgirl
# ⽅法⼀: 交互式设置密码
 passwd oldgirl # ⼀定要加上⽤户名否则是设置root⽤户密码  输⼊确认密码信息
# ⽅法⼆: 免交互设置密码
 useradd oldboy01
 echo "12345"|passwd --stdin oldboy01 # >/dev/null
# ⽅法三: 即创建⽤户⼜设置⽤户密码信息(分号⽀持多个命令)
 useradd jason;echo "12345"|passwd --stdin jason 

系统中的用户都有:

  1. 超级管理员用户root id=0
  2. 普通用户 id在1000以上,它的权限由root指定
  3. 虚拟用户 id在1-999,用于管理服务进程

6.文件相关信息

# 查看普通⽂件⼤⼩⽅法
 [root@jason /tmp]# ls -lh /etc/services
# 查看⽬录⽂件⼤⼩⽅法
 du 显示⽬录中的数据真实占⽤磁盘空间⼤⼩
 du -sh /etc/
 -s 将⽬录下⾯的数据信息⼤⼩进⾏统计
 -h 以⼈类可读⽅式显示
# 企业案例: 磁盘空间不够使⽤了删除⽐较⼤的⽂件
⽂件索引属性信息
 01. 确认磁盘空间是否不够⽤了
 	df -h
 02. 确认⽐较⼤的⽂件数据信息
 	du -sh /usr/*
 03. 没有⽤的⽂件(检查⼤⼩会不会有变化)
 	⽂件⼤⼩产⽣变化的⽂件如何处理:备份 清空⽂件中的数据>⽂件信息
 ⽂件⼤⼩不会产⽣变化的⽂件:备份 直接进⾏删除
 04. 进⾏磁盘空间利⽤率确认

7.文件索引信息

inode(index node)
	概念说明:书⽬录 索引指向信息 指向数据真实存储在磁盘的位置

# block
 概念说明: ⽤于真实存储数据信息
 如何查看block信息: 
 [root@jason /tmp]# ls -l /etc/hosts
 block默认⼤⼩4k 可以调整, 但建议⼀定要在格式化分区时调整
# 问题: block是调整⼤⼀些10M,还是调整⼩⼀些10k
 情况⼀: 存储数据量⽐较⼤的时候
     正确答案: 是选择⼤的block更好 
     可以减少block消耗, 节省磁盘IO
 情况⼆: 存储数据量⽐较⼩的时候
     正确答案: 选择⼩的block会更好
    链接信息
     可以节省磁盘空间, 可以让更多数据进⾏存储

8.文件链接信息

硬链接:直接指向硬盘中真正的数据所在位置
    硬链接各自不影响数据的访问
软链接:相当于是windows中的快捷方式
    软链接的出处一旦删除所有软连接都会失效
 
# 硬链接
 概念说明:
 磁盘(超市--数据) 有⻔进⼊超市 cat /etc/hosts
 多⻔进⼊超市 cat
/oldboy/hosts 
 只能对⽂件做硬链接不能对⽬录做硬链接
 作⽤说明:
 01. 可以⽤于查看数据信息
 02. 可以⽤于作为备份
 03. 当所有硬都被删除, 等价于数据将会被删除
 区别说明:
 01. 对于源⽂件关注程度
 源⽂件删除, 不会对硬链接⽂件产⽣影响
 02. 对于链接⽂件关注程度
 不会有影响, 对于源⽂件硬链接数会减少
# 软链接
 概念说明:
 创建⼀个⽂件或者⽬录的快捷⽅式
作⽤说明:
 01. 使复杂路径操作更加⽅便
 02. 使不同软件程序版本调⽤更加⽅便
 区别说明:
 01. 对于源⽂件关注程度
 源⽂件被删除, 会影响软链接⽂件
系统时间
 02. 对于链接⽂件关注程度 
 毫⽆影响
"""详细操作"""
1.硬链接
 ln /etc/hosts /oldboy/hard_link_hosts.txt
 cat /etc/hosts
 cat /oldboy/hard_link_hosts.txt
 echo oldboyinfo >> /etc/hosts
 cat /etc/hosts
 cat /oldboy/hard_link_hosts.txt
2.软连接
 ln -s /etc/sysconfig/network-scripts/ifcfg-eth0
/oldboy/soft_link_eth0
posted @ 2023-02-04 14:52  leethon  阅读(33)  评论(0编辑  收藏  举报