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看见
-
安装和传输数据相关的软件(工具准备)
yum install -y -lrzsz
-
利用lrzsz软件将数据进行传输
linux传输到win的指令,执行后会将当前目录下对应的文件传给windows系统,此时win系统会弹出弹窗选择文件存放位置。
sz -y 数据信息(文件名)
win传输到linux指令,执行后,win系统弹出弹窗选择文件,确定后会将此文件传输到执行指令的目录下。
rz -y
-
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
系统中的用户都有:
- 超级管理员用户root id=0
- 普通用户 id在1000以上,它的权限由root指定
- 虚拟用户 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