NFS服务及FTP服务
2019独角兽企业重金招聘Python工程师标准>>>
NFS服务配置
NFS介绍
NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步
NFS原理图
服务端需要启动一个NFS服务,服务端要想给客户端提供服务,需要借助RPC协议,RPC协议是由rpcbind服务所实现的;在centos 5或者之前的版本叫portmap服务,centos6及之后的版本叫rpcbind服务,这两个都是一个服务,最终实现了RPC协议的通信,NFS服务默认不会监听任何端口(启动服务,但不会监听端口),最终监听端口,实现RPC通信的过程是由rpcbind服务产生的RPC协议实现的,RPC协议 默认监听 的 端口是111 端口;整个流程为:服务端的NFS服务监听一个端口通过RPC协议监听的端口,再去告诉客户端RPC协议,然后NFS客户端通过本机的RPC端口回传数据信息到服务端NFS监听的端口,最终实现通信
NFS服务需要借助RPC协议实现通信
NFS服务器安装配置
首先准备两台机器 机器A:192.168.1.180 机器B:192.168.1.182都需要安装 nfs-utils 和rpcbind包,不过使用yum工具安装nfs-utils时 会一并安装rpcbind包yum install -y nfs-utils rpcbind下载完成后可以使用 ps命令看到服务会自动启动,如果没有启动,重启下机器即可[root[@abc](https://my.oschina.net/aaaaaa) ~]# ps aux | grep rpcbindrpc 541 0.0 0.1 65000 1048 ? Ss 20:38 0:00 /sbin/rpcbind -wroot 1219 0.0 0.0 112720 984 pts/0 R+ 20:39 0:00 grep --color=auto rpcbind
直接启动nfs
[root[@abc](https://my.oschina.net/aaaaaa) ~]# systemctl start nfs[root[@abc](https://my.oschina.net/aaaaaa) ~]# ps aux |grep nfsroot 1550 0.0 0.0 0 0 ? S< 21:13 0:00 [nfsd4_callbacks]root 1556 0.0 0.0 0 0 ? S 21:13 0:00 [nfsd]root 1557 0.0 0.0 0 0 ? S 21:13 0:00 [nfsd]root 1558 0.0 0.0 0 0 ? S 21:13 0:00 [nfsd]root 1559 0.0 0.0 0 0 ? S 21:13 0:00 [nfsd]root 1560 0.0 0.0 0 0 ? S 21:13 0:00 [nfsd]root 1561 0.0 0.0 0 0 ? S 21:13 0:00 [nfsd]root 1562 0.0 0.0 0 0 ? S 21:13 0:00 [nfsd]root 1563 0.0 0.0 0 0 ? S 21:13 0:00 [nfsd]root 1575 0.0 0.0 112720 984 pts/0 S+ 21:14 0:00 grep --color=auto nfs[root[@abc](https://my.oschina.net/aaaaaa) ~]#
修改配置文件
[root[@abc](https://my.oschina.net/aaaaaa) ~]# vim /etc/exports[root@abc ~]# cat /etc/exports/home/nfstestdir 192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)[root@abc ~]# rw 只读 sync同步模式 async 非同步模式 no_root_squash 加上选项后,root用户就会对共享的目录拥有至高的权限控制,安全性降低root_squash 表示root用户对共享目录权限不高,限制了rootall_squash 表示不管用户是谁,其身份会被限定为一个指定的普通用户的身份anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid
新建目录及设置权限
[root@abc ~]# mkdir /home/nfstestdir[root@abc ~]# chmod 777 /home/nfstestdir/[root@abc ~]#
客户端挂载
机器A:192.168.1.180 机器B:192.168.1.183
需要先关闭防火墙,不然机器之间无法正常通信
[root@abc ~]# systemctl stop firewalld
[root@abc ~]# getenforce
Enforcing
[root@abc ~]# setenforce 0
[root@abc ~]# getenforce
Permissive
[root@abc ~]#
两台机器都需要如此操作
在B机器上查看A机器的共享目录
[root@abc ~]# showmount -e 192.168.1.180
Export list for 192.168.1.180:
/home/nfstestdir 192.168.1.0/24
[root@abc ~]#
在B机器上挂载
[root@localhost ~]# mount -t nfs 192.168.1.180:/home/nfstestdir /mnt/
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 16G 1.1G 15G 7% /
devtmpfs 482M 0 482M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 103M 95M 53% /boot
tmpfs 99M 0 99M 0% /run/user/0
192.168.1.180:/home/nfstestdir 18G 7.1G 11G 40% /mnt
[root@localhost ~]#
在B机器上进入共享目录后新增文件
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
[root@localhost mnt]# touch lan.txt
[root@localhost mnt]# ll
总用量 0
-rw-r--r--. 1 1000 1000 0 7月 15 21:38 lan.txt
[root@localhost mnt]#
[root@localhost mnt]# ll
总用量 0
-rw-r--r--. 1 1000 1000 0 7月 15 21:38 lan.txt
[root@localhost mnt]#
在A机器上可以查看到新增的文件
[root@abc ~]# ls /home/nfstestdir/
lan.txt
[root@abc ~]#
[root@abc nfstestdir]# id mysql
uid=1000(mysql) gid=1000(mysql) 组=1000(mysql)
[root@abc nfstestdir]#
配置 /etc/export 文件时,配置了anonuid=1000,anongid=1000
所以A机器就显示mysql用户
由于B机器没有uid和gid为1000的用户,所以直接显示ID
192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) ,其中ip与(rw之间不能有空格, 否则客户端挂载的目录会变成只读..
exportfs命令
exportfs命令和nfs-utils这个包一起安装的
exportfs命令常用选项:-a 全部挂载或者全部卸载-r 重新挂载-u 卸载某一个目录-v 显示共享目录nfs服务不能随便重启,要重启,就需要先去服务器上,把挂载的目录卸载下来在卸载目录的时候,若是在当前目录下去卸载会提示umount.nfs4: /mnt: device is busy方法一:退出该目录后,再去卸载方法二:在目录下卸载的时候,加 -l 选项,表示 lazy 在卸载目录后,在重启nfs服务
当改变/etc/exports配置文件后,使用exportfs命令挂载不需要重启nfs服务
修改机器A的配置文件
[root@abc nfstestdir]# vim /etc/exports
[root@abc nfstestdir]# cat !$
cat /etc/exports
/home/nfstestdir 192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
/tmp/ 192.168.1.0/24(rw,sync,no_root_squash)
[root@abc nfstestdir]#
使用exportfs 命令使修改后的配置文件生效
[root@abc nfstestdir]# exportfs -arv
exporting 192.168.1.0/24:/tmp
exporting 192.168.1.0/24:/home/nfstestdir
[root@abc nfstestdir]#
在机器B上使用showmount -e 查看是否生效
[root@localhost mnt]# showmount -e 192.168.1.180
Export list for 192.168.1.180:
/tmp 192.168.1.0/24
/home/nfstestdir 192.168.1.0/24
[root@localhost mnt]#
在机器B上取消挂载
[root@localhost /]# umount /mnt/
[root@localhost /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 16G 1.1G 15G 7% /
devtmpfs 482M 0 482M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 103M 95M 53% /boot
tmpfs 99M 0 99M 0% /run/user/0
[root@localhost /]#
在机器B上重新挂载
[root@localhost /]# mount -t nfs 192.168.1.180:/tmp/ /mnt
[root@localhost /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 16G 1.1G 15G 7% /
devtmpfs 482M 0 482M 0% /dev
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 493M 6.8M 486M 2% /run
tmpfs 493M 0 493M 0% /sys/fs/cgroup
/dev/sda1 197M 103M 95M 53% /boot
tmpfs 99M 0 99M 0% /run/user/0
192.168.1.180:/tmp 18G 7.1G 11G 40% /mnt
[root@localhost /]# cd /mnt/
[root@localhost mnt]# touch 1.txt
[root@localhost mnt]# ll
总用量 1
-rw-r--r--. 1 root root 0 7月 15 21:57 1.txt
[root@localhost mnt]#
可见新建的文件属组与属主都是root
在去机器A上查看新建的文件
[root@abc nfstestdir]# cd /tmp
[root@abc tmp]# ll
总用量 1
-rw-r--r--. 1 root root 0 7月 15 21:57 1.txt
[root@abc tmp]#
A机器服务端查看tmp目录,会看到nfs.txt文件的属主和属组也是root
因为在A机器服务端的配置文件中,使用了no_root_squash ,所以root用户不受约束,在B机器上到挂载点下,到共享目录下,就可以像在本地磁盘使用root用户一样,是不受限制的
NFS客户端问题
NFS 4版本会有该问题
客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody
客户端挂载时加上 -o nfsvers=3
客户端和服务端都需要
vim /etc/idmapd.conf //
把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务
FTP服务
FTP介绍
FTP是File Transfer Protocol(文件传输协议,简称“文传协议”)的英文简写形式,用于在因特网上控制文件的双向传输,它同时也是一个应用层序,用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,以访问服务器上的大量层序和信息。
FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机
搭建FTP服务
使用vsftpd搭建ftp服务
首先安装vsftpd
[root@abc tmp]# yum install -y vsftpd
创建一个普通用户
[root@abc tmp]# useradd -s /sbin/nologin/ lan
编辑虚拟用户的密码文件
[root@abc tmp]# vim /etc/vsftpd/vsftpd_login[root@abc tmp]# cat !$cat /etc/vsftpd/vsftpd_loginlogin_1lanternlogin_2rantern[root@abc tmp]# 奇数行为用户名,偶数行为上一行的用户密码
更改文件权限
[root@abc tmp]# chmod 600 /etc/vsftpd/vsftpd_login
vsftpd使用的密码文件不是明文的,需要生成对应的库文件
[root@abc tmp]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
建立虚拟账号相关的目录
[root@abc tmp]# mkdir /etc/vsftpd/vsftpd_user_conf[root@abc tmp]# cd !$cd /etc/vsftpd/vsftpd_user_conf[root@abc vsftpd_user_conf]#
建立虚拟账号相关的配置文件
[root@abc vsftpd_user_conf]# cat login_1
local_root=/home/lan/login_1 为login_1 账号的家目录
anonymous_enable=NO 用来限制是否允许匿名账号登录 为no 即不允许
write_enable=YES 表示可写
local_umask=022 指定umask值
anon_upload_enable=NO 表示是否允许匿名账号上传文件
anon_mkdir_write_enable=NO 表示是否允许匿名账号可写
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
[root@abc vsftpd_user_conf]#
用户的配置文件是单独存在的,每个用户都有一个自己的配置文件,文件名和用户名一致
建立目录
[root@abc vsftpd_user_conf]# mkdir /home/lan/login_1
新建文件
[root@abc vsftpd_user_conf]# touch /home/lan/login_1/lantern.txt
修改权限
[root@abc vsftpd_user_conf]# chown -R lan:lan /home/lan
修改配置文件
[root@abc vsftpd_user_conf]# vim /etc/pam.d/vsftpd
[root@abc vsftpd_user_conf]# cat !$
cat /etc/pam.d/vsftpd
#%PAM-1.0
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include password-auth
account include password-auth
session required pam_loginuid.so
session include password-auth
[root@abc vsftpd_user_conf]#
在最前面加上 2行内容 如下
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginCentOS7为64位系统,所以库文件路径为/lib64/security/pam_userdb.so
32位系统库文件路径为/lib/security/pam_userdb.so
修改全局配置文件/etc/vsftpd/vsftpd.conf
修改如下3个内容的值为NO
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO在最后面增加入下内容
chroot_local_user=YES
guest_enable=YES
guest_username=lan
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_choroot=YES
修改完配置文件后重启服务
[root@abc vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf
[root@abc vsftpd_user_conf]# systemctl start vsftpd
[root@abc vsftpd_user_conf]# ps aux | grep vsftpd
root 4123 0.0 0.0 53256 572 ? Ss 22:54 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root 4138 0.0 0.0 112720 984 pts/0 R+ 22:54 0:00 grep --color=auto vsftpd
[root@abc vsftpd_user_conf]# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 541/rpcbind
tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 1754/rpc.mountd
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1109/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 964/sshd
tcp 0 0 0.0.0.0:49305 0.0.0.0:* LISTEN 1533/rpc.statd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1079/master
tcp 0 0 0.0.0.0:38047 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp6 0 0 :::111 :::* LISTEN 541/rpcbind
tcp6 0 0 :::20048 :::* LISTEN 1754/rpc.mountd
tcp6 0 0 :::8080 :::* LISTEN 1109/nginx: master
tcp6 0 0 :::80 :::* LISTEN 969/httpd
tcp6 0 0 :::21 :::* LISTEN 4123/vsftpd
tcp6 0 0 :::22 :::* LISTEN 964/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1079/master
tcp6 0 0 :::35967 :::* LISTEN 1533/rpc.statd
tcp6 0 0 :::2049 :::* LISTEN -
tcp6 0 0 :::39458 :::* LISTEN -
[root@abc vsftpd_user_conf]#
可以看到服务都已开启,端口21既是vsftpd
安装lftp客户端软件
[root@abc vsftpd_user_conf]# yum install lftp
进入lftp客户端
[root@abc vsftpd_user_conf]# lftp login_1@127.0.0.1
口令:
lftp login_1@127.0.0.1:~> ls
-rw-r--r-- 1 1002 1002 0 Jul 15 14:30 lantern.txt
lftp login_1@127.0.0.1:/>
login_1是用户 后面跟IP 口令即是 输入密码
输入ls 即可看到新建的文件lftp login_1@127.0.0.1:/> get lantern.txt
lftp login_1@127.0.0.1:/> quit
[root@abc vsftpd_user_conf]# ll
总用量 4
-rw-r--r--. 1 root root 0 7月 15 22:30 lantern.txt
-rw-r--r--. 1 root root 199 7月 15 22:24 login_1
[root@abc vsftpd_user_conf]#
get 即代表下载 下载之后退出ftp 即可看见文件已被下载回来
xshell登录ftp
新建一个会话,协议选择 SFTP,IP还是本机,端口还是22,因为还是ssh协议,登录后默认在root下。
Xshell 使用xftp传输文件
没有安装xftp软件的,可以去网上下载一个。由于我早已经安装过了,所以直接可以使用
在xshell页面 直接按快捷键 ctrl+alt+f 可以启动 xftp。 如下图
打开后会进入到root目录下。
如果需要下载linux系统的文件时,右键点击需要下载的文件选择 传输即可。反之 亦是如此。
xftp走的是ssh协议,不属于ftp,这种只要是linux开启了sshd服务就可以用。
vsftp获取其他ftp软件实现的是ftp服务,windows上可以搭建,linux上也可以搭建
pure-ftpd搭建ftp服务
pure-ftpd比vftpd更加轻量,更加简单
安装pure-ftpd包
[root@abc vsftpd_user_conf]# yum install -y pure-ftpd
修改配置文件
[root@abc vsftpd_user_conf]# vim /etc/pure-ftpd/pure-ftpd.confPureDB /etc/pure-ftpd/pureftpd.pdb
进入配置文件后 搜索到上面一条内容 将其前面得 # 号键 删除即可
由于端口冲突,先关闭vsftpd 在开启pure-ftpd服务
[root@abc vsftpd_user_conf]# systemctl stop vsftpd
[root@abc vsftpd_user_conf]# systemctl start pure-ftpd
[root@abc vsftpd_user_conf]# ps aux | grep pure-ftpd
root 4421 0.0 0.1 202520 1204 ? Ss 23:17 0:00 pure-ftpd (SERVER)
root 4430 0.0 0.0 112720 984 pts/0 S+ 23:17 0:00 grep --color=auto pure-ftpd
[root@abc vsftpd_user_conf]#
[root@abc vsftpd_user_conf]# netstat -lntp | grep pure-ftpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 4421/pure-ftpd (SER
tcp6 0 0 :::21 :::* LISTEN 4421/pure-ftpd (SER
[root@abc vsftpd_user_conf]#
由上可见,服务已启动
创建测试目录
[root@abc vsftpd_user_conf]# mkdir /data/ftp
新建用户
[root@abc vsftpd_user_conf]# useradd -u 1010 pure-ftp
指定目录的属主及属组
[root@abc vsftpd_user_conf]# chown -R pure-ftp:pure-ftp /data/ftp/
创建用户
[root@abc vsftpd_user_conf]# pure-pw useradd ftp_user -u pure-ftp -d /data/ftp
Password:
Enter it again:
[root@abc vsftpd_user_conf]#
pure-pw useradd [指定用户] -u [指定系统用户] -d [指定虚拟用户的家目录]
pure-pw mkdb,是用来把密码生成系统,也就是pure-ftpd服务所识别的一种文件
[root@abc vsftpd_user_conf]# pure-pw mkdb 不执行这一步是无法登录的
测试pure-ftpd
在/data/ftp/ 目录下新建文件
[root@abc vsftpd_user_conf]# cd /data/ftp/
[root@abc ftp]# touch rn.txt
[root@abc ftp]# lftp ftp_user@127.0.0.1
口令:
lftp ftp_user@127.0.0.1:~> ls
drwxr-xr-x 2 1010 pure-ftp 20 Jul 15 23:25 .
drwxr-xr-x 2 1010 pure-ftp 20 Jul 15 23:25 ..
-rw-r--r-- 1 0 0 0 Jul 15 23:25 rn.txt
lftp ftp_user@127.0.0.1:/>
使用pure-ftp连接后可见 uid和gid为root
修改rn.txt文件的属主及属组
[root@abc ftp]# chown pure-ftp:pure-ftp rn.txt
[root@abc ftp]# lftp ftp_user@127.0.0.1
口令:
lftp ftp_user@127.0.0.1:~> ls
drwxr-xr-x 2 1010 pure-ftp 20 Jul 15 23:25 .
drwxr-xr-x 2 1010 pure-ftp 20 Jul 15 23:25 ..
-rw-r--r-- 1 1010 pure-ftp 0 Jul 15 23:25 rn.txt
lftp ftp_user@127.0.0.1:/>
再次进入后可见 属主为uid,属组映射为系统中组的名字pure-ftpd
扩展
vsftp使用mysql存放虚拟用户并验证 http://www.aminglinux.com/bbs/thread-342-1-1.html
ftp的主动和被动模式 http://www.aminglinux.com/bbs/thread-961-1-1.html
转载于:https://my.oschina.net/u/3851489/blog/1854575
NFS服务及FTP服务相关推荐
- Samba服务和FTP服务
Samba服务和FTP服务 1.samba服务 1.1 安装samba 1.2 编辑配置文件 smb.conf 1.3 添加访问用户 1.4 关闭防火墙 1.5 启动samba 服务 1.6 wind ...
- ftp主要完成与远程计算机的连接,2015计算机三级《网络技术》复习重点:远程登录服务和FTP服务...
2015计算机三级<网络技术>复习重点:远程登录服务和FTP服务 一.远程登录服务(TCP连接)(TCP的23端口服务) 1.远程登录协议 用户使用Telnet命令,使自己的计算机成为远程 ...
- 【Linux】循序渐进学运维-服务篇-FTP服务配置文件详解
大家好,我是互联网老辛,本文是Linux运维-循序渐进学运维-服务篇的第14篇文章 文章目录 前言 ftp配置文件详解 1. 常见默认配置参数 2. 常见参数的含义 配置文件使用举例 1. 创建本地用 ...
- SAMBA服务和FTP服务讲解(week3_day1)--技术流ken
samba服务 Smb主要作为网络通信协议; Smb是基于cs架构: 完成Linux与windows之间的共享:linux与linux之间共享用NFS 第一步:安装samba [root@ken ~] ...
- SANBA服务和FTP服务
1.samba服务 Smb主要作为网络通信协议:Smb是基于cs(client/server)架构(架构还有bs,broswer/server):完成linux与windows之间的共享:linux与 ...
- FileZilla使用ssh服务和FTP服务连接Ubuntu
目录 1.FileZilla安装 (1)ssh服务 (2)FTP服务 ①Ubuntu中下载vsftpd并配置文件 1.FileZilla安装 filezilla下载 下载好之后,直接安装,过程中除了更 ...
- linux服务篇-FTP服务
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(A ...
- linux关闭启动ftp服务器,开启和关闭ftp服务及ftp服务的初步解释
1.概念解释: ftp服务的提供者称为FTP服务器,它们是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务. FTP的全称是File Transfer Protocol(文件传输协议).专门 ...
- java提供ftp服务,搭建ftp服务
使用Java代码搭建FTP服务器,步骤如下: 1.添加依赖 带版本管理的依赖添加看文章最下边 <dependency><groupId>org.apache.ftpserver ...
- FTP服务及部署YUM仓库与NFS服务!
FTP服务及部署YUM仓库与NFS服务 一.FTP服务 1.概述 2.ftp服务的2种模式 Standard模式 Passive模式 3.搭建ftp服务 (1)搭建环境 (2)安装 (3)配置文件 4 ...
最新文章
- 02-dispatch_barrier
- 让WPF和SL控件同时支持绑定和赋值
- mysql类型_MySQL的数据类型
- Git命令集十五——拉取命令
- P6805-[CEOI2020]春季大扫除【贪心,树链剖分,线段树】
- java解码p7b证书文件,通过OpenSSL解码X509证书文件
- 如何把Access转成SQL Server的方法介绍
- php 验证ajax提交表单提交表单提交,使用AJAX表单提交将表单数据传递给PHP而不刷新页面...
- 结构体中操作c语言,C语言中结构体的操作
- plsql developer13的下载、instantclient的下载
- 学计算机去一线城市,这5个“新一线”城市在线抢人,选择去这上大学非常有前景!...
- Python面向对象练习-乌龟吃鱼
- 软件资产管理重在license
- fiddler应用--保存下载的数据--以奇书网下载小说为例
- 201771010101 白玛次仁 《2018面向对象程序设计(Java)》第七周学习总结
- Lombok Plugin
- Matlab实现小波变换
- 推荐系统_各种方法的损失计算过程
- 如何彻底关闭windows自适应亮度功能
- Linux NFS文件系统挂载
热门文章
- python全局变量定义_python全局变量和局部变量的概念
- 结构体转map[string]interface{}的若干方法
- 正则表达式 - php正则匹配内容?
- power系列服务器问题PA模板,与 Power BI 报表服务器集成
- 古代埃及希腊,数学用的什么进制
- 谈谈阿里log4j2事件:严重性是个主观判断
- net.java.html.boot.BrowserBuilder
- dpkg-buildpackage: error: fakeroot not found, either install the fakeroot
- 我的压缩软件选择:7zip软件+Zip格式
- VS错误的解决办法:error LNK2019: 无法解析的外部符号