『壹』 如何在linux 服务器上做FTP。请指教。
ftp服务器的配置
ftp 叫做文件传输协议 他已经有40年的历史了 它以明文的形式进行传输的
ftp的端口号是21
当端口号为21 时:是以命令控制. 发送命令来执行的
20时: 是数据控制 ,提供数据的下载上传
ftp的模式: 分为 主的模式 与控制模式
ftp数据的传输格式 accii 二进制
ftp的用户类型 :匿名用户:anonymous或ftp
本地用户:帐号名称、密码等信息保存在passwd、shadow文件中
虚拟用户:使用独立的账号/密码数据文件
常见的ftp服务器程序
iis serv-u wu-ftpd proftpd
vsftpd rery ecare ftp daemon 这几种是linux常用的
常见的ftp客户端程序
GuteFTP Flashftf leapFTP FILEzilla
gftp kufp
在linux中我们常用的一款ftp服务器软件就是vsftp 现在我们就介绍一下它的用法
vsftp的官方站点时http://vsftpd.beasts.org
主程序在/usr/sbin/vsftpd
服务器名是vsftpd
如果你的l主机没有vsftpd这款软件 你可以到官方进行下载安装,安装的方法我们在这里不提了。linux人都知道
vsftpd的配置 其中vsftpd的主配置文件在 /usr/sbin/vsftpd
用户控制列表文件:
/etc/vsftpd/ftpusers 禁止登陆的ftp 用户列表
/etc/viftpd/user_list 仅提供一份ftp用户列表,是否禁止登陆取决于主配置文件中的设置
下面我们介绍一下构建基于虚拟用户的vsftpd服务器 它大体分为7部
1.建立虚拟FTP用户的帐号数据库文件
2.创建FTP根目录及虚拟用户映射的系统用户
3.建立支持虚拟用户的PAM认证文件
4.在vsftpd.conf文件中添加支持配置
5.为个别虚拟用户建立独立的配置文件
6.重新加载vsftpd配置
7.使用虚拟FTP账户访问测试
1:建立虚拟ftp用户的账号数据库文件
建立虚拟用户的账号名 密码列表
vim /etc/vsftpd/vusers.list
随便填写几组密码 定义可以访问的ftp账号
如:AA //账号
124 密码
BB
321
但是ftp并不认识这些虚拟账户密码 我们要用一款软件把它转换成,这款软件是db4-utils 如果你的机子没有。去网上下载安装一下,安装方法很简单
yum install –y db4-utils 安装完了,我们就可以用它了
db_load -T -t hash -f vusers.list vusers.db
更改文件的权限 chown 600 /etc/vsftpd/vusers.*
2 创建ftp 根目录及虚拟用户映射的系统用户
新建目录 mkdir /var/ftproot
创建用户 useradd –d /var/ftproot –s /sbin/nologin virtual
chmod 755 /var/ftproot./
3 建立支持虚拟用户的pam 认证文件
vim /etc/pam.d/vsftpd.vu
写入下面内容
#%PAM-1.0
auth requirel pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
4. 在vsftpd.conf文件中添加支持配置
[root@filesvr ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
5.为个别虚拟用户建立独立的配置文件
在vsftpd.conf文件中添加用户配置目录支持
user_config_dir=/etc/vsftpd/vusers_dir
为用户mike、john建立独立的配置目录及文件
配置文件名与用户名同名
[root@filesvr ~]# mkdir /etc/vsftpd/vusers_dir/
[root@filesvr ~]# cd /etc/vsftpd/vusers_dir/
[root@filesvr vusers_dir]# touch mike
[root@filesvr vusers_dir]# vi john
anon_upload_enable=YES
anon_mkdir_write_enable=YES
6.重新加载vsftpd配置
service vsftpd reload
7.使用虚拟FTP账户访问测试
分别用mike、john用户登录FTP服务器进行下载、上传测试
mike用户可以登录,并可以浏览、下载文件,但无法上传
john用户可以登录,并可以浏览、下载文件,也可以上传
匿名用户或其他系统用户将不能登录
『贰』 如何在Linux系统上管理Systemd服务
(1) 什么是单元 在RHEL7之前,服务管理是分布式的被SysV init或UpStart通过/etc/rc.d/init.d下的脚本管理。这些脚本是经典的Bash脚本,允许管理员控制服务的状态。在RHEL7中,这些脚本被服务单元文件替换。 在systemd中,服务、挂载等资源统一被称为单元,所以systemd中有许多单元类型,服务单元文件的扩展名是.service,同脚本的功能相似。例如有查看、启动、停止、重启、启用或者禁止服务的参数。 systemd单元文件放置位置: /usr/lib/systemd/system/systemd默认单元文件安装目录 /run/systemd/systemsystemdsystemd单元运行时创建,这个目录优先于按照目录 /etc/systemd/system系统管理员创建和管理的单元目录,优先级最高。 (2)systemd的服务管理 使用systemcl命令可以控制服务,service命令和chkconfig命令依然可以使用,但是主要是出于兼容的原因,应该尽量避免使用。 使用systemctl命令的时候,服务名字的扩展名可以写全,例如: 代码如下: systemctl stop bluuetooth.service 也可以忽略,例如: 代码如下: systemctl stop bluetooth systemctl常用命令: 启动服务 代码如下: systemctl start name.service 关闭服务 代码如下: systemctl stop name.service 重启服务 代码如下: systemctl restar tname.service 仅当服务运行的时候,重启服务 代码如下: systemctl try-restart name.service 重新加载服务配置文件 代码如下: systemctl relaod name.service 检查服务运作状态 代码如下: systemctl status name.service 或者 代码如下: systemctl is-active name.service 展示所有服务状态详细信息 复制代码 代码如下: systemctl list-units--type service --all 允许服务开机启动 代码如下: systemctl enable name.service 禁止服务开机启动 代码如下: systemclt disable name.service 检查服务开机启动状态 代码如下: systemctl status name.service 或者 代码如下: systemctl is-enabled name.service 列出所有服务并且检查是否开机启动 代码如下: systemctl list-unit-files --type service (3)服务详细信息查看 使用如下命令列出服务: 代码如下: systemctl list-units --type service 默认只列出处于激活状态的服务,如果希望看到所有的服务,使用--all或-a参数: 代码如下: systemctl list-units--type service --all 有时候希望看到所以可以设置开机启动的服务,使用如下命令: 代码如下: systemctl list-unit-files --type service 查看服务详细信息,使用如下命令: 代码如下: systemctl status name.service 服务信息关键词解释 Loaded服务已经被加载,显示单元文件绝对路径,标志单元文件可用。 Active服务已经被运行,并且有启动时间信息。 Main PID与进程名字一致的PID,主进程PID。 Status服务的附件信息。 Process相关进程的附件信息。 CGroup进程的CGroup信息。