当前位置:首页 » 文件管理 » linuxftpdirectory

linuxftpdirectory

发布时间: 2022-12-31 21:59:54

① 如何在linux上配置ftp 及创建 ftp用户

做一个虚拟账户就解决了:
步骤如下:
1、建立虚拟用户口令库文件
口令库文件中奇数行设置用户名,偶数行设置口令
# vi /etc/vsftpd/logins.txt 注意,一下是4行
upload 这个是帐户名
upload 这个是密码
download
download
2、生成vsftpd的认证文件
# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
设置认证文件只对用户可读可写
# chmod 600 /etc/vsftpd/vsftpd_login.db
3、建立虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:以上2行中最后的2个文件名vsftpd_login和第2个步骤中的数据库名字必须一致!
4、建立虚拟用户所要访问的目录并设置相应权限
# mkdir /home/ftpsite
# useradd -d /home/ftpsite virtual(用户名)
# chown virtual:virtual /home/ftpsite
# chmod 700 /home/ftpsite/
5、设置vsftpd.conf配置文件
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
6、设置主配置文件
在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf
# service vsftpd restart
7、建立用户配置文件目录
使用mkdir命令建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
为虚拟用户建立单独的配置文件,用户配置文件名称与用户名相同
touch /etc/vsftpd_user_conf/upload
touch /etc/vsftpd_user_conf/download
8、每个FTP虚拟用户都可以独立设置其权限
vi /etc/vsftpd_user_conf/upload
anon_world_readable_only=NO 可读可下载
anon_upload_enable=YES 可上传
anon_mkdir_write_enable=YES 可创建和删除文件夹
anon_other_write_enable=YES 可文件改名和删除文件
local_root=/home/ftpsite/upload 指定upload的宿主目录
download_enable=NO 禁止下载
(注意:请先到/home/ftpsite下面去创建upload文件夹)

② Linux 下ftp命令问题。

# $1 = Remote host
# $2 = Remote user
# $3 = Remote password
# $4 = Remote directory
ftp -n -i << EOF
open $1
user $2 $3
cd $4
ls
close
bye
EOF

# $1 = FTP host
# $2 = FTP user
# $3 = FTP password
# $4 = 1st directory/file name
# $5 = 2nd directory/file name
# $6 = get / put
ftp -n -i << EOF
open $1
user $2 $3
binary
$6 $4 $5
close
bye
EOF

③ linux系统怎么打开ftp地址

1. 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:
#which vsftpd
如果看到有vsftpd的目录说明服务器已经安装了ftp软件

2. 查看ftp 服务器状态
#service vsftpd status

3. 启动ftp服务器
#service vsftpd start

4. 重启ftp服务器
#service vsftpd restart

5. 查看服务有没有启动
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,证明ftp服务已经开启。

6.如果需要开启root用户的ftp权限要修改以下两个文件
#vi /etc/vsftpd.ftpusers中注释掉root
#vi /etc/vsftpd.user_list中也注释掉root
然后重新启动ftp服务。

7. vsftpd 500 OOPS: cannot change directory
登陆报错:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解决方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!

这是SELinux的设置命令,在不熟悉SELnux前,把SELinux关掉也可以的。

8. 永久开启,即os重启后自动开启ftp服务
方法一:
cd /etc/xinetd.d ,编辑ftp服务的配置文件gssftp的设置:
vi /etc/xinetd.d/gssftp ,将 修改两项内容:

(a) server_args = -l –a 去掉-a 改为server_args = -l
(b) disable=yes改为disable=no
(c) 保存退出。

方法二:
(a) system-config-services , 进入图形界面的System services查看是否有 vsftpd项,如果没有转到2.,保存后退出

(b) 用redhat第三张盘 安装此服务(开始--删除/增加程序),200K左右

(c) #setup
此时能看到vsftpd项,此时选中此services项,保存后退出

④ linux服务器中某个文件ftp怎么设置

配置ftp有三种模式,但是这里字数有限,下面这个是匿名的。详细的你可以看下最后那个连接

vsftpd服务程序中匿名开放是一种最不安全的验证模式,任何人都可以无需密码验证就登陆到FTP服务端主机,这种模式一般只用来保存不重要的公开文件,尤其是在生产环境中更要注意不放敏感文件,当然也非常推荐用咱们第八章中学习的防火墙管理工具(例如Tcp_wrappers)将vsftpd服务程序的允许访问主机范围设置为企业内网,这样还算能够保证基本的安全性。

vsftpd服务程序默认已经开启了匿名访问模式,咱们需要做的就是进一步允许匿名用户的上传、下载文件的权限,以及让匿名用户能够创建、删除、更名文件的权限,这些权限对于匿名用户来讲非常的危险,咱们只是为了练习Linux系统中vsftpd服务程序的配置能力,十分不推荐在生产环境中使用,匿名用户的权限参数及介绍:

参数
作用

anonymous_enable=YES
允许匿名访问模式。

anon_umask=022
匿名用户上传文件的umask值。

anon_upload_enable=YES
允许匿名用户上传文件

anon_mkdir_write_enable=YES
允许匿名用户创建目录

anon_other_write_enable=YES
允许匿名用户修改目录名或删除目录
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

确认参数填写正确后保存并退出vsftpd服务程序的主配置文件,还需要重启vsftpd服务程序来让新的配置服务参数生效,并且同学们在生产环境中或者红帽RHCSA、RHCE、RHCA认证考试中也请记得一定要把配置过的服务程序加入到开机启动项中,以保证下次服务器重启后依然能够为用户正常提供ftp文件传输服务:
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service

这样咱们就可以在客户端上面使用ftp命令连接到远程的FTP服务器上面了,FTP服务的匿名开放模式的帐号统一为anonymous,密码为空。匿名模式登陆到FTP服务器后默认所在位置为/var/ftp目录,咱们可以切换至里面的pub目录中,然后尝试创建一个新的目录文件来检验是否已经有了写入权限:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此处敲击回车即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Permission denied.

刚刚咱们已经把iptables防火墙策略清空,而且也在vsftpd服务程序的主配置文件中添加了允许匿名用户创建目录和写入文件的权限,那么为什么还会被拒绝呢?建议同学们先不要往下面看,思考后用自己的方法尝试解决下这个问题,长期这样您的Linux系统排错能力就一定会练出来的。

回想起前面操作的细节,咱们FTP服务的匿名开放模式是默认登陆到了/var/ftp目录中,查看下这个目录的权限后才发现原来只有root管理员用户才有写入权限的,怪不得会提示写入出错呢,咱们只需要把目录的所有者身份改成系统帐户ftp即可,这样就应该可以了吧~
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 root root 16 Jul 13 14:38 /var/ftp/pub
[root@linuxprobe ~]# chown -Rf ftp /var/ftp/pub
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 ftp root 16 Jul 13 14:38 /var/ftp/pub
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此处敲击回车即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Create directory operation failed.

又报错了!!此时再次使用ftp命令登入到FTP服务器主机后依然会提示写入操作失败,但细心的同学一定发现报错信息已经产生了变化,在刚刚没有写入权限的时候提示说权限拒绝(Permission denied.)所以咱们怀疑是权限的问题,但现在是提示创建目录的操作失败(Create directory operation failed.)那么咱们同学应该也能马上意识到是SELinux服务在限制这个操作了吧,查看下所有与ftp相关的SELinux域策略有那些吧:
[root@linuxprobe ~]# getsebool -a | grep ftp
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off

根据策略的名称和经验可以猜测出是哪一条规则策略,咱们在设置的时候请记得使用-P参数来让配置过的策略永久生效,保证在服务器重启后依然能够顺利写入文件,咱们可以分别尝试下创建目录文件、对文件进行改名以及删除目录文件等等操作。最后,恭喜同学们完成了这个实验课程,建议您在进行一次实验课程前还原虚拟机到最初始的状态,以免多个配置参数之间产生冲突。
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此处敲击回车即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
257 "/pub/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.

楼主可以看下http://www.linuxprobe.com/chapter-11.html#112_Vsftpd查看下详情,有图会比较方便理解

⑤ linux的ftp服务器怎么用

1.启动FTP服务器

/sbin/servicevsftpdstart
为vsftpd启动vsftpd:[确定]

2.在/var/ftp/pub目录下创建一个名为test.txt的文件,文件内容为“This is a test
file”。
3.测试使用Linux下FTP
使用FTP客户端登录到本地服务器,然后以匿名身份(anonymous)登录:

ftp127.0.0.1
Connectedto127.0.0.1(127.0.0.1).
220(vsFTPd1.1.3)
Name(127.0.0.1:root):anonymous
331Pleasespecifythepassword.
Password:
230Loginsuccessful.Havefun.
RemotesystemtypeisUNIX.
.
#这样就成功地登录到FTP服务器。

4.可以显示服务器目录列表如下:

ftp>ls
227EnteringPassiveMode(127,0,0,1,63,15)
drwxr-xr-x2004096Dec0401:35pub
226DirectorysendOK.

5.切换到pub目录下,并显示目录内容,可以找到刚才创建的文件test.txt:

ftp>cdpub
.
ftp>ls
227EnteringPassiveMode(127,0,0,1,232,34)
.
-rw-r--r--10021Dec0401:35test.txt
226DirectorysendOK.

6.下载test.txt文件:

ftp>mgettest.txt
mgettest.txty
227EnteringPassiveMode(127,0,0,1,186,210)
.txt(21bytes).
226FilesendOK.
21bytesreceivedin0.0108secs(1.9Kbytes/sec)

7.查看本机目录内容,可以看到test.txt已成功下载到本机。

ftp>ls
aEIO_.txt
binetclibmymntroottmp
boothomelost+foundmysharesbinusr
devid_dsas.pubmiscopttest.txtvar

8.退出FTP登录:

ftp>bye
221Goodbye.

⑥ linux 怎么做ftp服务器

1.运行以下命令安装 vsftpd。
yum install -y vsftpd
2.运行以下命令打开及查看etc/vsftpd
cd /etc/vsftpd
ls
说明:
/etc/vsftpd/vsftpd.conf 是核心配置文件。
/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。
/etc/vsftpd/user_list 是白名单文件,是允许访问 FTP 服务器的用户列表。
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置
备注:使用命令 rpm -ql vsftpd 可列出vsftpd中包含的文件
3.运行以下命令设置开机自启动。
systemctl enable vsftpd
4.运行以下命令启动 FTP 服务。
systemctl start vsftpd
5.运行以下命令查看 FTP 服务端口。
netstat -antup | grep ftp
6.配置本地用户登录
本地用户登录就是指用户使用 Linux 操作系统中的用户账号和密码登录 FTP 服务器。
vsftpd 安装后默只支持匿名 FTP 登录,用户如果试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 拒绝,但可以在 vsftpd 里配置用户账号和密码登录。具体步骤如下:
a.运行以下命令创建 ftptest 用户。
useradd ftptest
(删除用户命令:sudo userdel -r newuser)
b.运行以下命令修改 ftptest 用户密码。
passwd ftptest
7.修改/etc/vsftpd/vsftpd.conf
a.运行vim /etc/vsftpd/vsftpd.conf。
b.按键 “i” 进入编辑模式。
c.将是否允许匿名登录 FTP 的参数修改为anonymous enable=NO。
d.将是否允许本地用户登录 FTP 的参数修改为local_enable=YES。
e.按键 “Esc” 退出编辑模式,然后按键“:wq” 保存并退出文件。
f.运行命令 cat /etc/vsftpd/vsftpd.conf 查看配置文件内容。 命令的使用方法可查询“Linux命令大全”。

⑦ 如何在linux下开启FTP服务

Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令rpm -qa |grepvsftpd来查看是否安装相应的包,如果没有安装那么可以执行yum-yinstallvsftpd来安装,安装之后首先创建ftp用户,比如ftp_test,命令如下:

useradd-s/sbin/nologin-d/home/ftp_testftp_test

目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建,否则权限会有问题,执行命令的时候会自动创建,

现在可以看到上面的路径是一个/,对于ftp用户来说也就是根目录了,只能在这个目录下操作,而无法跳出这个目录

以上就是vsftpd服务的基本搭建过程,实际使用时可以分配多个用户

热点内容
对象存储使用场景 发布:2025-08-25 04:55:09 浏览:489
装wf锁了一般原始密码是多少 发布:2025-08-25 04:40:14 浏览:356
sql转mysql 发布:2025-08-25 04:40:12 浏览:881
交互性编程 发布:2025-08-25 04:33:01 浏览:959
编译器一般多少行代码 发布:2025-08-25 04:32:28 浏览:768
asp班级源码 发布:2025-08-25 04:28:06 浏览:503
python连接redis集群 发布:2025-08-25 03:52:28 浏览:860
易语言邮箱在云服务器上 发布:2025-08-25 03:18:56 浏览:534
一刀辅助脚本 发布:2025-08-25 03:13:53 浏览:30
彩虹源码对接 发布:2025-08-25 02:12:19 浏览:903