Linux 文件权限、VIM、防火墙
Linux 文件权限、VIM、防火墙
SSH连接
无论是mac还是windows的同学都可以选择下载自己喜欢的远程登陆客户端工具,通过ssh协议连接到远程主机。
客户端的使用非常方便。但也有很多同学喜欢使用命令行的方式来进行连接(比如我自己)
使用root登陆1.1.1.1:(默认端口为22)
ssh root@1.1.1.1
也可以使用-p指定 ssh主机配置的端口
ssh -p 222 root@1.1.1.1
环境变量
和Windows不同,Linux环境变量配置需要使用
export
声明。如:
export PATH=${PATH}:java/bin:android/platform-tools
如果直接在终端中输入命令,则设置PATH环境变量的值,但其作用范围仅限于当前会话。即临时环境变量
profile、bashrc、bash_profile
在Linux中配置环境变量,可以但不限于使用上述三个文件。
首先读入
/etc/profile
,读取当前用户目录内的~/.bash_profile
;最后,根据用户帐号读取~/.bashrc
。
/etc/
是系统全局环境变量设定;~/
是用户私有环境变量设定。在修改配置文件后,可使用
source /etc/profile
刷新。
权限
Linux系统从诞生就被设计为多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统安全,Linux系统对不同的用户访问同一文件的权限做了不同而规定。
#在Linux中可以通过 `ls -l` 显示文件的属性以及文件所属的用户和组
total 1063044
drwxrwxr-x 13 root root 4096 Jun 7 16:12 android-ndk-r17b
-rw-r--r-- 1 root root 709381607 Jun 13 03:20 android-ndk-r17b-linux-x86_64.zip
-rw-r--r-- 1 root root 8799579 Feb 25 05:35 apache-maven-3.5.3-bin.tar.gz
drwxr-xr-x 9 root root 4096 Aug 15 17:58 apache-tomcat-8.5.32
-rw-r--r-- 1 root root 9584807 Jun 21 04:26 apache-tomcat-8.5.32.tar.gz
-rw-r--r-- 1 root root 693 Jul 22 14:22 build.sh
-rwxr-xr-x 1 root root 62299 Aug 24 07:35 certbot-auto
drwxr-xr-x 3 root root 4096 Jun 6 21:29 down
drwxr-xr-x 3 root root 4096 Jun 4 17:59 downfile
-rw-r--r-- 1 root root 2703579 Aug 15 17:19 dubbo-2.6.2.zip
-rw-r--r-- 1 root root 32099475 Aug 15 17:34 dubbo-admin-2.6.war
drwxr-xr-x 4 root root 4096 Aug 6 11:39 ffmpeg
-rw-r--r-- 1 root root 294240052 Oct 25 2014 gitlab_7.4.2-omnibus-1_amd64.deb
drwxr-xr-x 9 root root 4096 May 27 10:42 hexo-theme-material
上面的
android-ndk-r17b
显示的第一列表示文件类型与权限。'd'
在Linux中代表该文件是一个文件目录在Linux中第一个字符代表这个文件是目录、文件或者链接等等
类型 | 描述 |
---|---|
d | 目录 |
- | 文件 |
l | 链接(link file) :ln -s [raw][out] |
b | 块设备(I/O随机存取设备),如:硬盘 |
c | 字符设备文件( I/O传输过程中以字符为单位进行传输的设备 ),如:鼠标,键盘... |
...... | ...... |
然后是三个为一组的
rwx
, 其中r
表示可读,w
表示可写,x
表示可执行
对于每个文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。同时在Linux中用户都是按组来进行分类的,一个用户属于一个或多个组。
文件所有者之外的用户又分为文件所有者的同组用户和其他用户。可以使用以下命令查看当前使用的用户信息:
命令 | 说明 |
---|---|
whoami | 查看当前登陆的用户 |
groups [用户] | 查看指定用户分组,以及组内成员 |
groups | 查看当前登陆用户所属的分组 |
更改文件所属
#chgrp : 更改文件属组
#-R 递归更改目录文件
chgrp [-R] 属组名 文件名
-rw-r--r-- 1 root root 53 Aug 15 21:25 main.c
#更改main.c 属于git 组的用户
chgrp git main.c
-rw-r--r-- 1 root git 53 Aug 15 21:25 main.c
################################################################################################
#chown: 更改文件属于的用户与分组
chown [-R] 属组名 文件名
chown [-R] 属主名:属组名 文件名
#修改 main.c 属于 git组的git用户
chown git:git main.c
-rw-r--r-- 1 git git 53 Aug 15 21:25 main.c
更改文件权限
三组rwx分别代表:所属用户(user)、所属分组(group)、其他(other)
Linux文件权限使用
chmod
能够修改这三组权限。有两种设置方法。一种是数字,一种是符号。
使用数字修改权限
r 可读:4
w 可写:2
x 可执行 : 1
#设置文件权限
chmod 177 main.c
#之前使用 chown 将main.c 修改为属于git用户
#此处修改git用户对main.c的权限不可读写
使用符号改变权限
三组rwx可以分别由: u(ser)、g(roup)、o(ther) 来代表,另外a则代表all
#设置权限为 --x --x --x
chmod u=x,g=rx,o=r main.c
#chmod +x = chmod a+x
# + : 增加权限
# - : 减去权限
chmod +x xx : 添加执行权限
chmod +r xx : 添加读取权限
chmod +w xx :添加可写权限
su和sudo
su : 在已登陆的终端(命令行)会话中登陆到另一个用户。即 切换用户。
su [切换的用户名] 未输入用户名,默认切换到root用户
#在上面的操作中已经将main.c设置为对git不可读写
#切换到git用户
su git
#cat 文本输出命令
cat main.c
#输出: 没有权限读取main.c
cat: main.c: Permission denied
su 和 su -
两者的区别是,前者只切换了身份,而后者相当于重新登陆。su - 重新登陆后目录切换到用户配置的工作目录。
su
# 切换到/root/test目录
root@iZj6c3nmby8r3jqrqwiommZ:~# cd test/
# 切换到git用户
root@iZj6c3nmby8r3jqrqwiommZ:~/test# su git
$ su
Password:
root@iZj6c3nmby8r3jqrqwiommZ:~/test#
#当前仍然处于/root/test目录
su -
# 切换到git用户
root@iZj6c3nmby8r3jqrqwiommZ:~/test# su git
$ su -
Password:
root@iZj6c3nmby8r3jqrqwiommZ:~#
#当前处于/root目录
sudo: 用户普通用户使用root权限来执行命令(不切换用户)。即临时提升用户权限为root权限
sudo cat main.c
#输入当前用户的密码
包管理器
软件包管理系统,用于管理系统中安装的工具。
Mac: brew
Ubuntu: apt
Centos: yum
VI/VIM
所有的 类 Unix 系统都会自带 vi 文书编辑器,目前我们使用比较多的是 vim 编辑器。
Vim是从 vi 发展出来的一个文本编辑器。 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
分为三种模式,分别是命令模式,输入模式和底线命令模式
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
常用的命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
输入模式
在输入模式中,可以使用以下按键:
字符按键以及Shift组合
,输入字符ENTER
,回车键,换行BACK SPACE
,退格键,删除光标前一个字符DEL
,删除键,删除光标后一个字符方向键
,在文本中移动光标HOME/END
,移动光标到行首/行尾Page Up/Page Down
,上/下翻页Insert
,切换光标为输入/替换模式,光标将变成竖线/下划线ESC
,退出输入模式,切换到命令模式
底线命令模式
在命令模式
下按下:(英文冒号)就进入了底线命令模式。
q
退出程序w
保存文件wq
保存并退出q! wq!
!:表示强制
iptables防火墙
Ubuntu:
1、Ubuntu 默认有装iptables,可通过which iptables确认
2、Ubuntu默认没有iptables配置文件,可通过iptables-save > /etc/iptables.up.rules生成
3、读取配置并生效可以通过 iptables-restore < /etc/iptables.up.rules
4、vim /etc/network/interfaces 增加
pre-up iptables-restore < /etc/iptables.up.rules #启动时应用防火墙
post-down iptables-save > /etc/iptables.up.rules #关闭时保存防火墙设置,以便下次启动时使用
iptables-save > /etc/iptables.up.rules 内容类似:
# Generated by iptables-save v1.6.0 on Mon Aug 27 12:34:05 2018
*filter
# DROP 表示关闭、ACCPET表示允许
:INPUT DROP [11:722]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [29:2664]
#开发 22和80801 端口
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
COMMIT
# Completed on Mon Aug 27 12:34:05 2018
Centos:
常用操作:
#查看当前防火墙配置并显示规则行号
iptables -L --line-numbers
#开启 8080 端口
iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
#关闭 8888 端口
iptables -A INPUT -p tcp -m tcp --dport 8888 -j DROP
#删除 1 号 规则(行号)
iptables -D INPUT 1
Linux 文件权限、VIM、防火墙的更多相关文章
- linux文件权限总结(创建root不可以删除文件、只可追加的日志文件等)
文件类型 对于文件和目录的访问权力是根据读访问,写访问,和执行访问来定义的. 我们来看一下 ls 命令的输出结果 [root@iZ28dr6w0qvZ test]# ls -l 总用量 72 -rw- ...
- Linux 文件权限于目录配置
用户与用户组 我們以王三毛為例,王三毛這個『檔案』的擁有者為王三毛,他屬於王大毛這個群組, 而張小豬相對於王三毛,則只是一個『其他人(others)』而已. 不過,這裡有個特殊的人物要來介紹的,那就是 ...
- Linux文件权限与属性详解 之 SUID、SGID & SBIT
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
- Linux文件权限与属性详解 之 一般权限
目录 一般属性 1. iNode: 3152621 2. 文件类型 3.文件访问权限 4. 链接数目: 5. 文件所有者 6. 文件所属组 7. 文件大小 8. 修改时间 9. 文件名称 Linux文 ...
- Linux文件权限与属性详解 之 ACL
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
- Linux文件权限与属性详解 之 su & sudo
Linux文件权限与属性详解 之 一般权限 Linux文件权限与属性详解 之 ACL Linux文件权限与属性详解 之 SUID.SGID & SBIT Linux文件权限与属性详解 之 ch ...
- linux文件权限多一个+啥意思
linux文件权限显示多了一个+,说明添加了acl权限 使用getfacl filename 能查看到 ower group other 还多了一个php 用户有rwx权限. acl详解 转: ht ...
- linux文件权限全面解析
目录 linux文件权限全面解析 一:linux文件的权限有哪些? 1,权限分为3个部分 2,权限位 3,每一个权限拥有一个数字编号 4,在添加权限的时候,可以将权限加起来 5,linux添加权限命令 ...
- 修改linux文件权限
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...
- Linux:文件权限
Linux:文件权限 1.文件权限 ☆文件所有者 ☆用户组 ☆其他人 ☆ROOT 说明: Linux系统中默认所有系统上的账号与一般身份用户,还有那个root的相关信息记录在/etc/passwd文件 ...
随机推荐
- 错误解决:ElasticSearch SearchResponse的Hits[]总是比totalHits少一条记录
在做ElasticSearch查询操作的时候,发现Hits[].length总是比totalHits.value少1.代码如下: SearchRequest request = new SearchR ...
- 23.1 SEH之终止处理--《Windows核心编程》结构化异常处理
(structured exception handing)SEH 包含终止处理和异常处理.本章讨论终止处理. 一.终止处理 终止处理程序确保不管一个代码块(被保护代码)如何退出的,另一个代码块(终止 ...
- Linux中如何查找特定的数据是否在目录或文件中
一个很简单的方式就是使用grep命令,grep命令是一个强大有效可靠并且很流行的命令行工具,用于查找对应的数据包含文件或者目录中在Linux环境中. 为了便于学习,我们准备了以下文件,具体想要查找以实 ...
- [Ngbatis源码学习]Ngbatis源码阅读之连接池的创建
Ngbatis源码阅读之连接池的创建 1. NebulaPool的创建 NgbatisBeanFactoryPostProcessor 这个类实现了 BeanFactoryPostProcessor ...
- BUG管理系统(Mantis)迁移实战
Mantis迁移实战 名词解释 Mantis: 开源的BUG管理平台Mantis,也做MantisBT. 同档次产品有EasyBUG,QC,BugFree,Bugzila. Xa ...
- Java I/O 教程(三) FileOutputStream类
Java FileOutputStream 用于将字节数据写入文件. 如果你需要将原始数据写入文件,就使用FileOutputStream类. Java.io.FileOutputStream cla ...
- win32- copyfile的使用
#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <tchar.h&g ...
- win32 - WaitForMultipleObjects的使用
创建5个线程,并无限期地打印某些内容 #include <Windows.h> #include <stdio.h> DWORD IDs[5]; DWORD WINAPI Th ...
- 【Azure Function App】如何修改Azure函数应用的默认页面呢?
问题描述 当在Azure中创建了一个函数应用(Function App)后,访问默认URL会得到一个默认的页面.是否有办法修改这个默认页面呢? 问题解答 在之前的博文中,介绍了修改App Servic ...
- 【Azure 应用服务】在App Service for Windows中实现反向代理
问题描述 如何在App Service for Windows(.NET Stack)中,如何实现反向代理呢? 正向代理:客户端想要访问一个服务器,但是它可能无法直接访问这台服务器,这时候这可找一台可 ...