我在我的 VPS 上设置了 vsftpd,我不希望用户被允许离开他们的 ftp 主目录。我使用的是 local_user ftp,而不是匿名的,所以我补充说:
chroot_local_user=是
我在很多论坛帖子中都读过,这是不安全的。
我有一台运行Ubuntu 12.10 x64的服务器,以及最新版本的 vsFTPd。
我的用户example.com有其主文件夹设置上/var/www/example.com
,
我在里面创建了一个 public_html 文件夹并赋予777
它权限,并删除了家庭用户文件夹的写入权限。一切正常,但是:
我通过 FTP(使用 SmartFTP)上传的每个文件的 chmod 都为 0。
我vsftpd.conf
只有一行相关:
local_umask=022.
Run Code Online (Sandbox Code Playgroud)
我尝试更改为:
file_open_mode=777
local_umask=002
Run Code Online (Sandbox Code Playgroud)
所以我的文件会775
在上传后立即得到。
但只有我上传的文件夹才能获得775
权限。
我上传的文件得到 1411 permissions
有人可以帮我解决这个问题吗?
如何将创建的目录和文件的默认值设置为 775 ?我的理解是我需要修改VSFTPD上的umask,但是我怎么知道要改成什么?
我正在尝试在 CentOS 5.3 x64 上设置 vsftpd 服务器。我无法让任何本地用户登录工作。这是我的 vsftpd.conf:
local_enable=YES
write_enable=YES
pam_service_name=vsftpd
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
xferlog_std_format=NO
log_ftp_protocol=YES
chroot_local_user=YES
Run Code Online (Sandbox Code Playgroud)
这是 vsftp.log 的输出:
Mon Sep 13 23:34:44 2010 [pid 19243] CONNECT: Client "10.0.1.138"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP response: Client "10.0.1.138", "220 (vsFTPd 2.0.5)"
Mon Sep 13 23:34:44 2010 [pid 19243] FTP command: Client "10.0.1.138", "USER dwelch"
Mon Sep 13 23:34:44 2010 [pid 19243] [dwelch] FTP response: Client "10.0.1.138", "331 Please specify the password."
Mon Sep 13 23:34:44 2010 [pid …
Run Code Online (Sandbox Code Playgroud) 我想为几个 ftp-only 用户设置一个 ftp vsftpd
。我配置了 FTP 以启用本地用户访问。它工作正常。但是一旦我将用户的 shell 编辑为/usr/sbin/nologin
,它就无法登录到 FTP 并出现以下错误:
Response: 220 Welcome to the Scent Library's File Service.
Command: USER marketftp
Response: 331 Please specify the password.
Command: PASS ******
Response: 530 Login incorrect.
Run Code Online (Sandbox Code Playgroud)
这是我所做的:
所有 ftp-only 用户都将/srv/ftp
作为他们的主目录。目录信息是
/srv/ftp: drwxr-xr-x 3 root slftp 4.0K 2012-02-09 17:20 ftp/
所有 ftp-only 用户都将在该组中slftp
;
我创建了用户adduser
并最终得到了这个/etc/passwd
条目:marketftp:x:1001:1001::/srv/ftp:/usr/sbin/nologin
这在/etc/group
:slftp:x:1001:marketftp
在vsftpd
与下列配置为限制用户自己的家,除了在本地用户vsftpd.chroot_list
:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Run Code Online (Sandbox Code Playgroud)我的问题在哪里?由于普通本地用户可以登录FTP,所以连接正常。但是为什么只有 ftp 的用户不能登录?
当我尝试连接到 FTP 服务器时,我得到: “500 OOPS:无法更改目录:/home/$USER/public_html”
我正在运行 vsftpd 2.2.2 和 Ubuntu 10.04.1 LTS 版本:10.04 代号:lucid
我有一个需要 FTP 且无法执行 SFTP 的旧版应用程序。
我的解决办法是:
我想知道我是否可以将 VSFTPD 配置为除了防火墙之外忽略来自除本地主机之外的任何地方的连接。腰带和护腕都有。
我已经成功地将 vsftpd 与通过 PAM 连接到我的 mysql 数据库的虚拟用户一起使用。现在我想通过成功的 vsftpd 连接自动创建用户目录。
这是 /etc/pam.d/vsftpd 配置:
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3
account required pam_mysql.so verbose=1 user=root passwd=mypass host=localhost db=mydb table=mytable usercolumn=username passwdcolumn=password crypt=3
session required pam_mkhomedir.so skel=/home/skel/ umask=0022 debug
Run Code Online (Sandbox Code Playgroud)
现在添加 pam_mkhomedir 只是表明它无法创建目录,任何日志中都没有其他消息。所以它显然不适用。还有什么我需要的吗?
我的/etc/vsftpd/vsftpd.conf:
# No ANONYMOUS users allowed
anonymous_enable=NO
# Allow 'local' users with WRITE permissions (0755)
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
xferlog_enable=YES
connect_from_port_20=YES
# define a unique user on your system …
Run Code Online (Sandbox Code Playgroud) 如何为 vsftpd 用户的上传设置默认组?
当我上传文件时,文件组设置为用户名...如何让它自动设置为特定组?
我有一个在 CentOS 6.2 上运行的 Nagios XI 安装,并且想要修改备份脚本。我注意到为这个 shell 脚本设置了扩展属性位,所以我想确保在更改它时不会弄乱任何东西。我进行了试验,发现“cp -p”不保留此设置(请参阅有关此更新的评论)。我是 Linux 上扩展属性的新手,发现有一个命令 'getfattr' 应该显示扩展属性,但是它不显示此文件的任何内容。
cd /usr/local/nagiosxi/scripts
ll backup_xi.sh
-rwxr-x---. 1 nagios nagios 2757 Jul 3 10:03 backup_xi.sh*
# nothing is displayed by 'getfattr':
getfattr -d backup_xi.sh
# and nothing special seems to be present according to 'getfacl':
getfacl backup_xi.sh
# file: backup_xi.sh
# owner: nagios
# group: nagios
user::rwx
group::r-x
other::---
Run Code Online (Sandbox Code Playgroud)
最终,我的目标是修改文件,同时保留原始产品安装期间设置的任何属性。是否有设置扩展属性位的原因,即使根据 getfattr 显然没有任何属性?