1、镜像下载地址:
https://mirrors.tuna.tsinghua.edu.cn/ubuntukylin-cdimage/
该地址下有22.04和20.04两个版本的镜像,22.04一堆坑不建议使用。
2、root用户登录设置
-
修改root密码
银河麒麟系统默认是不能使用root用户登录图形化界面,因此当需要用到root用户进行操作图形化界面时会相对比较麻烦。
无初始用户:使用终端,输入命令 sudo passwd root回车, 设置新的密码(22.04)。
如果你有一个初始的用户,那么还需要先输入初始用户的密码(20.04)。
-
修改 95-ukui-greeter.conf 文件
在终端中输入命令以vim编辑器打开95-ukui-greeter.conf文件
// 修改95-ukui-greeter.conf文件 sudo vim /usr/share/lightdm/lightdm.conf.d/95-ukui-greeter.conf
进入95-ukui-greeter.conf文件后通过“i”键编辑文件,在user-session=ukui 一行后重启一行插入以下两行、插入后按“esc”退出插入模式,按住“shift键”双击“z”,保存退出并返回终端
// 需要插入的两行 greeter-show-manual-login=true all-guest=false
-
修改 .profile 文件
// 修改.profile 文件 sudo vim /root/.profile
进入.profile文件后通过“i”键进入插入模式,修改 如图标出的一行 、修改后按“esc”退出插入模式,按住“shift键”双击“z”,保存退出并返回终端
tty -s && mesg n || true
重新启动银河麒麟界面、启动右下角相比之前多出一个图标,点击多出的图标并选中登录,输入用户名和密码登录
3、虚拟机关机/重启后自动还原的问题解决方案
虚拟机设置——硬件——磁盘——高级:
虚拟机设置——硬件——磁盘——高级里面有一个模式的设置,勾选“独立”
下面有两个选项:永久(所做更改立即永久写入磁盘)和非永久(关闭虚拟机或还原快照时,对磁盘所做更改将被放弃。)
新建虚拟机时勾选非永久选项,会导致每次关闭虚拟机再重启之后,所有的更改全部丢失——虚拟机还原了。
所以先关闭虚拟机,然后在虚拟机设置——硬件——磁盘——高级中选择“永久”。即可解决。
4、ssh server 安装
安装ssh server: sudo apt-get install openssh-server 安装完后查看ssh server是否启动 sudo /etc/init.d/ssh status 启动ssh server sudo /etc/init.d/ssh start
5、VSFTPD服务的安装配置
https://blog.csdn.net/xnsnyncj_linux/article/details/126274871
1、查看是否安装vsftpd: 输入vsftpd
2、安装vsftpd: sudo apt install vsftpd, 输入密码。
3、配置FTP,修改VSFTPD的配置文件(vsftpd.conf)。
终端输入vim /etc/vsftpd.conf ,修改文件参数,按i进入编辑状态,根据自己的需求修改配置。
listen=YES listen_address=192.168.***.*** listen_port=5021 connect_from_port_20=YES #启动IPV4地址的监听 #监听地址:自己电脑的IP地址 #监听端口:默认为21,建议修改至更高,提高他人找寻难度。 #确定数据端口为20。跟电路中弱电控制强电是一个逻辑。21端口是信息端口,接受连接、登录、离线等各种控制信息。20端口是数据端口,上传下载的文件就是通过这个端口传输。 local_enable=YES write_enable=YES local_umask=022 #允许本地用户登录,设置的多个虚拟用户需要集中寄托于一个本地用户。 #允许写入修改功能。 #本地用户的掩码:022对应本地用户创建新目录和文件的权限755。掩码等级 对应 权限等级(有特殊需求可自行对应修改),使用默认值022就行。 anon_upload_enable=NO anon_mkdir_write_enable=NO #匿名用户上传文件:拒绝 #匿名用户创建修改文件:拒绝。我们是虚拟用户模式,需要账号密码登录。 pasv_enable=YES pasv_min_port=50210 pasv_max_port=50310 pasv_address=192.168.***.*** #启动被动(PASV)模式。经过网上查询有主动、被动两种模式,其中被动模式比较适用。被动模式:客户端拿着开放的端口找服务器。主动模式:服务器拿着开放端口找客户端。网上解释:因为大部分客户端都是在路由器后面,没有独立的公网IP地址,服务器想要主动连接客户端,难度太大,在现在真实的互联网环境里面几乎是不可能完成的任务。简单的说:一个单位的某人找另一个单位对接,很容易(一查地址就行),一个单位想找另个单位的某人,很麻烦(要先打通单位的座机,再拿着人名问手机号) #端口号最低线多少。 #端口号最高线多少,之间就是客户端可以对接的 #被动模式中,客户端找服务器的地址。 dirmessage_enable=YES #启动之后,初次登录FTP,系统会自动扫描目录、查找文件.message,并显示.message文件里面的信息,没有则就不显示,也没有什么影响。如果想搞个装逼的欢迎仪式,可以研究研究。 use_localtime=YES #启用本地时间,一般都使用本地时间,有跨国业务的,有时差的地区,可以关注该设置参数。 xferlog_enable=YES xferlog_std_format=YES xferlog_file=/var/log/vsftpd.log #启动日志功能,可以看到用户上传下载信息。 #启用标准日志格式。 #日志文件vsftpd.log的存放路径/var/log/vsftpd.log,爱存哪里就存哪里,可以自定义修改。 tcp_wrappers=YES #开启IP的黑白名单。仅仅两个配置(允许、拒绝)文件:/etc/hosts.allow和/etc/hosts.deny chown_uploads=NO #NO=禁止上传文件更改宿主,YES=允许上传文件更改宿主 idle_session_timeout=360000 data_connection_timeout=360000 #超过多少秒,信号端口没有动静,踢掉。连上了什么都不做,占我服务器资源,踢掉。 #超过多少秒,数据端口没有动静,踢掉。下载下一半掉网了,连了一会不下载了,踢掉。 guest_enable=YES guest_username=vur virtual_use_local_privs=YES allow_writeable_chroot=YES user_config_dir=/etc/vsftpd/vconf #启动虚拟用户模式。 #设置的虚拟用户集中映射在vur本地用户上。虚拟的灵魂需要一个实际的载体。 #虚拟用户和本地用户可以拥有同等权限。 #不允许虚拟用户离开自己的访问根目录。修改虚拟用户的配置文件可以满足不同的需求,比如权限不一样,访问目录不一样。 #在vsftpd目录中专门建立的一个vconf目录,用于专门存放各个虚拟用户相应配置文件。我们现在编辑的是主配置文件,后面编辑虚拟用户配置文件。 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list #用户将被限制在其用户的主目录之内,不得跳出。 #启用名单通行制度。YES则启用白名单。NO则启动黑名单。chroot_local_user与chroot_list_enable的不同组合,可以带来四种的功能。1.名单上的用户受限制。2.名单上的用户不受限制。3.名单之外的用户受限制。4.名单之外的用户不受限制。 #vsftpd.chroot_list名单文件的存放路径/etc/vsftpd.chroot_list,同样是爱存哪就存哪,没有这个文件就必须创建一个同名文件(TXT格式就行,每行放一个用户名就行)。(我电脑的这个列表文件是空的,设置了个寂寞。但是不影响使用大的安全,因为设置了虚拟用户不能跳出FTP的根目录。) ascii_upload_enable=YES ascii_download_enable=YES #允许以ASCII编码形式,上传文件。 #允许以ASCII编码形式,下载文件。 ls_recurse_enable=NO #不允许使用“ls -R”这个命令。ls就是列出目录清单的命令,ls -R就是列出所有目录和所有文件清单的命令。对于大型的FTP服务器,里面有很多目录和很多文件。如果所有进来的人都要服务器列一遍所有目录和文件,到最后只下载一个文件,服务器这就很崩溃,你在玩我呢。 secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd #验证机制 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO #以上三行参数没有改动,也没搞清楚实际用途,不影响现有需求。 utf8_filesystem=YES #启用utf8编码模式。统一标准可以防止上传或下载文件的中文名称发生乱码。
4、补充添加本地用户vur
在终端输入adduser vur,按提示输入相关信息(连续回车),即可创建本地用户vur。
注:因为虚拟用户需要集中映射到本地用户,所以需要创建本地用户vur。vur这个名字是常用的(可以改成自己喜欢的,但是配置文件中要同步修改),翻译过来也是虚拟virtual user。
5、配置账号密码验证机制
1.建立FTP目录和账号密码文件
终端输入:cd /etc
#跳转到etc目录中
mkdir vsftpd
#创建名为vsftpd的目录
cd vsftpd
#跳转到vsftpd目录中
vim vur_list
#创建vur_list文件(txt),并打开编辑。名称定为vur_list是方便管理和记忆。vur是本地用户名,_list是列表文件的意思。
按i进入编辑模式。
第一行 为虚拟用户1的账号,第二行为虚拟用户1的密码。
第三行 为虚拟用户2的账号,第四行为虚拟用户2的密码。
以此类推
按ESC,退出编辑模式,输入:wq,进行保存并退出。
这里配置的账号密码就是在宿主机中连接时使用的账号密码
2.把TXT文件转db库文件
把vur_list文本文件转换为vur_list.db数据库文件
使用db_load命令,把账号密码文本文件(vur_list),用HASH算法生成FTP用户数据库文件(vur_list.db)
终端在vsftpd目录下,输入:
db_load -T -t hash -f vur_list vur_list.db (这里修改了原博主的.txt后缀)
没安装db_load 程序,没关系。
直接输入命令安装:apt install db-util
也许是因为我把配置文件的权限全部打开了,操作到这一步时我就可以使用filezilla连通虚拟机上传文件了,后续操作并没有跟进。
6、安装docker和dockerCompose
首先,我们需要安装Docker。只需执行以下命令即可: sudo apt-get update # 更新系统软件包 sudo apt-get install docker.io # 安装docker 验证安装是否成功: docker version 将制作好的镜像导出导入 docker save -o <output_file> <image_id_or_name> docker load -i <input_file> 安装dockerCompose apt install docker-compose 在有配置好的docker-compose.yml文件的目录下执行docker-compose up -d