首页
碎碎念
东邻西舍
本站信息
前来吐槽
统计
Search
1
openwrt系统上安装第三方插件
26,761 阅读
2
ubuntu下zerotier的基本使用教程
13,581 阅读
3
给小米R3G更换系统:从padavan刷成openwrt
12,849 阅读
4
openwrt使用第一步:设置上网拨号
10,744 阅读
5
openwrt无线中继功能:实现不插网线就能上网
9,522 阅读
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
登录
Search
标签搜索
Linux
建站
Java
踩坑实录
Ubuntu
MySQL
折腾搞机
HTML
CSS
MyBatis
Spring
SQL
Nginx
路由器
树莓派
OpenWrt
Maven
Git
Win10
只言片语
知识分子没文化
累计撰写
83
篇文章
累计收到
152
条评论
首页
栏目
学习点滴
Java
Web前端
Linux
踩坑实录
折腾搞机
关于建站
只言片语
页面
碎碎念
东邻西舍
本站信息
前来吐槽
统计
搜索到
23
篇与
的结果
2021-03-12
ubuntu系统中的文件权限管理总结
目录: 思维导图 1.ubuntu中的文件权限介绍 1.1 用户组 1.2 文件权限等级 2.查看文件权限 3.修改文件权限 3.1 用字母表示权限等级 3.2 用数字表示权限等级 思维导图 注:修改文件权限等操作需要一定系统权限,本文的命令默认是在root用户下进行的,如有必要,请在命令前加入sudo 来提升权限。 1.ubuntu中的文件权限介绍 1.1 用户组 对于一个文件或者文件夹来说,与其相关的用户组分为三类: user:该文件或文件夹的拥有者 group:与user在同一个用户组的用户 other:除了user和group的其他所有用户 1.2 文件权限等级 文件权限等级有三种,分别为读、写、执行。有两种表示方法: 用字母表示: 读:r(read) 写:w(write) 执行:x(execute) ——假如这个文件可执行的话 无权限:-(可以理解为占位符) 这个很好理解,表示形式就是对应英文单词的首字母。假设有文件test.txt,user有这个文件的读、写、执行权限,group有读、写权限,other有执行权限,那么它的文件权限就可以用这种方式表示为:rwxrw- - -x。这串字符分为三部分,分别表示了user、group、other这三类用户的权限情况: 用十进制数字表示: 读:4 写:2 执行:1 无权限:0 那么问题来了,表示每个权限的数字为什么是”4“、 ”2“、 ”1“,而不是其他数字呢?其实用二进制来解释就很好理解了。在二进制中只有“0”和“1”两种取值,相对应到文件权限上,有权限是“1”,无权限是“0”。假设用户同时具备读、写、执行三种权限,那么按照读、写、执行的顺序排列,可得到一个二进制数“111”,将这个二进制数转换成十进制数就变成了“421”,所以就可以得到每种文件权限对应的十进制数字了,即:读(4)、写(2)、执行(1)。 以上是数字表示单个权限的情况,当数字来表示组合权限时稍显麻烦,但也并不算复杂。举个栗子说明权限表示的规则:还是文件test.txt,三类用户的权限不同,user有这个文件的读(4)、写(2)、执行(1)权限,group有读(4)、执行(1)权限,other只有这个文件的执行(1)权限,用数字来表示就是:“751”。即每位数字是该用户所拥有权限的和,看下图: 综上所述,这两种方法用一个表格总结下来就是这样: 读(read) 写(write) 执行(execute) 字母 r w x 十进制数字 4 2 1 2.查看文件权限 # 查看文件权限, ls -l [文件名] # 查看文件夹权限 ls -ld [文件夹名] 比如查看当前目录下的test.txt这个文本文件的权限信息: ls -l test.txt 结果如下,图中红框部分就是文件权限信息: 查看当前目录下的test文件夹的权限信息: ls -ld test 执行结果: 最前面的“d”表示文档类型,即文件夹,其他的还有: -:普通文档 l:链接文件(link file); b:装置文件里面的可供储存的接口设备(可随机存取装置); c:装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。 后面对应的每一位上,有权限就用权限对应字母表示,若没有权限则用”-“来占位。 查看文件权限时,若省略后面的文件名参数,命令结果就会显示当前目录下的所有文件及文件夹的权限等信息。 查看文件夹权限时,省略文件名参数,命令的执行结果会变成显示当前所在的文件夹的权限信息。 基本介绍完了,接下来就是如何修改文件权限。 3.修改文件权限 修改文件的权限用chmod命令,对于一个文件来说,文件权限的表示方法有字母和数字两种,所以修改权限时就可以有两种方法。 3.1 用字母表示权限等级 举几个例子来说明,假设有一个文件“test”: # 增加group用户的可执行权限 chmod g+x test “+”表示在原来的基础上增加权限 # 删除other用户的可写权限 chmod o-w test “-”表示在原来的基础上删除权限 # 给user用户给test文件的可写、可读、可执行权限 chmod u=rwx test “=”可以给用户直接赋予多个权限 # 假设有文件test,给全部用户增加这个文件的可写权限 chmod a+w test a在这里表示全部用户(user+group+other) 综上来说,这种方式下命令可以简单概括为: chmod [用户]+/-/=[权限] [文件/文件名] [用户]有u(user)、g(group)、o(other)和a(user+group+other) [权限]有r(read)、w(write)、x(execute) 3.2 用数字表示权限等级 继续举例子说明: # 修改文件“test1”的权限为user读、写、执行,group可读,other可执行 chmod 741 test1 # 修改文件夹“test2”的权限为user、group、other均可读写可执行 chmod -R 777 test2 “-R”参数表示对该文件夹下所有的文件及文件夹都执行修改权限操作,即递归执行,一般适用于文件夹操作。 所以这个方式简单概括就是这样的命令形式: chmod [参数选项] [权限] [文件/文件夹] 这里要强调的是,在正式使用的服务器上,请不要给任何一个文件赋予777权限,即任何用户均可读写可执行的权限,会存在较大的安全隐患。
2021年03月12日
2,943 阅读
2 评论
1 点赞
2021-03-07
ubuntu下zerotier的基本使用教程
目录: 前言 1.安装 2.创建一个网络 3.加入一个网络 4.其他操作 (1)手动启动zerotier服务: (2)开机启动: (4)查看本机连接的网络: (5)断开当前加入的网络: 环境说明: 设备:树莓派4B 操作系统:ubuntu 20.10 zerotier版本:1.6.3 前言 zerotier官网:https://www.zerotier.com/ 官方文档:https://zerotier.atlassian.net/wiki/spaces/SD/overview 1.安装 输入以下命令在ubuntu中安装zerotier: curl -s https://install.zerotier.com | sudo bash 2.创建一个网络 首先进入zerotier官网,用邮箱注册一个账号。然后进入网络列表,点击Create A Network按钮创建一个网络,下方列表中会出现一个网络ID,点击网络ID进入即可这个网络的设置界面。 该网络的“setting”选项有如下几个项目需要设置: 其他大部分设置可以保持默认选项不做修改 3.加入一个网络 首先在要连接的Linux设备上输入如下命令加入网络,如果连接成功就会出现200的状态码提示: sudo zerotier-cli join 网络ID # 查看当前连接的网络,如果列表中出现网络号说明连接成功 sudo zerotier-cli listnetworks private属性的网络检测到新设备连接时要手动授权,需要在这个网络的控制台授权新设备连接。未授权之前设备列表是这样: 在前面的列表项上打上勾,即完成授权,设备状态变成这样: 那么这个linux设备就加入到了这个网络中,如果再往这个网络中加入一个设备,这两个设备只要保持运行zerotier且都连接到这同一个网络,即使这两个设备不在同一个局域网内,也能互相访问了。 4.其他操作 (1)手动启动zerotier服务: sudo systemctl start zerotier-one.service (2)开机启动: sudo systemctl enable zerotier-one.service (4)查看本机连接的网络: sudo zerotier-cli listnetworks (5)断开当前加入的网络: sudo zerotier-cli leave 网络ID 以上是zerotier的基本操作,本篇只涉及到Linux平台的操作,由于其他平台的zerotier都有图形化的客户端,操作起来还是比较简单的,所以不再赘述(绝对不是因为我懒)。 这里推荐B站的一个up主的视频,关于zerotier他讲的很详细,可以说是包教包会:https://www.bilibili.com/video/BV1VJ411H7Yv {bilibili bvid="BV1VJ411H7Yv" page=""/}
2021年03月07日
13,581 阅读
2 评论
2 点赞
2021-02-28
用frp实现树莓派4B的内网穿透
目录: 前言 frp是什么? 为什么使用 frp ? 1.在服务端部署frp 2.配置frp客户端 3.启动frp服务 4.连接服务 5.将frp加入开机启动 5.1服务端 5.2客户端 环境说明: 服务端设备:阿里云轻量应用服务器 服务端系统:ubuntu 20.04 客户端设备:树莓派4B 客户端系统: Debian-Pi-Aarch64 2.0_无桌面增强版-2021-01-03 前言 引用frp项目的部分官方文档对frp进行一个简单的介绍: frp是什么? frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 为什么使用 frp ? 通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括: 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。 代理组间的负载均衡。 端口复用,多个服务通过同一个服务端端口暴露。 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。 服务端和客户端 UI 页面。 这一段文档看不懂?没关系,你只需要知道frp是免费开源的内网穿透工具,这就够了。下面链接可以了解到更多: frp项目官网:https://gofrp.org/ frp的github项目地址:https://github.com/fatedier/frp frp的项目文档:https://gofrp.org/docs/ 进行frp内网穿透需要一台有公网ip的设备作为转发的服务端,本篇用阿里云服务器来作为服务端,给树莓派实现内网穿透,以下是详细步骤: 1.在服务端部署frp 用SSH连接到阿里云服务器,下载amd64架构的frp文件包: sudo wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_amd64.tar.gz 然后用tar命令解压下载的压缩包: sudo tar -zxvf frp_0.35.1_linux_amd64.tar.gz # 文件名可能会有不同,用ls -a命令查看 进入解压后的文件夹,文件夹中包含amd64架构的服务端二进制文件和客户端二进制文件两种。由于阿里云服务器作为服务端,所以在这上面我们只用到服务端的二进制文件及对应的ini配置文件,其他的文件可以选择删除掉。 编辑frps.ini文件: sudo nano frps.ini frps.ini文件内容如下: [common] bind_port = 7000 # 默认端口为7000 其中,bind_port端口修不修改都可以,但是bind_port端口要与客户端配置文件的server_port端口相同。修改完之后ctrl +o保存,ctrl +x退出。记得要在服务器中放行bind_port端口。 2.配置frp客户端 再用SSH连接到树莓派的控制台,下载适用于树莓派的arm64架构的frp文件包: sudo wget https://github.com/fatedier/frp/releases/download/v0.35.1/frp_0.35.1_linux_arm64.tar.gz 与上一步类似,解压下载的压缩包: sudo tar -zxvf frp_0.35.1_linux_arm64.tar.gz # 文件名可能会有不同,用ls -a命令查看 同样的,文件夹中包含了服务端和客户端的两种二进制文件。树莓派作为客户端只用到客户端的二进制文件及对应的ini配置文件,其他的文件可以删除。 编辑其中的frpc.ini文件: sudo nano frpc.ini frpc.ini文件内容如下: [common] server_addr = 127.0.0.1 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 按如下参数说明修改配置文件: server_addr:服务器的IP地址; server_port:服务器端的端口,与服务端配置文件的bind_port端口相同; local_ip:要在公网访问的本地设备的地址,这里指客户端本机,填127.0.0.1即可; local_port:本地设备要暴露的端口,即理解为提供服务的端口 remote_port:在外网的访问端口,此端口上的流量会被转发到本地设备对应的local_port端口上 还有别忘了在服务器防火墙上放行remote_port端口 配置文件中默认有一个ssh的访问配置,如果我们还想让其他的端口在外网访问到,那就可以照猫画虎来添加一个配置。比如在外网用公网ip的8888端口访问本地设备的80端口,就可以这样写: [http] # 名字自定,写在方括号里面 type = tcp local_ip = 127.0.0.1 local_port = 80 remote_port = 8888 类似的,可以根据需求添加更多的访问配置。 3.启动frp服务 设置完毕,就可以启动frp服务了。 先到阿里云服务器控制台窗口中启动服务端frp服务,在frp的目录中执行: ./frps -c ./frps.ini 再连接树莓派的控制台,启动客户端frp服务时同样在frp目录中执行: ./frpc -c ./frpc.ini 需要注意的是,一定要先启动服务端frp,再启动客户端frp。要是先启动客户端frp,就会报错: 4.连接服务 以上配置完成,就可以在外网访问本地的服务了,访问方式是:服务器的IP地址/域名:端口。此处端口为客户端配置文件中的remote_port端口。 5.将frp加入开机启动 5.1服务端 回到阿里云服务端控制台,在/etc/init.d目录下新建一个脚本文件: cd /etc/init.d # 新建脚本文件 sudo nano frp.sh 脚本文件的内容为: #!/bin/bash ### BEGIN INIT INFO # Provides: frp # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start frp # Description: start frp ### END INIT INFO # 上面一部分不可少,下面这一部分是命令内容,以exit 0结束 # /root/frp换成自己的目录,当前目录用pwd命令查看 cd /root/frp ./frps -c ./frps.ini exit 0 修改完之后ctrl +o保存,ctrl +x退出。执行以下语句给脚本文件足够的执行权限: sudo chmod 755 frp.sh # frp.sh为刚才建的脚本文件名称,这个按实际情况来写 最后再将脚本添加到开机启动就行了: sudo update-rc.d frp.sh defaults 90 # frp.sh为刚才建的脚本文件名称,这个按实际情况来写 90表示执行的优先级,数字越大表示越晚执行。 附:移除脚本命令: sudo update-rc.d -f frp.sh remove 5.2客户端 以上方法适用于部分debian系的Linux系统,所以在客户端上也是可以按照上面那种方法实现开机启动frp。可是我到树莓派上试了好像不行,经过多次尝试,基本可以确定问题是由于树莓派上安装的是树莓派爱好者基地的Debian-Pi-Aarch64系统,原来在Debian系Linux上添加开机启动的方法就不太适用了。不过在其官方文档说明中也提供了添加开机自定义脚本的方法: # 编辑脚本文件"/boot/rc-local" sudo nano /boot/rc-local 向脚本文件中添加如下命令,添加在exit 0之前: cd /home/frp ./frpc -c ./frpc.ini # "/home/frp"换成自己的frp目录 添加完之后保存退出。 这时候再分别重启服务端和客户端,frp服务就会自动运行了,不再需要手动运行。如果重启之后无法连接访问,建议再等待一两分钟,因为有可能会是其中一端的开机启动服务还未加载完全。
2021年02月28日
3,233 阅读
0 评论
0 点赞
2021-02-13
【踩坑实录】安装ubuntu+win10双系统之后,系统时间相差8小时
环境说明: ubuntu 20.04 + win10 专业版 问题表现 在笔记本上同时安装了win10和ubuntu双系统之后,发现两个系统上的系统时间相差了8个小时, 解决方法 这是我经常用的一个方法,不需要修改配置文件,只需要在系统控制台中输入: sudo timedatectl set-local-rtc 1 执行完之后重启,然后ubuntu和win10系统的时间就一致了。
2021年02月13日
661 阅读
0 评论
0 点赞
2021-02-04
为ubuntu server20.04 连接wifi
环境说明: Linux:ubuntu server 20.04 简单的上手体验了一下树莓派的32位原生系统RaspberryPi OS之后,直接给树莓派安装了64位的ubuntu server系统,但是在为它连接wifi时,貌似用原来RaspberryPi OS系统连接wifi的方法不管用,所以在查了一些资料之后,便把ubuntu系统连接wifi的方法记录下来,以防忘记。 首先,wifi信息需要进入系统之后,在/etc/netplan的配置文件中更改: cd /etc/netplan # 进入配置文件的目录 ls # 查看配置文件名称,不同机器的配置文件名称不同 sudo nano *****.yaml # 编辑配置文件 按照以下格式补充修改配置文件: network: version: 2 ethernets: eth0: dhcp4: true match: macaddress: b8:27:eb:c6:94:8f set-name: eth0 wifis: wlan0: dhcp4: true access-points: "wifi的ssid": password: "wifi密码" 补充的部分能复制就复制,复制过去直接改成自己的wifi名称和密码就行,因为在实际输入的情况下会出现很多问题(不得不说yaml的语法是真的一言难尽),如果实在没办法去复制的话,在手动输入的情况下要注意以下几个坑: 在yaml语法规则中,要严格按照层次结构进行缩进(在命令行下缩进四个空字符就差不多是下一层); 冒号后面如果不换行的话,那么一定要空一格再输入后面的内容,比如dhcp4: true这句; 关于wifi名称,如果wifi名称不包含空格的话双引号可以省略,否则就必须把wifi名称用双引号括起来 配置完成以后,ctrl+o保存,ctrl+x退出。 # 配置好文件之后 需要执行下面这个命令,查看配置是否有错,如果有错它会自动回滚上次正确配置 sudo netplan try # 没错会让你按enter确认使用这些配置,然后执行这个命令来使配置生效 sudo netplan apply 然后再重启,等到设备连接到wifi就行了。 附上一些更详细的配置:WiFi 配置 ——ubuntu20.04 server
2021年02月04日
2,253 阅读
0 评论
1 点赞
1
2
3
4
5