Linux常见配置服务器的命令整理,基于Centos 7 。
基本操作命令
查看ens33 ip
ifconfig ens33
查看系统版本
cat /etc/redhat-release
查找文件install.log、httpd.conf、hosts、smb.conf、network
find -name te.txt
使用“cp 源文件 目标文件”命令进行复制
cp te.txt /home/jacin/testme/me/
显示路径
pwd
使用“rm 文件路径”命令删除文件
rm /home/jacin/testme/me/te.txt
以 student用户运行ls -R命令, 并将 STDOUT重定向到/tmp/output.txt
。。。
利用head/tail命令显示/etc/passwd文件中的5行
head -5 /etc/passwd
使用“more”命令查看文件内容 ,使用less命令查看文件内容
more te.txt
给文件/home/john.txt做一个备份/tmp/john.bak
cp te.txt te.txt.bak
为文件/home/john.txt创建一个符号连接/home/xu
使用“ln -s”命令为文件创建符号连接,完成后查看
.....
在txt文件中查找字符串thi
grep thi te.txt
显示 /etc/hosts 中包含数字的所有行
grep [0-9] /etc/hosts
列出 /usr/share/doc 中以数字4结尾的文件
ls /usr/share/doc|grep '4$'
用户、组、口令
添加用户tempXXX及network_XXX(其中XXX为本人学号最后三位)
useradd temp128
分别查看passwd、shadow、group文件中并对上述用户有关的信息做出解释,并找出用户默认的主目录.
tail -2 /etc/passwd
为上述用户设置密码(密码自定)
passwd temp128
分别使用上述用户名登录
su temp128
把用户XXX添加到root组
gpasswd -a temp128 root
临时禁止tempXX用户
在/etc/passwd对应的用户上加 * (vim)
完全删除用户tempXX
userdel -r temp128
添加两个组
groupadd test2
查看有关配置文件的内容
groups temp128
删除networkXX组
groupdel temp128
创建一个文件名为本人姓名(拼音).exe文件,修改属性使其能执行
touch jacin.exe
chmod a+x jacin.exe
创建用户test2,并给用户设置初始命令为11111,然后从passwd和shadow文件找出所添加的用户,查看并分析用户账号信息,请指出test2用户的UID和GID、密码、主目录、Shell;把用户tes2添加到sudoers文件使其能够完成下面的工作:
设置向系统添加新用户时,使口令最小长度为8个字符(vim /etc/login.defs)
PASS_MIN_LEN 8
设置用户的口令必须每30天修改一 次,否则口令将失效,并在失效前7天给用户发出警告
chage -m 30 -W 7 temp128
chage -l temp128 (查看)
修改用户的UID为600 (无法修改的时候退出,因为嵌套了)
usermod -u 6778 temp128
进程管理
2.查看进程的统计信息(静态、动态)
ps aux|less //查看所有用户进程的所有信息(静态)
top //动态查看进程信息
查看进程名中包含“con”字符串的进程信息
ps -aux|grep con
lsof -i:端口号
检测某项服务是否启动
ps -ef |grep atd3.后台运行gedit软件后,并把它调入前台,然后杀死它。
gedit& //后台运行gedit软件
fg //将它调入前台
kill -9 //杀死进程4.利用crontab实现每周一、三、五的17:30时,打包备份/etc/httpd目录中的文件到你的主目录。
vi /etc/crontab
(30 17 * * 1,3,5 tar -Jxvf /etc/httpd /root/httpd.tar.xz
1分钟以后在tty1中,提示 “hello world!”。
at now+1 minutes
echo“hello world!”>/dev/tty15.配置yum源
https://zhuanlan.zhihu.com/p/464339170
网络配置
1.下载并安装telnet软件包(分别采用-i、-ivh)
先挂载光盘,找光盘的路径
ls -l /dev |grep cdrom (/dev/cdrom)
mount /dev/cdrom /mnt (挂载光盘,/dev/sr0 写保护,将以只读方式挂载 )
此时/mnt可以访问其内容了
进入包文件 cd Packages/
ls -l |grep telnet (查找内容)
ll telnet*
cp telnet-0.17-65.el7_8.x86_64.rpm /testtmp/
cp telnet-server-0.17-65.el7_8.x86_64.rpm /testtmp/
卸载光盘
umount /mnt
查看是否安装
rpm -qa|grep telnet
rpm -q telnet
yum info telnet
卸载包:
rpm -e telnet1.使用curl或wget命令,不用离开终端就可以下载文件。如你用curl,键入curl -O后面跟一个文件路径。wget则不需要任何选项。下载的文件在当前目录。
curl -O website.com/file wget website.com/file
2.使用hostname命令临时设置主机名
hostname
localhost.localdomain
3.永久设置主机名
hostnamectl set-hostname localhost
cat /etc/hostname
4.网卡配置文件
cd /etc/sysconfig/network-scripts/
cat ifcfg-ens33
ifconfig ens33
5.配置网卡信息 设置IP地址ifconfig ens33 192.168.116.133 netmask 255.255.255.0修改网卡mac:ifdown ens33 // ifdown命令可以禁用网卡ifconfig ens33 hw ether 00:0c:29:03:F3:76ifup ens33 //ifup命令可以重新启用网卡绑定IP和MAC地址:echo "192.168.116.130 00:0c:29:03:F3:76">>/etc/ethersarp -f arp -a // 查看常用命令:netstat,traceroute,nslookup (可以输入网址和server ip)
6.配置telnet服务器 23安装telnet,telnet-server,xinetdsystemctl enable telnet.socketsystemctl start telnet.socketsystemctl start xinetd.servicetelnet 172.20.10.9
7.安装并配置SSH服务器 22rpm -qa |grep openssh
vim /etc/ssh/sshd_config
systemctl status sshd.service
ssh -l jacin 172.20.10.9 (同一主机)8.安装VNC服务器和客户端 VNC默认使用TCP端口5900至5906,而Java的VNC客户端使用5800至5806。
yum -y install tigervnc-servercd /lib/systemd/system
systemctl daemon-reload //重启生效
vim vncserver@.service //修改<USER>为<root>
vncpasswdsystemctl start vncserver@.server
yum install tigervnc (图形界面)vncserver -kill :2 (杀vnc)无法登陆看:https://blog.csdn.net/iteye_3997/article/details/82489276
共享服务器Samba与NFS的配置
1.安装并配置SAMBA服务器
关防火墙:firewall-cmd --permanent --add-service = sambafirewall-cmd --reload
或者:
systemctl stop firewalld.service
setenforce 0
yum -y install samba samba-client
systemctl start smb nmb
vim /etc/samba/smb.conf
补:
[common]comment = Common sharepath = /home/sambabrowseable = yesguest ok = nowritable = yes
testparm可以进行纠错
mkdir /home/samba
chmod 777 /home/samba/
touch /home/samba/samba.txt
开启 selinux (注意重启实例)
修改文件:vi /etc/selinux/config
将 SELINUX 的值修改为1
setsebool -P samba_export_all_rw=1
getsebool -a |grep samba_export (安全性)
semanage fcontext -at samba_share_t "/home/samba(/.*)?"restorecon /home/samba/设置访问用户:
useradd -s /sbin/nologin smbuser
smbpasswd -a smbuser
开启服务
systemctl restart smb.service nmb.service注意记得关防火墙
在windows中输入 \\ip
linux: smbuser -U smbuser //ip/common
smbclient -L ip -U smbuser2.安装并配置NFS服务器。将/home/nfs目录通过NFS共享给192.168.140.0/24网络,并且将客户端主机权限设为“可读可写权限”,“同步写入”,“允许从客户机上过来的非授权访问”,“关闭subtree_check功能”,在 Linux客户机上查看NFS服务器并挂载访问。
yum -y install rpcbind
yum -y install nfs-utils
mkdir /home/nfs
chmod -R 777 /home/nfs
vim /etc/exports
/home/nfs 172.20.10.0/24(rw,sync,no_subtree_check,no_root_squash)
systemctl start rpcbind
systemctl start nfs
systemctl stop firewalld.service
客户机:
systemctl restart rpcbind
showmount -e 172.20.10.9
mount -t nfs 172.20.10.9:/home/nfs /mnt
df -h
mount -t nfs 172.20.10.9:/home/nfs /mnt/test/ (注意不要在当前目录进行挂载)
touch 1.txt umount /mnt/test (进前一个)
此时服务器端已经有1.txt了
FTP配置
1.安装并配置FTP服务器,记得关防火墙
yum -y install vsftpdyum -y install ftpvim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
ftp_banner=Welcome to FTP!
systemctl start vsftpd.service
客户机安装
ftp ip (anonymous )2.用实名账户登录FTP服务器,实现在主目录内建立子目录,并进行文件的上传与下载。
setsebool -P ftpd_full_access on (使得所有用户可以上传下载)
客户机可以用linux用户账号密码登录
可以用命令
put a.txt
get a.txt
服务器添加用户:
useradd -d /var/ftp/mouseftp -s /sbin/nologin -g ftp mouseftp
passwd mouseftp
vim /etc/pam.d/vsftpd
将auth pam_shells.so 注释
以上就可以,注意上传路径到 /var/ftp/mouseftp
浏览器输入http://mouseftp:mouseftp@本机IP地址
Web 应用服务器配置(Apache Nginx Mysql)
1.安装并配置基于httpd的Apache服务器
yum -y install httpd
systemctl start httpd.service
cd /var/www/html
echo "Hello">>index.html2.安装并配置基于IP地址的虚拟主机
vim /etc/hosts
192.168.31.180 exam.testme.com
3.为每个虚拟主机新建配置文件并定义一个<VirtualHost>容器,如图9-11所示,并在检查虚拟主机配置后重启服务
配置web nginx msyql
/etc/ntp.conf
vncserver :2
/lib/systemd/system/vnc
Apache实验:
/etc/httpd/conf/httpd.conf
vim DocumentRoot /var/www/html
systemctl restart httpd.service
Listen 基于域名配置:
在/etc/httpd/conf中创建网页配置目录vhost,并在其中创建两个测试网页的配置文件vim vhost/a.conf:
<VirtualHost 172.20.10.9>
ServerName www.a.com
DocumentRoot /var/www/html/a
<Directory "/var/www/html/a">Options Indexes FollowSymLinksAllowOverride NoneRequire all granted
<Directory>
</VirtualHost>vim /etc/httpd/conf/httpd.conf
加 IncludeOptional conf.d/*.conf
Include /etc/httpd/conf/vhost/*.confvim /etc/hosts
172.20.10.9 www.a.com www.b.commysql服务
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpmyum -y install mysql-server
systemctl start mysqld.service
cat /var/log/mysqld.log |grep password
mysql -u root -p
use mysql;
UPDATE user SET password=password("fzxm.com") WHERE user='root';
flush privilegesphp:
yum -y install php
cd /etc/httpd/conf.modules.d
php.confyum -y install php-mysql php-mbstring
unzip -d /var/www/html/ phpMyAdmin-4.0.10-all-languages.zip
ln -s /usr/share/phpmyadmin/systemctl start httpd.servicenginx:
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
http://nginx.org/en/download.html
4.10.0 zip
tar -xzvf nginx-1.12.2.tar.gz
./configure
make && make install
whereis nginx
/usr/local/nginx/sbin
./nginx
cd /usr/local/nginx/conf/mkdir vhost
vim exam.conf :
server{listen 127.0.0.1;server_name exam.excesoft.com;access_log /data/logs/exam.excesoft.com.log;error_log /data/logs/exam.excesoft.com.error.log;location / {root /var/www/html/exam;index index.html index.htm;}
}cd /usr/local/nginx/conf
include vhost/*.conf;
mkdir -p /data/logs
[root@www conf]# touch /data/logs/exam.excesoft.com.log
[root@www conf]# touch /data/logs/exam.excesoft.com.error.log
/usr/local/nginx/sbin
./nginx -tvim /etc/hosts
172.20.10.9 exam.excesoft.comvim /etc/hosts
[root@www sbin]# mkdir -p /var/www/html/exam
[root@www sbin]# vim /var/www/html/exam/index.html
nginx
这里再附一份nginx详细配置文件(一般用于项目部署):
# user root;
worker_processes 1;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {#root /home/ruoyi/projects/ruoyi-ui;# root /usr/local/:nginx/html/dist;root /jacin/project/newsea/dist;try_files $uri $uri/ /index.html;index index.html index.htm;}location /prod-api/{proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}server {listen 8082;server_name localhost;location / {#root /home/ruoyi/projects/ruoyi-ui;# root /usr/local/:nginx/html/dist;root /jacin/project/newsea/gandist;try_files $uri $uri/ /index.html;index index.html index.htm;}location /prod-api/{proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:8080/;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}
DNS配置
参考:https://blog.csdn.net/weixin_44801526/article/details/104155898
yum -y install bind
systemctl start named.service
systemctl status named.service
/etc/named.rfc1912.zones
vim named.rfc1912.zones
在zone配置文件的最后添加test.com的正向解析文件与反向解析文件,zone配置文件路径:/etc/named.rfc1912.zones,在DNS配置文件的最后一行加入这句:include "/etc/named.rfc1912.zones";
include "/etc/named.rfc1912.zones";
vim /etc/named.rfc1912.zones;
zone "test.com" IN {type master;file "test.com.zone";allow-update {none;};
};zone "10.20.172.in-addr.arpa" IN {type master;file "10.20.172.zone";allow-update { none;};
};
vim /etc/named.conf:include "/etc/named.root.key";配置正向解析文件,路径为:/var/namedcp named.empty a
mv a 10.20.172.zone
vim 10.20.172.zone
$TTL 1D
@ IN SOA test.com root.test.com (42 ; serial3H ; refresh15M ; retry1W ; expire1D ) ; minimumNS dns.test.com.
dns IN A 172.20.10.9
www IN A 172.20.10.50vim 10.20.172.zone
$TTL 1D
@ IN SOA test.com root.test.com. (50 ; serial3H ; refresh15M ; retry1W ; expire1D ) ; minimumNS dns.test.com.
9 IN PTR dns.test.com
50 PTR www.test.com
named -checkconf // 检查
当网关的 IP 和 DNS 服务器的 IP 相同时,说明路由器的功能不仅仅包括了网关、路由,还包括了转发 DNS 请求的功能,即:中继 DNS。这时的路由器仅仅负责转发而已,将请求转发给该片区域的真正的 DNS 服务器,再将结果返回给主机,从而完成 DNS 查询的功能呢。
chown named:named test/20.
需要把/etc/named.conf listen-on port 53 中的 127.0.0.1 改成 any ,即允许任意主机监听53端口;allow-query 改成 any ,对任意主机允许查询systemctl restart named.service systemctl stop firewalld客户机进行测试:nslookup -sil
server 172.20.10.9
>www.test.com
>172.20.10.50
配置防火墙:
iptables -F //清空规则
iptables -L
iptables -X //删除自定义链
iptables -P INPUT DROP //为INPUT链设置规则
Iptables -Z //所有链计数器清零
iptables -A INPUT -i lo -j ACCEPT //添加一个规则
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 3128 -j ACCEPT
service iptables save
https://www.cnblogs.com/han-1034683568/p/8854613.html
参考:https://blog.csdn.net/xou6363/article/details/80686850
systemctl stop firewalld
systemctl mask firewalld
service iptables save
iptables-save > /tmp/my.ipt
ls /tmp/
iptables-restore < /tmp/my.ipt
my.ipt内容:
# Generated by iptables-save v1.4.21 on Mon Jun 19 09:03:15 2023
*filter
:INPUT DROP [90:8943]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [37:2443]
-A INPUT -i lo -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 3128 -j ACCEPT
COMMIT
# Completed on Mon Jun 19 09:03:15 2023
配置DHCP 实验:
yum -y install dhcp
vim /etc/dhcp/dhcp.conf
ddns-update-style interim;
subnet 172.20.10.0 netmask 255.255.255.0 {range 172.20.10.20 172.20.10.100;option routers 172.20.10.1;default-lease-time 21600;max-lease-time 43200;}
group {hardware ethernet 02:42:8a:89:6b:25;fixed-address 172.20.10.70;
}systemctl start dhcpd.service