首页 > 系统相关 >安装虚拟机VMware,然后再安装ubuntu系统

安装虚拟机VMware,然后再安装ubuntu系统

时间:2024-04-24 10:01:33浏览次数:41  
标签:chroot 安装 虚拟机 sudo 用户 vsftpd ubuntu home vftp

 

 

1.虚拟机vmware和unbuntu安装

 1.1 Vmware官方下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html

  vmware版本并不是越新越好,我下载的是VMware Workstation 64位_17.0.0.34456。其对应激活秘钥:https://www.haozhuangji.com/xtjc/180037874.html

1.2 Ubuntu官方下载地址:https://releases.ubuntu.com/   (我下载的事Ubuntu18.04.6版本( 64-bit PC (AMD64) desktop image)   https://releases.ubuntu.com/18.04.6/   

1.3 Vmware和ubuntu安装教程参考: https://blog.csdn.net/weixin_45496087/article/details/133067761

  截图如右:  这里大部分都会,不过里面的第37条开始【安装VMWare Tools】这个之前没弄过,可学习下。

1) 虚拟cpu:分配给虚拟机的vCPU数量会增加宿主机CPU的负载。每个vCPU本质上是对宿主机物理CPU核心或超线程资源的模拟。当虚拟机运行时,VMware会调度其vCPU请求到物理CPU核心上执行。如果分配的vCPU过多,导致虚拟机总需求超过物理CPU的实际核心数,尤其是在高负载情况下,可能会导致宿主机CPU资源争用,影响宿主机自身的性能和响应速度。

      虚拟内存:分配给虚拟机的内存是从宿主机的物理内存中划拨的。这部分内存将被锁定,不能被宿主机上的其他进程使用(eg:你的系统总内存是16GB,而你为虚拟机分配了8GB,那么在虚拟机运行期间,Windows将只能使用剩下的8GB内存。)另:如果不运行虚拟机,那么分配给虚拟机的内存将不会被使用,因此不会影响宿主Windows的总内存。

 2)网络使用桥接模式,但ubuntu怎样也无法连接网络。上网查了很多方法均不行,后来找到解决方法(参考网址:https://blog.csdn.net/sakurawithdong/article/details/134503031 ,截图如下)。总结:如果宿主的网卡较多,当虚拟机自动桥接网络时,自动选择了错误网卡就会导致虚拟机系统无法联网,需要手工选下正确网卡。

 2.ubuntu环境初始化  

2.1远程连接ubuntu及简单的防火墙配置

#安装SSH服务
sudo apt update #更新软件源索引、检查软件包版本变化、准备软件包升级(它本身并不会直接升级已安装的软件包,而是更新本地的软件包信息数据库)
sudo apt install openssh-server #下载安装ssh服务

sudo systemctl status ssh  # 检查当前状态
sudo systemctl start  ssh  # 启动服务(如有必要)
sudo systemctl enable ssh  # 设置开机自启动

#获取ip地址
ip addr show  #或  ifconfig

#防火墙(如没有,下载防火墙 sudo apt install ufw)
sudo ufw status  #查看防火墙状态
sudo ufw enable  #启动防火墙
sudo ufw disable #关闭防火墙
sudo ufw reload  #重启防火墙,添加规则以后需要使用该命令进行重启防火墙

sudo ufw allow ssh #允许SSH(默认端口22)
#另外:对于VNC远程桌面(VNC默认端口5900+,XRDP默认端口3389)
sudo ufw allow 5900:5910/tcp      # 允许端口范围,根据实际配置调整
sudo ufw allow 3389/tcp           # 对于XRDP

2.2 搭建FTP服务

1. 安装 vsftpd

sudo apt update
sudo apt install vsftpd #安装vsftpd(Very Secure FTP Daemon),这是一个在Ubuntu上广泛使用的FTP服务器软件
sudo vsftpd -v        #查看vsftpd版本

2. 配置 vsftpd

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak   #在修改配置之前,先备份原始配置文件以防万一
sudo vim /etc/vsftpd.conf  #vim编辑器编辑配置文件 (sudo apt install vim#安装vim编辑器)
/etc/vsftpd.conf配置文件默认配置的中文解释(参考:https://blog.csdn.net/weixin_52799373/article/details/131045373)截图如右:
我参考的配置如下:
anonymous_enable=NO                         #不允许匿名FTP登录。(默认配置)
local_enable=YES                              #设置允许本地用户登录FTP服务器(默认配置)
write_enable=YES                              #写权限。允许用户上传文件到FTP服务器(默认被注释#)

chroot_local_user=YES                        #用户根目录限制(可选,提高安全性):如果您希望限制用户只能访问其主目录,防止他们浏览到其他系统文件(默认被注释#)
chroot_list_enable=YES                        #启用chroot_list_file列表,用于指定哪些用户不应该被限制在主目录中。(默认被注释#)
chroot_list_file=/etc/vsftpd.chroot_list    #指定了chroot_list_file列表的路径和名称。一行一个用户名。(默认被注释#)
#1.当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
#2.当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
#3.当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
#4.当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
#注意: 如果限制了用户不能切换其他目录,一定要在配置文件中新增 allow_writeable_chroot=YES,否则会报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()

#local_root=/vsftp/data                    #也可以加上这段配置(路径为自定义,提前建好)(可选,添加此配置项): 设置FTP用户的本地根目录,也就是说,FTP用户登录后,其工作目录将被限制在该目录及其子目录下。(这个测试未成功)

3.创建ftp用户

  一般情况下会在home下新建一个FTP的主目录,然后建一个普通用户如下:

sudo mkdir /home/vftp              #创建文件夹
sudo chown vftp:vfpt /home/vftp    #将目录 /home/vftp 的所有者和所属组均更改为名为 vftp 的用户及其对应的同名用户组

# 创建vftp用户,指定此用户的主目录。且限制其只能通过特定的服务(如FTP、SFTP等)进行远程访问,而不能直接登录系统。
# `/sbin/nologin` 是一个特殊的 shell,它不允许用户登录系统.通常用于限制某些用户只能通过特定的服务(如FTP、SFTP等)进行远程访问,而不能直接登录系统。
sudo useradd -d /home/vftp -s /sbin/nologin vftp
sudo passwd vftp # 设置密码(给vftp用户设置密码)
sudo usermod -s /bin/bash vftp #如果想要恢复为正常用户,可以执行此命令
#注意:::如果你创建的用户是只能通过ftp访问的用户,一定要删除 /etc/pam.d/vsftpd 配置文件,因为这个配置文件会导致使用用户名登录 ftp 失败!!!

 

 但是也有特殊需求,我想要创建一个不能登录只能通过ftp访问的用户,并且我需要指定用户主目录是一个已经存在的目录:

# 创建vftp用户,指定此用户的主目录。且限制其只能通过特定的服务(如FTP、SFTP等)进行远程访问,而不能直接登录系统。
# `/sbin/nologin` 是一个特殊的 shell,它不允许用户登录系统.通常用于限制某些用户只能通过特定的服务(如FTP、SFTP等)进行远程访问,而不能直接登录系统。
sudo useradd -d /home/vftp -s /sbin/nologin vftp
sudo passwd vftp # 设置密码(给vftp用户设置密码)
sudo usermod -s /bin/bash vftp #如果想要恢复为正常用户,可以执行此命令
#注意:::如果你创建的用户是只能通过ftp访问的用户,一定要删除 /etc/pam.d/vsftpd 配置文件,因为这个配置文件会导致使用用户名登录 ftp 失败!!!

 

例子:在/home/vftp 下创建 Down 和 Up目录,Down仅可下载,Up可下载、上传、删除;每天00:00将Up文件夹中文件移动到Down文件夹中。(参考:https://blog.csdn.net/qq_24568487/article/details/89400561

#1.修改 /home/vftp 权限(因为要在里面创建Down 和 Up目录,且其不能被 ftpusers 删除,所以应该限制 /home/vftp 写权限)
    #7读、写、执行权限 6读、写权限,无执行权限 5读、执行权限,无写权限
    sudo chmod 555  /home/vftp
#2.在 /home/vftp 下创建 Down 和 Up目录
    sudo mkdir /home/vftp/Down          
    sudo chown vftp:vftp /home/vftp/Down   #同样需要修改其用户组和拥有者为 vftp 
    sudo mkdir /home/vftp/Up
    sudo chown vftp:vftp /home/vftp/Up     #同样需要修改其用户组和拥有者为 vftp
#3.Down仅可下载,Up可下载、上传、删除。
    sudo chmod 555 /home/vftp/Down   #修改 Down 目录下文件仅能下载
    sudo chmod 777 /home/vftp/Up     #修改 Up 目录下能下载、上传、删除
#4.附加功能(可选),定时将Up中文件移动到Down中
    #(1)sudo crontab -e
    #(2)选择编辑器时最好选 vim 输入数字就可以了。
    #(3)最后一行添加:0 0 * * * mv /home/ftp/Up/* /home/ftp/Down 
    #说明:命令前可以输入五个数字,分别代表( * 代表任意 ):
    #    分钟 (0-59)
    #    小時 (0-23)
    #    日期 (1-31)
    #    月份 (1-12)
    #    星期 (0-6) #0 表示星期天
    #则 0 0 * * * mv /home/ftp/Up/* /home/ftp/Down 代表在0分0时的任意(每)一天都移动Up中的文件到Down下

4.创建vsftpd.chroot_list文件并添加可ftp的用户

sudo vim /etc/vsftpd.chroot_list
#在里面添加可登录 ftp 的用户,一行一个用户名。vftp 添加进去。使用ps -aux | grep vsftpd 查看服务是否启动

 

5.重启vsftp服务,使配置生效

sudo service vsftpd restart

使用ps -aux | grep vsftpd 查看服务是否启动

 6.更改防火墙配置(如防火墙启动)

sudo ufw allow ftp #允许ftp(默认端口21)
sudo ufw reload    #重启防火墙,使新规则生效
sudo ufw status    #查看防火墙状态

 7.测试(FileZilla)

 

标签:chroot,安装,虚拟机,sudo,用户,vsftpd,ubuntu,home,vftp
From: https://www.cnblogs.com/zdyang/p/18140273

相关文章

  • 解决ubuntu安装搜狗输入法后只能打字母
    去搜狗输入法官网按照步骤一步一步安装,结果不能正常使用。只能打字母,无法输出中文。卸载重装了几次还是不行。怀疑是最新的搜狗输入法和ubuntu20.04不匹配,升级到22.04还是不行。配置了很久搜狗输入法,不是配置的问题。从网上寻找解决办法。看到一篇帖子说是从ubuntu论坛上找到的......
  • 在Kali下安装w4af软件
    教程音乐FM:Paradise一、简介w4af是一款Web高级应用程序攻击和审计python3框架。主要帮助开发人员和渗透测试人员识别和利用他们的web应用程序中的漏洞。w4af最初基于w3af开发,由于w3af依赖于较为老旧的Python模块,kali系统在迭代版本的过程中逐渐移除了对老旧python模块的支持,......
  • shell脚本一键安装nginx-1.18.0
    shell脚本一键安装nginx-1.18.0#!/bin/bashset-euopipefailNGINX_VERSION="1.18.0"DOWNLOAD_URL="https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz"INSTALL_DIR="/apps/nginx"PACKAGE_LIST="gccpcre-developenssl-develz......
  • K8S安装
    1、基础设置1.1关闭防火墙systemctlstopfirewalldsystemctldisablefirewalld1.2关闭selinuxsetenforce0#这个是临时关闭1.3关闭swapswapoff-a#这个是临时关闭2、安装docker2.1卸载旧版本sudoyumremovedockerdocker-clientdocker-client-lates......
  • 用微软商店商店安装 Python
    在安装Python时,除了在官网www.python.org下载,还可以用微软商店下载安装完成后,其目录位于C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps中,这个位置通常已经被添加好了环境变量,所以可以直接启动python。但是,使用pip安装的工具的Script目录下,我们还要把script......
  • 在Linux下安装Anaconda
    1.下载Anaconda安装包在官网中找到自己需要的版本:https://repo.anaconda.com/archive/2.安装Anaconda使用wget指令安装(以我的版本为例):wgethttps://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-x86_64.sh 运行结果如下: 找到你下载后的.sh文件,使用chmod给它赋......
  • 浏览器插件安装
    1、elasticsearch-headchrome插件安装插件获取网址,下载整个项目压缩包,解压后将内容放入自定义命名为elasticsearch-head文件夹。接着点击Chrome右上角选项->工具->管理扩展(或则地址栏输入chrome://extensions/),选择打开“开发者模式”,让后点击“加载已解压得扩展程序”,选择elas......
  • ubuntu安装docker及k8s
    一.安装Docker第一步:更新系统软件包索引sudoaptupdate第二步:安装必要依赖包sudoaptinstallapt-transport-httpsca-certificatescurlgnupglsb-releasesoftware-properties-common第三步:添加Docker官方GPG密钥curl-fsSLhttps://download.docker.com/linux/u......
  • python3下安装mysqlclient各种报错 raise OSError mysql_config not found
    linux下载地址:https://files.pythonhosted.org/packages/a5/e1/e5f2b231c05dc51d9d87fa5066f90d1405345c54b14b0b11a1c859020f21/mysqlclient-2.0.1.tar.gz#sha256=fb2f75aea14722390d2d8ddf384ad99da708c707a96656210a7be8af20a2c5e5在服务器执行pipinstallmysqlclient-2.0.......
  • linux下Mysql安装
    1、安装查看有没有安装过:yumlistinstalledmysql*rpm-qa|grepmysql*查看有没有安装包:yumlistmysql*安装mysql客户端:yuminstallmysql安装mysql服务器端:yuminstallmysql-server 在centOs7中未找到yuminstallmysql-devel2、启动  &&  停止数据......