Linux基础(day57)

14.4 exportfs命令

exportfs命令

  • 常用选项
  • -a 全部挂载或者全部卸载
  • -r 重新挂载
  • -u 卸载某一个目录
  • -v 显示共享目录
  • 以下操作在服务端上 -vim /etc/exports //增加
/tmp/ 192.168.133.0/24(rw,sync,no_root_squash)
  • exportfs -arv //不用重启nfs服务,配置文件就会生效
  • 以下操作在客户端
  • mkdir /aminglinux
  • mount -t nfs -onolock 192.168.133.130:/tmp /aminglinux
  • touch /aminglinux/test.txt
  • ls -l !$
  • -oremount,nfsvers=3

exportfs命令

  • exportfs命令和nfs-utils这个包一起安装的
  • 例子:
    • 假设在第一次配置nfs的共享目录,之后需要新增、更改某些机器或共享的目录;
    • 首先需要更改配置文件,然后重启NFS服务,但如果远程客户端正在使用NFS服务,正在挂载着,如果你需要先停止nfs服务,那远程的客户端就会挂起,就会很大的影响,造成服务异常,进程异常,有很大可能导致系统坏掉
  • nfs服务不能随便重启,要重启,就需要先去服务器上,把挂载的目录卸载下来
    • 在卸载目录的时候,若是在当前目录下去卸载会提示umount.nfs4: /mnt: device is busy
      • 方法一:退出该目录后,再去卸载
      • 方法二:在目录下卸载的时候,加 -l 选项,表示 lazy 懒惰的意思
    • 在卸载目录后,在重启nfs服务
  • 若是挂载了很多台机器,那么每台机器都需要去卸载,就会很麻烦,降低了工作效率
    • 方法:使用exportfs命令,重新加载下
  • exportfs命令
    • -a 全部挂载或者全部卸载
    • -r 重新挂载
    • -u 卸载某一个目录
    • -v 显示共享目录
  1. 在B机器客户端,卸载目录
[root@hf-01 ~]# umount /mnt/
[root@hf-01 ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        18G  6.5G   12G   37% /
devtmpfs        483M     0  483M    0% /dev
tmpfs           493M     0  493M    0% /dev/shm
tmpfs           493M  6.7M  486M    2% /run
tmpfs           493M     0  493M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            99M     0   99M    0% /run/user/0
[root@hf-01 ~]# 
  1. 然后在A机器服务端,使用exportfs -arv命令
  • exportfs -arv命令,重新使配置文件生效
[root@hanfeng ~]# exportfs -arv
exporting 192.168.202.0/24:/home/nfstestdir
[root@hanfeng ~]# 
  1. 验证,在A机器上的/etc/exports配置文件中,在增加一行,把 /tmp 目录单独共享给192.168.202.131 这个IP
[root@hanfeng ~]# vim /etc/exports

在配置文件中加入
/tmp 192.168.202.131(rw,sync,no_root_squash)

结果如下
/home/nfstestdir  192.168.202.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
/tmp 192.168.202.131(rw,sync,no_root_squash)

保存退出
  1. 然后在A机器服务端执行exportfs -arv命令
[root@hanfeng ~]# exportfs -arv
exporting 192.168.202.131:/tmp
exporting 192.168.202.0/24:/home/nfstestdir
[root@hanfeng ~]# 
  1. 在B机器客户端showmount -e看是否生效——>并没有重启nfs服务,就已经生效
[root@hf-01 ~]# showmount -e 192.168.202.130
Export list for 192.168.202.130:
/home/nfstestdir 192.168.202.0/24
/tmp             192.168.202.131
[root@hf-01 ~]# 
  1. 在B机器客户端挂载,将 tmp目录 挂载到 mnt 目录下
[root@hf-01 ~]# mount -t nfs 192.168.202.130:/tmp/ /mnt/
[root@hf-01 ~]# df -h
文件系统              容量  已用  可用 已用% 挂载点
/dev/sda3              18G  6.5G   12G   37% /
devtmpfs              483M     0  483M    0% /dev
tmpfs                 493M     0  493M    0% /dev/shm
tmpfs                 493M  6.7M  486M    2% /run
tmpfs                 493M     0  493M    0% /sys/fs/cgroup
/dev/sda1             197M  109M   88M   56% /boot
tmpfs                  99M     0   99M    0% /run/user/0
192.168.202.130:/tmp   18G  3.2G   15G   18% /mnt
[root@hf-01 ~]# 
  1. 现在在B机器客户端,查看到的/mnt/目录就是192.168.202.130IP下的tmp目录
[root@hf-01 ~]# ls /mnt/
hanfeng.sock  mysql.sock  php-fcgi.sock  test.com.log
[root@hf-01 ~]# 
  1. 再到A机器上查看tmp目录,会看到两个目录下的文件内容会一样的
[root@hanfeng ~]# ls /tmp/
hanfeng.sock  mysql.sock  php-fcgi.sock  test.com.log
[root@hanfeng ~]# 
  1. 这时在B机器客户端的mnt目录下创建文件,并查看目录下的文件,能看到新建的1212.txt文件的属主和属组都是root
[root@hf-01 ~]# vim /mnt/1212.txt
[root@hf-01 ~]# ls -l /mnt/
总用量 8
-rw-r--r-- 1 root  root    12 1月  17 2018 1212.txt
srw-rw-rw- 1 root  root     0 1月  17 2018 hanfeng.sock
srwxrwxrwx 1 mysql mysql    0 1月  17 2018 mysql.sock
srw-rw-rw- 1 root  root     0 1月  17 2018 php-fcgi.sock
-rw-r--r-- 1 root  root  2383 1月   8 19:41 test.com.log
[root@hf-01 ~]# 
  1. 这时再到A机器服务端查看tmp目录,会看到1212.txt文件的属主和属组也是root
[root@hanfeng ~]# ls -l /tmp/
总用量 8
-rw-r--r--. 1 root  root    12 1月  17 21:53 1212.txt
srw-rw-rw-. 1 root  root     0 1月  17 18:44 hanfeng.sock
srwxrwxrwx. 1 mysql mysql    0 1月  17 18:44 mysql.sock
srw-rw-rw-. 1 root  root     0 1月  17 18:44 php-fcgi.sock
-rw-r--r--. 1 root  root  2383 1月   8 19:41 test.com.log
[root@hanfeng ~]# 
  1. 这就是因为在A机器服务端的配置文件中,使用了no_root_squash ,所以root用户不受约束,在B机器上到挂载点下,到共享目录下,就可以像在本地磁盘使用root用户一样,是不受限制的(通常情况下,不限制root用户的比较多)

14.5 NFS客户端问题

NFS客户端问题

  • NFS 4版本会有该问题
  • 客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody
  • 客户端挂载时加上 -o nfsvers=3
  • 客户端和服务端都需要
  • vim /etc/idmapd.conf //
  • 把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务

NFS知识点

  • 在centos6中,遇到的问题比较多,针对的NFS 4版本有这个问题
    • 问题:客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody,虽然已经定义了 no_root_squash 不在限制root用户,最终创建完文件后发现属主和属组不是root或者是限定的1000,而是显示的是 nobody ,这就是NFS 4版本出现的问题,尤其是在centos6 系统上
    • 解决问题:
      • 方法一:是在客户端挂载的时候,加上-o nfsvers=3 ,意思就是指定NFS的版本为 3 ,不在用4的版本
        • mount -t nfs -o nfsvers=3 192.168.202.130:/tmp/ /mnt/
          • 若是不想卸载,直接挂载,可以使用mount -t nfs -oremount,nfsvers=3 192.168.202.130:/tmp/ /mnt/ (前提是先挂载上去)
      • 方法二:更改配置文件vim /etc/idmapd.conf ,把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务
        • 在cnetos7中,本身是没有rpcidmapd服务的,只需要重启rpcbind服务就可以了

15.1 FTP介绍

FTP介绍

  • FTP多用于Windows传文件到linux
  • rz sz在文件超过4G,就无法使用了——>安装包yum install -y install lrzsz
    • rz把 window 上的文件传输到 linux 上
    • sz 把 linux 上的文件传输到 window 上
  • FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。
  • FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。
  • 小公司用的多,大企业不用FTP(多用自动化发布工具),因为不安全

15.2/15.3 使用vsftpd搭建ftp

使用vsftpd搭建ftp目录概要

  • centos上自带vsftpd
  • yum install -y vsftpd
  • useradd -s /sbin/nologin virftp
  • vim /etc/vsftpd/vsftpd_login //内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行
testuser1
aminglinux
  • chmod 600 /etc/vsftpd/vsftpd_login
  • db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
  • mkdir /etc/vsftpd/vsftpd_user_conf
  • cd /etc/vsftpd/vsftpd_user_conf
  • vim testuser1 //加入如下内容
local_root=/home/virftp/testuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
  • mkdir /home/virftp/testuser1
  • touch /home/virftp/testuser1/aming.txt
  • chown -R virftp:virftp /home/virftp
  • vim /etc/pam.d/vsftpd //在最前面加上
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
  • vim /etc/vsftpd/vsftpd.conf
  • 将anonymous_enable=YES 改为 anonymous_enable=NO
  • 将#anon_upload_enable=YES 改为 anon_upload_enable=NO
  • 将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
  • 再增加如下内容
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES
  • systemctl start vsftpd //启动vsftpd服务

使用vsftpd搭建ftp

  1. 在centos上默认自带的ftp服务软件包叫做vsftpd,vsftpd软件包是可以使用系统级别的用户,(也就是假设创建了一个普通用户hanfeng,设置一个密码,这时候就可以用vsftpd启动这个服务,然后用hanfeng这个用户去登陆,登录的形式为ftp,登录进去后会进入到hanfeng这个用户的家目录下,但这样操作会存在安全隐患)
    • 解决隐患的方法:给ftp设置一个虚拟用户,虚拟用户映射成系统中的一个普通用户(也可以映射多个虚拟用户),这个用户即使给了用户和密码你也是没有办法去通过ssh登录到服务器的机器,这样就相对安全了很多
  2. 安装vsftpd包——>yum install -y vsftpd
[root@hf-01 ~]# yum install -y vsftpd
  1. 在安装完成后创建一个普通用户,目的是为了让虚拟用户做一个映射的
  • useradd -s /sbin/nologin virftp
    • 用户名字可以随意取
    • -s 指定它的shell
    • /sbin/nologin 表示这个用户不能登录到系统,这么做是为了安全
[root@hf-01 ~]# useradd -s /sbin/nologin virftp
[root@hf-01 ~]# 
  1. 编辑 vim /etc/vsftpd/vsftpd_login 虚拟用户的密码文件,在密码文件中定义用户名和密码
  • 文件格式为:奇数行为用户名,偶数行为密码,多个用户就写多行
[root@hf-01 ~]# vim /etc/vsftpd/vsftpd_login

1,3行为用户名
2,4行为密码
testuser1
hanfeng
user1
aaaaa1111

保存退出
  1. 在编辑完密码文件,然后给 /etc/vsftpd/vsftpd_login 文件做一个 600的权限设置,为了确保密码文件的安全,防止所有的用户都可以读取
  • chmod 600 /etc/vsftpd/vsftpd_login
[root@hf-01 ~]# chmod 600 /etc/vsftpd/vsftpd_login
[root@hf-01 ~]# 
  1. 将文本的密码文件转换为计算机识别的二进制文件
  • db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@hf-01 ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@hf-01 ~]# ls -l /etc/vsftpd/
总用量 36
-rw------- 1 root root   125 8月   3 14:10 ftpusers
-rw------- 1 root root   361 8月   3 14:10 user_list
-rw------- 1 root root  5030 8月   3 14:10 vsftpd.conf
-rwxr--r-- 1 root root   338 8月   3 14:10 vsftpd_conf_migrate.sh
-rw------- 1 root root    34 1月  18 06:02 vsftpd_login
-rw-r--r-- 1 root root 12288 1月  18 06:06 vsftpd_login.db
[root@hf-01 ~]# 
  • 在/etc/vsftpd/目录下,会看到生成了一个vsftpd_login.db文件,它和vsftpd_login文件相比只是多了一个 .db 的后缀
  1. 这个vsftpd_login.db密码是不能世界 cat命令 查看的,在上面的密码文件是可以自定义的
  2. 创建虚拟用户所在的配置文件目录,这个目录也是自定义的,也是需要在配置文件中定义
  • mkdir /etc/vsftpd/vsftpd_user_conf
[root@hf-01 ~]# mkdir /etc/vsftpd/vsftpd_user_conf 
[root@hf-01 ~]# 
  1. 切换到 /etc/vsftpd/vsftpd_user_conf 文件下
  • cd /etc/vsftpd/vsftpd_user_conf
[root@hf-01 ~]# cd /etc/vsftpd/vsftpd_user_conf
[root@hf-01 vsftpd_user_conf]# 
  1. 创建第一个用户的配置文件,用户的配置文件名字有一点特殊性,需要和用户的名字保持一致,比如在密码配置文件中的用户为testuser1,那么定义的配置文件用户名称就为testuser1
配置文件内容

local_root=/home/virftp/testuser1     //指定虚拟用户的家目录
anonymous_enable=NO                    //是否允许匿名用户
write_enable=YES                              //是否可写
local_umask=022                              //创建新文件目录的默认权限
anon_upload_enable=NO                  //是否允许匿名用户上传
anon_mkdir_write_enable=NO          //是否允许匿名用户创建目录和写
idle_session_timeout=600                 //连接ftp超时时间(秒)
data_connection_timeout=120         //数据传输的超时时间(秒)
max_clients=10                                //最多允许同时几个终端连接
  • 最终如下
[root@hf-01 vsftpd_user_conf]# vim testuser1

local_root=/home/virftp/testuser1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10

保存退出
  1. 创建虚拟用户的家目录
  • mkdir /home/virftp/testuser1
[root@hf-01 vsftpd_user_conf]# mkdir /home/virftp/testuser1
[root@hf-01 vsftpd_user_conf]# 
  1. 新建一个文件,在登录的时候就可以看到这个文件了
  • touch /home/virftp/testuser1/aming.txt
[root@hf-01 vsftpd_user_conf]# touch /home/virftp/testuser1/aming.txt
[root@hf-01 vsftpd_user_conf]# 
  1. 将权限做一个修改,因为最后映射成virftp 这个用户,若virftp这个用户没有读的权利那就是错误的,无法正常的去上传和下载
  • chown -R virftp:virftp /home/virftp
[root@hf-01 vsftpd_user_conf]# chown -R virftp:virftp /home/virftp
[root@hf-01 vsftpd_user_conf]# 
  1. 定义密码文件的路径
  • 将文件内容放入到/etc/pam.d/vsftpd ,文件在最前面加上
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

最终如下

[root@hf-01 vsftpd_user_conf]# vim /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

保存退出
  1. /etc/pam.d/vsftpd,它是一个用来认证的文件,在登录FTP需要有一个认证的过程,认证的过程需要告诉它,通过什么样的形式去认证,认证的时候去哪里找这个密码库
  • 在/etc/pam.d/vsftpd 添加的/lib64/security/pam_userdb.so,centos6中是为了区分版本,分32位和64位,一定要注意这个文件是存在的(lib64或lib32)
  1. 编辑 /etc/vsftpd/vsftpd.conf 主配置文件
[root@hf-01 vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf

将anonymous_enable=YES 改为 anonymous_enable=NO
将#anon_upload_enable=YES 改为 anon_upload_enable=NO ,并取消注释符
将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO ,并取消注释符

并增加以下内容
chroot_local_user=YES
guest_enable=YES          //打开虚拟用户映射
guest_username=virftp       //映射的用户名
virtual_use_local_privs=YES               //告诉服务,我们现在用的虚拟用户
user_config_dir=/etc/vsftpd/vsftpd_user_conf   //定义虚拟用户配置文件所在路径
allow_writeable_chroot=YES

保存退出
  1. 更改完配置文件,去启动vsftpd服务,启动完并查看下进程和监听的端口
  • systemctl start vsftpd //启动vsftpd服务
[root@hf-01 vsftpd_user_conf]# systemctl start vsftpd
[root@hf-01 vsftpd_user_conf]# ps aux |grep vsftpd
root      3564  0.0  0.0  51136   564 ?        Ss   06:49   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      3566  0.0  0.0 112676   984 pts/0    R+   06:49   0:00 grep --color=auto vsftpd
[root@hf-01 vsftpd_user_conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1607/master         
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:40904           0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      1250/rpc.mountd     
tcp        0      0 0.0.0.0:37459           0.0.0.0:*               LISTEN      1224/rpc.statd      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1227/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1607/master         
tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
tcp6       0      0 :::41381                :::*                    LISTEN      1224/rpc.statd      
tcp6       0      0 :::35465                :::*                    LISTEN      -                   
tcp6       0      0 :::3306                 :::*                    LISTEN      1643/mysqld         
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::20048                :::*                    LISTEN      1250/rpc.mountd     
tcp6       0      0 :::21                   :::*                    LISTEN      3564/vsftpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1227/sshd           
[root@hf-01 vsftpd_user_conf]# 
  1. FTP监听的端口为21端口,22端口是sshd,23端口是telnet(现在telnet几乎没人使用了)

测试FTP

  • yum install -y lftp
  • lftp ftpuser1@127.0.0.1
  • 执行命令ls,看是否正常输出
  • 若不正常查看日志/var/log/messages和/var/log/secure
  • windows下安装filezilla客户端软件,进行测试

测试FTP

  • 最好在windows上安装一个FTP的客户端软件,filezilla client软件是FTP开源的、免费的可以搭建服务,同时还有一个客户端软件
  1. vsftpd服务已经启动
  2. 这里为了方便测试,直接在linux上的FTP客户端,为lftp——>安装包yum install -y lftp
[root@hf-01 ~]# yum install -y lftp
  1. 安装完成之后,按如下输入方式,然后回车输入密码口令,用ls命令就可以查看到刚刚之前创建的文件,可见,已经连接成功
[root@hf-01 ~]# lftp testuser1@127.0.0.1
口令: 
lftp testuser1@127.0.0.1:~> ls      
-rw-r--r--    1 1002     1002            0 Jan 17 22:26 aming.txt
lftp testuser1@127.0.0.1:/> 
  1. 可以输入 ? 查看可以使用使用哪些命令
lftp testuser1@127.0.0.1:/> ?
    !<shell-command>                     (commands)
    alias [<name> [<value>]]             attach [PID]
    bookmark [SUBCMD]                    cache [SUBCMD]
    cat [-b] <files>                     cd <rdir>
    chmod [OPTS] mode file...            close [-a]
    [re]cls [opts] [path/][pattern]
    debug [<level>|off] [-o <file>]      du [options] <dirs>
    exit [<code>|bg]
    get [OPTS] <rfile> [-o <lfile>]      glob [OPTS] <cmd> <args>
    help [<cmd>]
    history -w file|-r file|-c|-l [cnt]  jobs [-v] [<job_no...>]
    kill all|<job_no>                    lcd <ldir>
    lftp [OPTS] <site>                   ln [-s] <file1> <file2>
    ls [<args>]                          mget [OPTS] <files>
    mirror [OPTS] [remote [local]]       mkdir [-p] <dirs>
    module name [args]                   more <files>
    mput [OPTS] <files>                  mrm <files>
    mv <file1> <file2>                   [re]nlist [<args>]
    open [OPTS] <site>
    pget [OPTS] <rfile> [-o <lfile>]
    put [OPTS] <lfile> [-o <rfile>]      pwd [-p]
    queue [OPTS] [<cmd>]                 quote <cmd>
    repeat [OPTS] [delay] [command]      rm [-r] [-f] <files>
    rmdir [-f] <dirs>                    scache [<session_no>]
    set [OPT] [<var> [<val>]]            site <site-cmd>
    source <file>
    torrent [-O <dir>] <file|URL>...     user <user|URL> [<pass>]
    wait [<jobno>]                       zcat <files>
    zmore <files>
lftp testuser1@127.0.0.1:/> 
  1. 比如执行get aming.txt 命令,就会把aming.txt文件直接下载到当前目录
lftp testuser1@127.0.0.1:~> get aming.txt
lftp testuser1@127.0.0.1:/> 
  1. 输入quit 退出ftp
lftp testuser1@127.0.0.1:/> quit
[root@hf-01 ~]# 
  1. 在当前目录直接ls命令查看,会看到aming.txt文件就是刚刚下载下来的
[root@hf-01 ~]# ls
111          1_sorft.txt  2.txt.bak  amin             bb.txt  lll.sh
123          1.txt        3.txt      aming.txt        grep    sed
1.cap        234          aa.txt     anaconda-ks.cfg  haha    shell
1_heard.txt  2.txt        admin      awk              id.txt
[root@hf-01 ~]# 
  1. 查询在lftp中可执行的命令,常用命令:put、get

xshell实现跟FTP的功能(两种方案)

第一种方案:

  1. 在xshell中新建一个会话属性,将名称随便填写,协议改成 sftp 协议,IP为本机的IP,端口还是22端口,因为走的还是ssh协议
  1. 然后打开,输入用户名和密码,默认是在root下
C:\Users\Administrator\Documents\NetSarang\Xshell\Sessions

Type `help' to browse available commnands.
sftp:/root> ls
dr-xr-x---    5 root     root          209 Jan 18 14:44 .
dr-xr-xr-x   18 root     root          256 Dec 16 16:03 ..
-rw-r--r--    1 root     root           18 Dec 29  2013 .bash_logout
-rw-r--r--    1 root     root          176 Dec 29  2013 .bash_profile
-rw-r--r--    1 root     root          176 Dec 29  2013 .bashrc
-rw-r--r--    1 root     root          100 Dec 29  2013 .cshrc
-rw-r--r--    1 root     root          129 Dec 29  2013 .tcshrc
-rw-------    1 root     root         1422 Nov 15 16:01 anaconda-ks.cfg
-rw-------    1 root     root        14080 Jan 18 13:51 .bash_history
drwxr-----    3 root     root           19 Dec 15 10:57 .pki
-rw-------    1 root     root         6958 Jan 18 12:28 .viminfo
drwxr-xr-x    3 root     root           19 Jan 18 14:34 .local
drwxr-xr-x    3 root     root           18 Jan 18 14:34 .config
-rw-r--r--    1 root     root            0 Jan 18 12:00 aming.txt
sftp:/root> 
  1. 也可以切换到其他目录下,并查看
sftp:/root> cd /tmp/
sftp:/tmp> ls
drwxrwxrwt   10 root     root          283 Jan 18 14:29 .
dr-xr-xr-x   18 root     root          256 Dec 16 16:03 ..
drwxrwxrwt    2 root     root            6 Nov 15 15:56 .X11-unix
drwxrwxrwt    2 root     root            6 Nov 15 15:56 .font-unix
drwxrwxrwt    2 root     root            6 Nov 15 15:56 .Test-unix
drwxrwxrwt    2 root     root            6 Nov 15 15:56 .XIM-unix
drwxrwxrwt    2 root     root            6 Nov 15 15:56 .ICE-unix
drwxr-xr-x    3 root     root           18 Dec 15 14:04 pear
drwx------    3 root     root           17 Dec 19 10:08 systemd-private-6e73aa7860eb4d49858dd92d96b45716-vmtoolsd.service-q9Zmg0
drwx------    3 root     root           17 Dec 20 10:14 systemd-private-402b63f6eda14588932b1e1538c698b7-vmtoolsd.service-mv35lS
srwxrwxrwx    1 mysql    mysql           0 Dec 20 10:14 mysql.sock
sftp:/tmp> 
  1. 也可以get一个文件下来,保存的位置也是可以设置的
sftp:/tmp> get user.sql
Fetching /tmp/user.sql to user.sql
sftp: received 6.83 KB in 0.08 seconds
  • 保存的位置如下图
  1. 输入exit退出ftp
  • 第二种方案
    • 使用xftp,这个需要安装一个插件的,输入ctrl+alt+f ,,然后直接下载

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算

从零开始写一个运行在Kubernetes上的服务程序

这是一篇对于Go语言和Kubernetes新手来说再适合不过的文章了。文中详细介绍了从代码编写到用容器的方式在Kubernetes集群中发布,一步一步,一行一行...

22711
来自专栏飞雪无情的博客

使用Nginx搭建PHP服务器

一般我们都是采用Apache 作为PHP的解析服务器,这次则是采用Nginx这个强大的反向代理服务器来搭建PHP服务器。下面就以Linux发行版Ubuntu为例...

3363
来自专栏一个会写诗的程序员的博客

Android连接 Mysql: 解决mysql-connector-java驱动编译时Dex cannot parse version 52 byte code...等错误

做一个简单的数据库应用,打算直接把客户端和数据库连接起来,省去用java或者php去写后端接口程序。因此想到了在Android端用mysql-connector...

1573
来自专栏Zchannel

搭建一个属于自己 可多平台同步的私有云盘 —— Seafile

6174
来自专栏python3

gitlab 注册runner

向GitLab-CI注册一个Runner需要两样东西:GitLab-CI的url和注册token。 其中,token是为了确定你这个Runner是所有工程都能够...

1581
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Keepalived和浮动IP设置高可用性HAProxy服务器

高可用性是系统设计的一个功能,允许应用程序在发生故障时自动重启或重新路由工作到另一个有能力的系统。在服务器方面,建立高可用性系统需要一些不同的技术。必须有一个可...

3453
来自专栏假装我会写代码

又一篇 Deployer 的使用攻略

2216
来自专栏Laoqi's Linux运维专列

Redis慢日志+扩展模块+存储session+主从配置

4245
来自专栏磨磨谈

基于Docker UI 配置ceph集群

前一篇介绍了docker在命令行下面进行的ceph部署,本篇用docker的UI进行ceph的部署,目前来说市面上还没有一款能够比较简单就能直接在OS上面去部署...

1022
来自专栏小车博客

短网址程序YOURLS安装及配置教程与设置中文

3935

扫码关注云+社区

领取腾讯云代金券