Centos7 命令使用总结

743 阅读8分钟

systemctl 如何启动、关闭、启用/禁用服务

--- vsftpd.service  可以是其他服务哦 

启动服务:systemctl start vsftpd.service

关闭服务:systemctl stop vsftpd.service

重启服务:systemctl restart vsftpd.service

显示服务的状态:systemctl status vsftpd.service

在开机时启用服务:systemctl enable vsftpd.service

在开机时禁用服务:systemctl disable vsftpd.service

查看服务是否开机启动:systemctl is-enabled vsftpd.service

查看已启动的服务列表:systemctl list-unit-files|grep enabled

查看启动失败的服务列表:systemctl --failed

centOS7.2防火墙常用配置


systemctl stop firewalld.service #停止firewall
systemctl start firewalld.service #开启防火墙
systemctl disable firewalld.service #禁止firewall开机启动
systemctl enable firewalld.service #开机开启防火墙

#CentOS 7 中firewall-cmd命令
firewall-cmd --state #查看默认防火墙状态(关闭后显示not running,开启后显示running)
firewall-cmd --get-active-zones #获取活动的区域 这条命令将用以下格式输出每个区域所含接口:
    <zone1>: <interface1> <interface2> ..<zone2>: <interface3> ..
firewall-cmd --get-service #获取所有支持的服务

启用某个服务
firewall-cmd --zone=public --add-service=https #临时
firewall-cmd --permanent --zone=public --add-service=https #永久
firewall-cmd --permanent --zone=public --remove-service=https #移除
firewall-cmd --permanent --zone=public --list-services #查看开启的服务
firewall-cmd --list-services

查询服务的启动状态
firewall-cmd --query-service ftp #yes
firewall-cmd --query-service ssh #yes
firewall-cmd --query-service samba #no
firewall-cmd --query-service http #no

开启某个端口
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效) #开启80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent #删除80端口
firewall-cmd --list-ports #查看已开放的端口(默认不开放任何端口)
firewall-cmd --list-all #展示所有

设置某个ip 访问某个服务
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"
#ip 192.168.0.4/24 访问 http
firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"
#删除上面设置的规则
检查设定是否生效
iptables -L -n | grep 21
#ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:21 ctstate NEW



#当我们修改了某些配置之后(尤其是配置文件的修改),firewall并不会立即生效。可以通过两种方式来激活最新配置:
systemctl restart firewalld  # 重启firewalld服务
firewall-cmd --reload # “重载配置文件” - 建议使用 - 重载配置文件之后不会断掉正在连接的tcp会话,而重启服务则会断开tcp会话

Centos7 下firewall的学习及使用:

- FireWall 域的概念,较详细,看此文章
- 向域添加服务、
- 为域打开端口 上面80端口例子
- 编写手动服务:服务仅仅是具有相关名称和描述的端口集合。使用服务比端口更容易管理。**重要了解**
    在/usr/lib/firewalld/services,随便拷贝一个xml文件到一个新名字,比如myservice.xml,把里面的

    <?xml version="1.0" encoding="utf-8"?>
    <service>
    <short>Transmission-client</short>
    <description>Transmission is a lightweight GTK+ BitTorrent client.</description>
    <port protocol="tcp" port="51413"/>
    </service>

short改为想要名字(这个名字只是为了人来阅读,没有实际影响。)
重要的是修改 protocol和port。
修改完保存。我的经验是这是要重启firewalld服务,否则可能提示找不到刚才新建的service。
然后把新建的service添加到firewalld
firewall-cmd --permanent --add-service=myservice

- 创建自己的域
- 实现伪装IP 和 端口转发 **重要了解**
    端口转发可以将指定地址访问指定的端口时,将流量转发至指定地址的指定端口。
    转发的目的如果不指定 ip 的话就默认为本机,如果指定了 ip 却没指定端口,则默认使用来源端口。
    
    如果配置好端口转发之后不能用,可以检查下面两个问题:
    比如我将 80 端口转发至 8080 端口,首先检查本地的 80 端口和目标的 8080 端口是否开放监听了
    其次检查是否允许伪装 IP,没允许的话要开启伪装 IP
    firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080   # 将80端口的流量转发至8080
    firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1 # 将80端口的流量转发至192.168.0.1
    firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 
    # 将80端口的流量转发至192.168.0.1的8080端口
    
    
    当我们想把某个端口隐藏起来的时候,就可以在防火墙上阻止那个端口访问,
    然后再开一个不规则的端口,之后配置防火墙的端口转发,将流量转发过去。
    
    端口转发还可以做流量分发,一个防火墙拖着好多台运行着不同服务的机器,然后用防火墙将不同端口的流量转发至不同机器。

CentOS7添加/删除用户和用户组

了解及使用

CentOS7添加/删除用户和用户组

Linux命令: useradd/adduser 新增用户

    chage命令:更改密码的过期信息,主要是对应修改/etc/shadow里面的数据
    -l:列出密码的详细参数
    -d :修改创建密码的距离19700101那天的秒数,即将最近一次密码设置时间设为“最近日期” 
        chage -d "487208" centos
    -E:修改过期时间
    -W:指定警告时间
    -m:密码最短可修改天数
    -M:密码最长必须修改天数
userdel命令:删除用户
userdel [选项] username
-r:删除用户时一并删除其家目录
usermod命令;修改用户属性
    usermod [option] username
    -u,--uid UID:指定新的UID
    -g:--gid GROUP:修改用户所属的基本组:
    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]修改附加组,原来的附加组会被覆盖
    -a:--append 与-G一同使用,用于为用户追加新的附加组
    -c, --comment COMMENT :指明注释信息
    -d,--home HOME_DIR:修改用户的家目录,用户原有的文件不会被移置新位置 默认修改是不创建新的文件位置的
    -m,--move-home,只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
    -l,--login NEW_LOGIN:修改用户名
    -s,--shell SHELL:修改用户默认的shell
    -L;--lock 锁定用户密码
    -U,--unlock;解锁用户的密码

Linux文件权限

Linux权限详解 命令之 chmod:修改权限

Linux文件目录说明

rpm 命令

rpm -ivh jdk-8u144-linux-x64.rpm
软件安装

rpm -ql +完整的包名
可以查看安装的具体内容
例如 rpm -ql jdk1.8.0_144

rpm -e jdk1.8.0_144
卸载

rpm -Uvh jdk1.8.0_144
软件更新

其他

查看 CentOS 系统的版本

cat  /etc/redhat-release

查看内核版本

uname  -a

关机

linux主要用于服务器领域,而在服务器上执行一项服务是永无止境的,除非遇到特殊情况,否则不会关机。和Windows不同,在linux系统下,很多进程是在后台执行的。在屏幕背后,可能有很多人同时在工作。如果直接按下电源的按钮,其他人的数据可能就此中断。更严重的是,若不正常关机,严重的话,可能会造成文件系统损坏,从而导致数据丢失。

如果要关机,必须保证当前系统中没有其他用户在登录系统。
我们可以使用who命令查看是否还有其他人登录

# who 
root     pts/0        2019-10-08 08:52 (192.168.1.190)

或者使用命令ps -aux查看是否还有后台进程运行。

shutdown,halt,poweroff都为关机的命令,我们可以使用命令man shutdown查看其帮助文档。例如,我们运行如下命令关机。

shutdown -h 10          #计算机将于10分钟后关闭,且会显示在登录用户的当前屏幕中

shutdown -h now         #计算机会立刻关机

shutdown -h 22:22       #计算机会在这个时刻关机

shutdown -r now         #计算机会立刻重启

shutdown -r +10         #计算机会将于10分钟后重启

reboot                  #重启

halt                    #关机
 

centos7查看端口命令

# netstat -lnp | grep 80

# netstat -lntp #查看监听(Listen)的端口
# netstat -antp #查看所有建立的TCP连接

###待整理

其他关于查看服务器网络信息命令:
1、查看Linux系统主机名: Linux学习,http:// linux.it.net.cn
    # hostname
    localhost.localdomain
2、查看服务器IP地址:
    # ifconfig|grep 'inet addr:'|grep -v '127.0.0.1'|cut -d: -f2|awk '{ print $1}'
    192.168.17.238
    192.168.1.9
3、查看linux网关:
    # route |grep default
    default 192.168.1.1 0.0.0.0 UG 0 0 0 em1
4、查看linux打开服务:
    # chkconfig --list|grep 启用 #查看开启的服务
    sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
    httpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:关闭 6:关闭
5、查看服务器DNS配置:
    # cat /etc/resolv.conf
    nameserver 192.168.0.66
    nameserver 202.106.0.20
6、其他网络信息:
    # iptables -L #查看防火墙规则
    # route -n #查看路由表
    # netstat -s #查看网络统计信息