Linux 运维与权限管理
权限管理
- 当命令行提示指令不存在时,可能是非管理员账号没有权限;
- 打印java进程的
jps
指令,只会打印当前用户启动的java进程(root账号会打印所有的),但是ps
指令可以看到其他用户的; su
与su -
指令切换账号的区别是是否切换了当前环境变量。二者都需要知道目标用户的密码才能切换;不指定用户名时默认切换到root用户;sudo
需要知道当前用户密码;
运维指令
telnet 指令
可用于检查特定端口是否开启或直接进行远程连接;
Window默认没有启用这个功能,启用方法:控制面板->程序和功能->启用或关闭Windows功能 -> 勾选 Telnet Client -> 确定
telent [ip] [port]
能够连接的端口一般会立即连接;不能连接的端口可能未监听或被防火墙拦住了;
whereis 指令和 which 指令
whereis 可以查找大多数文件(一般是系统目录下的),查找速度快。
whereis mysql
which mysql
find 指令
find 命令用来在指定目录下查找文件;会搜索整个文件目录,目录较大时速度比较慢;
find . -name "*.c" # 当前目录下的指定后缀文件
find /home -iname "*.txt" # home 目录下的txt文件,忽略大小写
find . -name "*.txt" -o -name "*.pdf" # 当前目录的txt或pdf文件
find /usr/ -path "*local*"匹配文件路径或者文件
find . -maxdepth 3 -type f # 当前目录递归最多3层的所有文件[f-文件,l-连接,d-目录, c-字符设备,b-块设备,s-套接字]
find . -iregex ".*\(\.txt\|\.pdf\)$" # 正则忽略大小写
find /var/log -type f -mtime +7 -ok rm {} \; # 查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:
find . -type f -perm 644 -exec ls -l {} \;# 查找并列出特定权限的文件
find .type f -size 0 -exec ls -l {} \; # 查找并列出大小为0的文件
iptables 指令
iptables命令 是Linux上常用的防火墙软件
非管理员账号可能看不到该指令:(-bash: iptables: command not found
),因为普通用户的环境变量PATH
路径中没有/sbin/
路径,只有root用户才有执行权限;
https://wangchujiang.com/linux-command/c/iptables.html
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
常用指令:
iptables -F # 清空所有防火墙规则
iptables -F INPUT # 清空指定链 INPUT 上面的所有规则
列出已设置的规则
iptables -L [-t 表名] [链名]
iptables -L -t nat # 列出 nat 上的所有规则
iptables -L -nv # 查看,这个列表看起来更详细
# 用于配置默认规则
iptables -P INPUT DROP # 配置默认的不让进
iptables -P FORWARD DROP # 默认的不允许转发
iptables -P OUTPUT ACCEPT # 默认的可以出去
# 开启相应的服务端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 开启80端口
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT # 允许被ping
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 已经建立的连接得让它进来
iptables -A INPUT -p tcp -m tcp -s 192.168.0.8 -j DROP # 屏蔽恶意主机(比如,192.168.0.8
iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令
# 保存规则到配置文件中
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak # 任何改动之前先备份,请保持这一优秀的习惯
iptables-save > /etc/sysconfig/iptables
cat /etc/sysconfig/iptables
系统服务状态
CentOS 7+,Debian9+ 使用systemctl
指令查看和管理系统服务
systemctl status [服务名] # 查看服务状态,比如 mysql 或 mysqld
systemctl [start|stop|restart] [服务名] # 启动/停止/重启某服务
systemctl enable mysqld # 将mysql设为开机自启动
systemctl daemon-reload
lsb_release -a # 查看系统版本
ip add # 查看系统IP地址
df -hl # 查看磁盘空间
free -h # 仓看内存空间
top 查看系统运行情况
CentOS 6等低版本的服务器一般使用chkconfig
指令检查系统配置状态,使用service
指令管理服务
chkconfig --list # 检查服务状态
service [服务名] [start|stop|restart] # 启动/停止/重启某服务器
chkconfig mysqld on # 将mysql 设为开机自启动
在Ubuntu的一些高版本和Window Linux子系统中,chkconfig
指令已经不再使用,使用sysv-rc-conf
代替(需要安装)
apt-get update
apt-get install sysv-rc-conf
sysv-rc-conf --list
alias sysconf='sysv-rc-conf'
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 using1174@foxmail.com
文章标题: Linux 运维与权限管理
文章字数: 1,211
本文作者: Jun
发布时间: 2021-07-15, 16:50:21
最后更新: 2022-07-11, 17:16:37
原始链接: http://yoursite.com/2021/07/15/Linux-运维相关/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。