前言
FTP 是File Transfer Protocol(文件传输协议),
用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。
用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,
并将执行的结果返回到客户机。例如,用户发出一条命令,要求服务器向用户
传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机
器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。

FTP一般应用于上传和下载
下载文件就是从远程主机拷贝文件至自己的计算机上;
上传文件就是将文件从自己的计算机中拷贝至远程主机上

vsftpd # 服务端软件
lftp # 客户端软件,提供登陆环境

1.部署ftp服务的服务端
[root@localhost Desktop]# yum install -y vsftpd
[root@localhost Desktop]# yum install -y lftp
[root@localhost Desktop]# systemctl start vsftpd
[root@localhost Desktop]# systemctl enable vsftpd
[root@localhost Desktop]# netstat -antlp | grep vsftpd # 查看到端口说明服务开启成功

[root@localhost Desktop]# firewall-cmd --permanent --add-service=ftp
success
[root@localhost Desktop]# firewall-cmd --reload
success
[root@localhost Desktop]# firewall-cmd --list-all

[root@localhost Desktop]# vim /etc/sysconfig/selinux
7 SELINUX=disabled
[root@localhost Desktop]# getenforce # 查看到更改不生效,必须重启
Enforcing # 开启内核加强型火墙
[root@localhost Desktop]# reboot
[root@localhost Desktop]# getenforce # 重启之后再次查看
Disabled # 禁止服务

2.ftp服务的参数配置
ftp服务的基本信息:

vsftpd # 服务端软件安装包
/var/ftp # 默认发布目录
21/tcp # 协议接口
/etc/vsftpd/vsftpd.conf # 服务配置文件

[root@localhost Desktop]# rpm -qc vsftpd # 查看ftp服务的配置文件
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@localhost Desktop]# cd /var/ftp/ # 这是ftp服务的默认发布目录
[root@localhost ftp]# ls
pub

在客户端测试
[root@foundation78 Desktop]# yum install -y lftp # 如果客户端没有这个软件,就下载一个

(1)匿名用户访问(默认允许)

[root@foundation78 Desktop]# lftp 172.25.254.138 # 这是服务端IP
lftp 172.25.254.138:~> ls # 查看到pub目录说明成功登陆
drwxr-xr-x 2 0 0 6 Aug 03 2015 pub

注:匿名用户登陆进去查看到的是默认发布目录里的内容,而且ftp服务对匿名用户的所有权限都禁止,除了可登陆权限和可读权限

(2)本地用户的访问

# 服务端(先建立本机用户)

[root@localhost Desktop]# useradd westos
[root@localhost Desktop]# passwd westos
[root@localhost Desktop]# useradd linux
[root@localhost Desktop]# passwd linux

# 客户端测试
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u westos # 指定本机用户登陆,默认的增删改查的功能都开启
Password:
lftp westos@172.25.254.138:~> ls
lftp westos@172.25.254.138:~> mkdir file
mkdir ok, `file' created
lftp westos@172.25.254.138:~> ls
drwxr-xr-x 2 1001 1001 6 Oct 28 06:39 file
lftp westos@172.25.254.138:~> rm -fr file/
rm ok, `file/' removed
lftp westos@172.25.254.138:~> ls

注:ftp服务对本地用户所有权限都开启,而且本地用户登陆进去的都是自己的本地家目录
3.对所有用户的权限进行管理
报错id的解析:
500 # 文件系统权限过大
530 # 用户认证失败
550 # 服务本身功能未开放
553 # 本地文件系统权限过小

(1)匿名用户

anonymous_enable=YES|NO # 匿名用户是否可以登陆
anon_upload_enable=YES|NO # 匿名用户是否可以上传
anon_world_readable_only=YES|NO # 匿名用户是否可以下载
anon_other_write_enable=YES|NO # 匿名用户是否可以删除
anon_umask=022 # 匿名用户上传的文件的权限
anon_max_rate=102400 # 限制匿名用户下载的速度100k/s
anon_root=/directory # 匿名用户家目录的修改
max_clients=1 # 匿名用户最大连接数
chown_uploads=YES # 指定上传文件的所属用户
chown_username=westos

对于anon_world_readable_only的具体使用可以看此处详细解释
上传文件
# 在客户端用匿名用户登录
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138
lftp 172.25.254.138:/> cd pub/
lftp 172.25.254.138:/pub> put /etc/passwd # 默认对匿名用户不可上传
put: Access failed: 550 Permission denied. (passwd)

# 在服务端
[root@localhost Desktop]# cd /var/ftp
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
29 anon_upload_enable=YES # 打开上传权限
[root@localhost ftp]# systemctl restart vsftpd.service

# 在客户端
lftp 172.25.254.138:/pub> put /etc/passwd # 再次上传,发现还是不能上传,报553错误
put: Access failed: 553 Could not create file. (passwd)

# 在服务端
[root@localhost ftp]# ls -l /var/ftp/ # 发现默认发布目录的只有对root用户可写
total 0
drwxr-xr-x. 2 root root 6 Aug 3 2015 pub
[root@localhost ftp]# chgrp ftp /var/ftp/pub/ # 把默认发布目录的组改为ftp组,匿名用户依赖的是ftp组
[root@localhost ftp]# chmod g+w /var/ftp/pub/ # 给ftp服务加可写权限
[root@localhost ftp]# ll -d /var/ftp/pub/
drwxrwxr-x. 2 root ftp 6 Aug 3 2015 /var/ftp/pub/

# 在客户端
lftp 172.25.254.138:/pub> put /etc/passwd
2281 bytes transferred
lftp 172.25.254.138:/pub> ls
-rw------- 1 14 50 2281 Oct 29 11:48 passwd

可以发现上传的文件默认权限位600
更改上传文件权限
# 在服务端
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf # 更改上传文件的默认权限
30 anon_umask=022
[root@localhost ftp]# systemctl restart vsftpd.service

# 在客户端
lftp 172.25.254.138:/pub> put /etc/group
970 bytes transferred
lftp 172.25.254.138:/pub> ls
-rw-r--r-- 1 14 50 970 Oct 29 11:56 group
-rw------- 1 14 50 2281 Oct 29 11:48 passwd

开启匿名用户的下载权限

# 在服务端

[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
31 anon_world_readable_only=YES
[root@localhost ftp]# systemctl restart vsftpd.service

# 在客户端

lftp 172.25.254.138:/pub> get group # 下载成功
970 bytes transferred

开启匿名用户的删除权限

# 在服务端
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
32 anon_other_write_enable=YES
[root@localhost ftp]# systemctl restart vsftpd.service

# 在客户端
lftp 172.25.254.138:/pub> ls
-rw-r--r-- 1 14 50 970 Oct 29 11:56 group
-rw------- 1 14 50 2281 Oct 29 11:48 passwd
lftp 172.25.254.138:/pub> rm -fr passwd
rm ok, `passwd' removed
lftp 172.25.254.138:/pub> ls
-rw-r--r-- 1 14 50 970 Oct 29 11:56 group

限制上传文件的最大速度

# 在服务端
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
34 anon_max_rate=102400
[root@localhost ftp]# systemctl restart vsftpd.service

# 在客户端
lftp 172.25.254.138:/pub> put /tmp/file
464519168 bytes transferred in 9 seconds (48.38M/s) # 没限速之前

家目录的修改

# 在服务端
[root@localhost ftp]# mkdir /westos
[root@localhost ftp]# touch /westos/westosfile{1..5} # 建立文件是为了测试
[root@localhost ftp]# ll /westos/
total 0-
rw-r--r-- 1 root root 0 Oct 30 13:04 westosfile1
-rw-r--r-- 1 root root 0 Oct 30 13:04 westosfile2
-rw-r--r-- 1 root root 0 Oct 30 13:04 westosfile3
-rw-r--r-- 1 root root 0 Oct 30 13:04 westosfile4
-rw-r--r-- 1 root root 0 Oct 30 13:04 westosfile5
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
33 anon_root=/westos
[root@localhost ftp]# systemctl restart vsftpd.service

# 在客户端
[root@foundation78 Desktop]# lftp 172.25.254.138
lftp 172.25.254.138:~> ls
-rw-r--r-- 1 0 0 0 Jul 22 12:21 westosfile1
-rw-r--r-- 1 0 0 0 Jul 22 12:21 westosfile2
-rw-r--r-- 1 0 0 0 Jul 22 12:21 westosfile3
-rw-r--r-- 1 0 0 0 Jul 22 12:21 westosfile4
-rw-r--r-- 1 0 0 0 Jul 22 12:32 westosfile5

(2)本地用户

write_enable=YES|NO # 是否对登陆用户可写
local_enable=YES|NO # 本地用户是否可以登陆
chroot_local_user=YES # 限制本地用户浏览(所有用户被锁定到自己的家目录之中)
local_umask=077 # 本地用户上传文件权限
local_root=/directory # 本地用户家目录修改

限制本地用户登陆
# 在服务端
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
16 local_enable=NO
[root@localhost ftp]# systemctl restart vsftpd

# 在客户端
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u westos
Password:
lftp westos@172.25.254.138:~> ls # 没有权限查看,说明没有登陆成功
ls: Login failed: 530 This FTP server is anonymous only.

关闭本地用户的可写权限
# 在服务端
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
19 write_enable=NO
[root@localhost ftp]#systemctl restart vsftpd.service

# 在客户端
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u westos
Password:
lftp westos@172.25.254.138:~> ls
lftp westos@172.25.254.138:~> mkdir file
mkdir: Access failed: 550 Permission denied. (file)

更改本地用户上传文件权限

# 在服务端
[root@localhost ftp]#vim /etc/vsftpd/vsftpd.conf # 先要打开可写权限
23 local_umask=077 # 把默认权限改为600
[root@localhost ftp]# systemctl restart vsftpd.service

# 在客户端
lftp westos@172.25.254.138:~> put /etc/passwd
2281 bytes transferred
lftp westos@172.25.254.138:~> ls # 可以看到默认权限为644
-rw-r--r-- 1 1001 1001 2281 Oct 30 11:52 passwd
lftp westos@172.25.254.138:~> put /etc/group
970 bytes transferred
lftp westos@172.25.254.138:~> ls # 修改完之后,再次查看权限已经改变
-rw------- 1 1001 1001 970 Oct 30 11:54 group
-rw-r--r-- 1 1001 1001 2281 Oct 30 11:52 passwd

本地用户家目录修改

# 在服务端
[root@localhost ftp]# vim /etc/vsftpd/vsftpd.conf
17 local_root=/westos
[root@localhost ftp]# systemctl restart vsftpd
[root@localhost ftp]# ls /westos/
westosfile1 westosfile2 westosfile3 westosfile4 westosfile5

# 在客户端
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u westos
Password:
lftp westos@172.25.254.138:~> ls
-rw-r--r-- 1 0 0 0 Oct 30 05:04 westosfile1
-rw-r--r-- 1 0 0 0 Oct 30 05:04 westosfile2
-rw-r--r-- 1 0 0 0 Oct 30 05:04 westosfile3
-rw-r--r-- 1 0 0 0 Oct 30 05:04 westosfile4
-rw-r--r-- 1 0 0 0 Oct 30 05:04 westosfile5

4.黑白名单
ftpusers # 永久黑名单,优先级最高,一旦加入,任何操作都不能洗白
user_list # 临时黑名单,可修改配置文件,变为白名单

当用户同时出现在user_list白名单和ftpuser黑名单中时,此时用户被认为是黑名单中的,因为ftpuser黑名单的级别最高

[root@localhost ftp]#cd /etc/vsftpd/
[root@localhost vsftpd]# ll
total 28
-rw------- 1 root root 125 Aug 3 2015 ftpusers
-rw------- 1 root root 361 Aug 3 2015 user_list
-rw------- 1 root root 5182 Oct 28 05:15 vsftpd.conf
-rwxr--r-- 1 root root 338 Aug 3 2015 vsftpd_conf_migrate.sh
-rw------- 1 root root 5046 Oct 28 03:22 vsftpd.conf.rpmsave

[root@localhost vsftpd]# vim user_list # 把westos用户加入临时黑名单
21 westos

# 在客户端测试

[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u westos
Password:
lftp westos@172.25.254.138:~> ls
ls: Login failed: 530 Permission denied.

# 在服务端

[root@localhost vsftpd]# /etc/vsftpd/vsftpd.conf # 设置user_list为白名单
133 userlist_deny=NO #默认所有用户加入黑名单,白名单用户可登陆
[root@localhost vsftpd]# systemctl restart vsftpd

注:
userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。

当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP

当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;

当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);

另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous

# 在客户端测试

[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u westos # 刚才在user_list名单里的westos就成了白名单用户,即可以登录
Password:
lftp westos@172.25.254.138:~> ls
-rw------- 1 1001 1001 970 Oct 30 11:54 group
-rw-r--r-- 1 1001 1001 2281 Oct 30 11:52 passwd

5.虚拟用户的管理
(1)虚拟用户登录配置
[root@localhost Desktop]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf
anon_upload_enable=NO # 设定不允许匿名用户上传
anon_world_readable_only=NO # 设定不允许匿名用户的下载
anon_other_write_enable=NO # 设定不允许匿名用户删除
[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# vim loginuser # 创建虚拟帐号身份
user1
111
user2
222
user3
333

[root@localhost vsftpd]# db_load -T -t hash -f loginuser loginuser.db # 给虚拟帐号进行哈希加密,-T表示转换,-t表示加密,-f表示重命名
[root@localhost vsftpd]# file loginuser.db # 查看文件类型

[root@localhost vsftpd]# cd /etc/pam.d/
[root@localhost pam.d]# vim ftpauth # 设定认证插件
account required pam_userdb.so db=/etc/vsftpd/loginuser
auth required pam_userdb.so db=/etc/vsftpd/loginuser

[root@localhost pam.d]# vim /etc/vsftpd/vsftpd.conf
130 pam_service_name=ftpauth # 指定认定插件
131 guest_enable=YES # 虚拟用户认证开启
[root@localhost pam.d]# systemctl restart vsftpd

# 在客户端用虚拟用户身份登陆
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u user1
Password:
lftp user1@172.25.254.138:~> ls # 虚拟用户登陆的是ftp的默认发布目录
drwxrwxr-x 2 0 50 42 Oct 30 05:30 pub
lftp user1@172.25.254.138:/> cd pub/
lftp user1@172.25.254.138:/pub> ls
-rw------- 1 14 50 2592672 Oct 29 12:13 file
-rw-r--r-- 1 14 50 970 Oct 29 11:56 group
-rw------- 1 1001 50 2281 Oct 30 05:30 passwd
lftp user1@172.25.254.138:/pub> exit
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u user2
Password: lftp user2@172.25.254.138:~> ls
drwxrwxr-x 2 0 50 42 Oct 30 05:30 pub
lftp user2@172.25.254.138:/> cd /pub/
lftp user2@172.25.254.138:/pub> ls
-rw------- 1 14 50 2592672 Oct 29 12:13 file
-rw-r--r-- 1 14 50 970 Oct 29 11:56 group
-rw------- 1 1001 50 2281 Oct 30 05:30 passwd
lftp user2@172.25.254.138:/pub> exit
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u user3
Password:
lftp user3@172.25.254.138:~> ls
drwxrwxr-x 2 0 50 42 Oct 30 05:30 pub
lftp user3@172.25.254.138:/> cd pub/
lftp user3@172.25.254.138:/pub> ls
-rw------- 1 14 50 2592672 Oct 29 12:13 file
-rw-r--r-- 1 14 50 970 Oct 29 11:56 group
-rw------- 1 1001 50 2281 Oct 30 05:30 passwd

(2)虚拟用户的默认发布目录的修改
[root@localhost pam.d]# id westos # 查看服务端存在的用户
uid=1001(westos) gid=1001(westos) groups=1001(westos)
[root@localhost pam.d]# ll /home/westos/ # 可以看到westos用户的默认目录里的文件
total 8
-rw------- 1 westos westos 970 Oct 30 19:54 group
-rw-r--r-- 1 westos westos 2281 Oct 30 19:52 passwd
[root@localhost pam.d]# vim /etc/vsftpd/vsftpd.conf
132 guest_username=westos # westos必须存在

# 在客户端尝试登录
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u user1
Password: lftp user1@172.25.254.138:~> ls # 登陆失败
ls: Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

# 在服务端排错
[root@localhost pam.d]# ll /home

[root@localhost pam.d]# chmod 555 /home/westos/ # 改权限

# 再次回到客户端查看
lftp user1@172.25.254.138:~> ls # 查看到westos用户家目录里的文件
-rw------- 1 1001 1001 970 Oct 30 11:54 group
-rw-r--r-- 1 1001 1001 2281 Oct 30 11:52 passwd

(3)虚拟帐号的独立配置(使得虚拟用户登陆看到的是自己家目录的东西)
[root@localhost vsftpd]# pwd
/etc/vsftpd
[root@localhost vsftpd]# mkdir -p /ftphome/user{1..3}
[root@localhost vsftpd]# mkdir /ftphome/user1/user1data
[root@localhost vsftpd]# mkdir /ftphome/user2/user2data
[root@localhost vsftpd]# mkdir /ftphome/user3/user3data
[root@localhost vsftpd]# vim vsftpd.conf
135 local_root=/ftphome/$USER # 指定虚拟用户的家目录
136 user_sub_token=$USER # 把shell中$USER的使用方法告诉ftp
[root@localhost vsftpd]# systemctl restart vsftpd

# 在客户端测试

[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u user1
Password: lftp user1@172.25.254.138:~> ls
drwxr-xr-x 2 0 0 6 Nov 03 13:22 user1date
lftp user1@172.25.254.138:/> exit
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u user2
Password: lftp user2@172.25.254.138:~> ls
drwxr-xr-x 2 0 0 6 Nov 03 13:22 user2datel
ftp user2@172.25.254.138:/> exit
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u user3
Password: lftp user3@172.25.254.138:~> ls
drwxr-xr-x 2 0 0 6 Nov 03 13:22 user3date

那么问题来了,虚拟用户的权限全部由/etc/vsftpd/vsftp.conf文件控制,也就是说所有虚拟用户的权限都是一样的,而且同步改变,但是我们需要区分这些用户,让不同的用户管理不同的任务

(4)虚拟用户的独立权限配置

[root@localhost vsftpd]# mkdir /etc/vsftpd/user_conf
[root@localhost vsftpd]# vim vsftpd.conf
137 user_config_dir=/etc/vsftpd/user_conf
[root@localhost vsftpd]# systemctl restart vsftpd
[root@localhost vsftpd]# vim user_conf/user1
1 anon_upload_enable=YES
[root@localhost vsftpd]# chmod 777 /ftphome/user*/*

# 在客户端测试
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u user1
Password:
lftp user1@172.25.254.138:~> cd user1date
/lftp user1@172.25.254.138:/user1date> ls
lftp user1@172.25.254.138:/user1date> put /etc/passwd
2281 bytes transferred
lftp user1@172.25.254.138:/user1date> ls-
rw------- 1 14 50 2281 Nov 03 14:34 passwd
lftp user1@172.25.254.138:/user1date> exit
[kiosk@foundation78 Desktop]$ lftp 172.25.254.138 -u user2
Password: lftp user2@172.25.254.138:~> cd user2date/
lftp user2@172.25.254.138:/user2date> put /etc/passwd
put: Access failed: 550 Permission denied. (passwd)

注:做完实验后,记得还原实验环境

(1)删除在/etc/vsftpd/vsftpd.conf文件做的所有更改
(2)或者
[root@localhost vsftpd]# rm -fr vsftpd.conf # 删除配置文件
[root@localhost vsftpd]# yum reinstall -y vsftpd # 重新下载vsftpd软件来重新生成vsftpd.conf文件
[root@localhost vsftpd]# systemctl restart vsftpd

ftp 服务的部署的更多相关文章

  1. FTP服务端部署

    FTP服务端搭建(本地用户登入:使用本地用户和密码登入)1.文件配置:vsftpd.conf: 主配置文件ftpusers: 指定哪些用户不能访问FTP服务器user_list: 指定的用户是否可以访 ...

  2. Linux下搭建ftp服务

    Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa | grep vsftpd 来查看是否安装相应的包 ...

  3. 快速搭建FTP服务

    Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa | grep vsftpd 来查看是否安装相应的包 ...

  4. FTP&samba 服务简单部署

    第1章 FTP服务部署 在Linux下,我们应用最广泛的FTP服务程序是 vsftpd ( TCP端口:而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与 ...

  5. Azure上部署FTP服务

    FTP是个比较复杂的协议,其协议分为控制层和数据层,工作模式分为主动和被动两种模式. 在默认的Active模式下其工作原理如下: 可以看到,客户端发起FTP的请求道服务器端,FTP的端口是21.用户在 ...

  6. Centos 7 部署FTP服务简单版

    第三方教程推荐与参考: http://blog.csdn.net/somehow1002/article/details/70232791 先安装成功了,有信心了.再进一步扩展配置. 1.安装vsft ...

  7. CentOS6.7搭建部署FTP服务 (详解主配置文件)

    FTP传输 三种解析: username -->UID  :/etc/passwd    将用户名转换成UID的库. hostname--->        IP   :DNS服务,/et ...

  8. 【CNMP系列】CentOS7.0下安装FTP服务

    一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通.后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程.现在,代码先走FTP吧,挺稳. FTP简介 FTP 是 ...

  9. SAMBA服务和FTP服务讲解(week3_day1)--技术流ken

    samba服务 Smb主要作为网络通信协议; Smb是基于cs架构: 完成Linux与windows之间的共享:linux与linux之间共享用NFS 第一步:安装samba [root@ken ~] ...

随机推荐

  1. JS中Map的用法

    声明 var map = new Map(); 设值 map.set("key","value"); 取值 map.get("key"); ...

  2. WPF DispatcherTimer一些个人看法 (原发布 csdn 2017-04-25 19:12:22)

    wpf中的DispatcherTimer基本用法,本文不在叙述.主要写一些不同的,来提醒自己不要再犯同样错误. 前几天写代码时发现.当在非UI线程创建DispatcherTimer实例时,程序无法进入 ...

  3. ASP.NET Core中使用MialKit实现邮件发送

    # 导包 首先我们需要导入 MailKit NuGet包,NuGet安装包命令在下方拓展介绍中. # 引用命名空间 using MailKit.Net.Smtp; using MimeKit; # 邮 ...

  4. Asp.Net Core中使用NLog记录日志

    2019/10/28, Asp.Net Core 3.0, NLog 4.6.7, NLog.Web.AspNetCore 4.9.0 摘要:NLog在asp.net网站中的使用,NLog日志写入数据 ...

  5. 基于NPOI对Excel进行简单的操作

    1. 关于NPOI NPOI是一个开源的用于在C#程序中读写Excel.WORD等微软OLE2组件文档的项目,使用NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作. 2 ...

  6. 强化Linux 服务器的7个步骤

    这篇入门文章将向你介绍基本的 Linux 服务器安全知识.虽然主要针对 Debian/Ubuntu,但是你可以将此处介绍的所有内容应用于其他 Linux 发行版.我也鼓励你研究这份材料,并在适用的情况 ...

  7. 百度云BCC主机宝镜像

    重装系统 在bcc服务器中,选实例,然后重装系统,镜像选择为主机宝CentOS6.5. 装完后,查看主机宝CentOS6.5官方文档. 登录主机宝管理界面 使用 root 用户登录 SSH 终端执行: ...

  8. 使用Vue CLI构建Vue项目

    第一步:首先在控制台输入vue --version,如果出现版本号则进入第三步:否则进入第二步: 第二步:输入npm install cnpm -g --registry=https://regist ...

  9. 【转载】c# datatable 判断值是否存在

    在C#的数据表格DataTable操作过程中,有时候在操作DataTable前需要判断DataTable中的值是否存在,此时首选需要判断DataTable是否为null值,而后在判断DataTable ...

  10. i春秋——“百度杯”CTF比赛 十月场——Vld(Vulcan Logic Dumper 、php opcode、sql 报错注入)

    打开题目看到提示 "do you know Vulcan Logic Dumper?" ,再查看源码看到"<!-- index.php.txt ?>" ...