linux安装samba服务
安装1sudo apt-get install samba
或者
1yum -y install samba
配置smb创建一个用于登录samba的账户,并且设置为不能登录ssh
1useradd smb -s /sbin/nologin
1smbpasswd -a [user] #在实际时,把这个[user]替换成自己的用户名。enter后,会有密码输入
修改配置文件1vim /etc/samba/smb.conf
如下
12345678[share_name] #符号[ ]里面的是共享文件夹对外的名字,称为共享名字,注意[ ]不能掉path = /data #这个path就是你想共享的那个文件夹的路径available = yesvalid users = 用户名 #这个book,就是我们刚才在第二步创建的那个用户名,记得替换read only = nobrowsable = yespublic = yeswritable = yes
把目录所有者设置为smb用户 (不然可能会发生只能 ...
SELinux基础
简介SELinux简介
SELinux(Secure Enhanced Linux)安全增强的Linux是由美国国家安全局NSA针对计算机基础结构安全开发的一个全新的Linux安全策略机制。SELinux可以允许系统管理员更加灵活的来定义安全策略。
SELinux是一个内核级别的安全机制,从Linux2.6内核之后就将SELinux集成在了内核当中,因为SELinux是内核级别的,所以我们对于其配置文件的修改都是需要重新启动操作系统才能生效的。
现在主流发现的Linux版本里面都集成了SELinux机制,CentOS/RHEL都会默认开启SELinux机制。
SELinux基本概念
Subject 主体,是一个进程
Object 对象,是文件,设备,套接字或者任何可以对主体访问的资源
Action 动作,就是主体对象执行的操作 读,写等
Policy 策略
Mode 模式
Security Context 安全上下文
我们知道,操作系统的安全机制其实就是对两样东西做出限制:进程和系统资源(文件、网络套接字、系统调用等)。
在之前学过的知识当中,Linux操作系统是通过 ...
Linux基础教程
fuser -k 80/tcp 杀死占用80端口的进程
./usr/local/nginx/sbin/nginx //启动nginx(先安装编译)
ls //查看当前目录下的文件
ps -ef|grep nginx //查看nginx的进程
whereis nginx //查看nginx的安装目录
netstat -anp |grep 1506 //查看端口的占用情况
chmod 777 . //获取权限
free -h //查看内存
top //查看各项
systemctl stop firewalld.service //关闭防火墙
yum install lrzsz -y //安装上传文件的 rz
tail -n 20 <文件名> //查看最后20行
开启防火墙: ...
Shell基础教程(一)
Shell指南shell是一个命令解释器
应用-shell-内核-硬件
shell为用户提供了一个想linux内核发送请求以便运行程序的程序
用户可以使用shell启动,挂起,停止,编写一些程序
shell分为两种
交互式
用户每输入一条命令就执行
批处理
执行一个shell脚本
编写一个shell12!#/bin/bashecho "hello,world"
12chmod 744 文件名.sh./文件名.sh *运行
shell变量转义符当你想要输出的内容中包含shell的已经被定义的特殊符号时,为了避免输出的内容被干扰,需要使用转义符把字符去特殊化
参数
说明
\
使\后的一个变量变为单纯的字符串
‘ ‘
把其中所有的变量转为字符串
“ “
保留其中变量的属性,不做转移处理
` `
把其中的命令执行后返回结果
定义一个变量12A=200echo "A=$A"
取消一个变量1234A=200echo "A=$A"unset Aecho "A=$A"
静态变 ...
使用 NGINX 流控和 fail2ban 防止 CC 攻击
背景知识CC 攻击攻击者通过创建大量请求导致服务器资源耗尽,主要针对特定服务接口,属于实现 DoS 攻击的一种方式(DoS 攻击更多是针对网络端口,而不是具体服务接口)。
NGINX 流控
limit_req_zone:通过“漏桶”算法限制每个 IP 发起的请求频率。
limit_conn_zone:限制每个 IP 发起的连接数。
fail2ban通过匹配服务器日志操作 iptables 来限制客户端网络连接。
实践配置NGINX 部分在 http 部分中配置:
limit_req_zone $binary_remote_addr zone=sym:10m rate=5r/s; limit_conn_zone $binary_remote_addr zone=conn_sym:10m;12
然后在需要流控的 location 部分配置:
limit_req zone=sym burst=5; limit_conn conn_sym 10;12
重启 NGINX 后当有超流客户端请求时将在 NGINX error.log( ...
linux的sudo授权
如果有这样一个需求,linux的其他用户(普通用户)要查看你的日志文件,但是你又不想让他使用其他命令那就要使用sudo了,授权指定用户使用命令了
12### 打开配置文件 这个命令等于 vi /etc/sudoersvisudo
找到下面这行,这行的意思是root用户授权全部命令 1root ALL=(ALL) ALL我们添加了一个用户 chen
12useradd chenpasswd 123456
这就是我们看日志的用户,我们想让他只使用 cat 和 less 命令 (建议加上 /bin/)
1chen ALL=(ALL) /bin/cat,/bin/less
多个命令直接用逗号隔开
我们登录用户chen
使用 sudo -l 看看
12345678Matching Defaults entries for chen on localhost: !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_ ...
VMware虚拟机的网络连接方式
VMware虚拟机的网络连接方式桥接模式和主机使用相同的网段,
方便使用,可以和其他系统通讯,
但如果数量多会造成IP地址冲突
NAT模式虚拟机和主机使用不同的网段,
虚拟机与外网连接时使用NAT的方式,
不会造成外部环境的IP地址冲突
仅主机模式虚拟机是独立的主机,
不能访问外网
linux目录结构及作用树状目录文件,/为跟目录
一切介为文件
/bin存放命令
/sbin管理员使用的系统管理程序
/home存放普通用户的主目录
/root超级用户的主目录
/lib系统开机所需要的最基本的动态连接共享库
/lost+found 当系统非法关机时,该目录会存放文件
/etc所有的系统管理所需要的配置文件和子目录
/usr用户的应用程序和文件都存放在该目录下,类似program files
/boot启动linux的核心文件
/proc虚拟的目录,是系统内存的映射,访问这个目录来获取系统的信息(和内核相关
/srvservice,存放一些服务启动后需要提取的数据(和内核相 ...
docker compose 安装MySQL
第一步:首先安装docker 和docker-compose
这里使用快速安装脚本进行安装
1curl -sSL https://get.daocloud.io/docker | sh
第二步:新建/data/mysql目录 data文件是我以后存放所有安装的容器地址
新建一个docker-compose.yml文件夹
1version: '3'services: mysql: image: mysql:5.7 restart: always container_name: mysql environment: MYSQL_ROOT_PASSWORD: chen command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaul ...
linux日志管理(一)
思维导图
先来看看日志存放的路径格式: 设备+日志级别+存放路径
rsyslog配置文件
1vim /etc/rsyslog.conf
配置文件解释
1#### RULES #### # Log all kernel messages to the console.# Logging much else clutters up the screen.#kern.* /dev/console # Log anything (except mail) of level info or higher.# Don't log private authentication messages!*.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access.authpriv.* ...
Vue封装Axios
在vue脚手架中需要封装axios来达到更好使用axios的目的
比如 token 的鉴权,错误处理等
首先我们要在 src目录下创建一个plugins 文件夹
这个文件夹以后就是来存储我们vue项目的一些第三方的配置文件
我们在Plugins目录下创建一个 myAxios.ts的配置文件封装axios
myAxios.ts 文件内容如下
1234567891011121314151617181920212223242526import axios from 'axios' // 创建axios实例。统一配置const service = axios.create({ baseURL: "http://xxx.com, // api的base_url timeout: 15000 // 请求超时时间 // .... 其他信息})// request拦截器service.interceptors.request.use(config => { //... 获取token,存储token 等操作 retur ...