我构建了一个 debootstrap chroot 并将 /proc 绑定到它,即 sudo mount -o bind /proc <chroot>/proc
当我发现我不再需要它时,我很愚蠢地做了rm -r <chroot>它。当然,rm 拒绝删除 /proc。
现在 umount 表示 /proc 正在使用中,无法卸载。我现在如何卸载它?
谢谢。
我想设置一个仅匿名的 ftp 服务器(能够上传文件)。这是我的配置文件:
listen=YES
anonymous_enable=YES
anon_root=/var/www/ftp
local_enable=YES
write_enable=YESr.
anon_upload_enable=YES
anon_mkdir_write_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
dirmessage_enable=YES
use_localtime=YES
secure_chroot_dir=/var/run/vsftpd/empty
rsa_cert_file=/etc/ssl/private/vsftpd.pem
pam_service_name=vsftpd
Run Code Online (Sandbox Code Playgroud)
但是当我尝试连接它时:
kan@kan:~$ ftp yxxxng.bej
Connected to yxxx.
220 (vsFTPd 2.3.5)
Name (yxxxg.bej:kan): anonymous
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed
Can anyone help ?
Run Code Online (Sandbox Code Playgroud) 随着compatibility_level = 2,最近后缀的版本,为后缀守护程序默认的chroot从改为非chroot环境。虽然该页面描述了它发生了变化以及您可以采取什么措施来继续使用 chroot 或停止使用它,但没有给出任何理由。
他们为什么要更改默认值?在没有 chroot 的情况下运行它有什么优势吗?
我需要更新 ftp 用户的主目录。我可以运行userdel命令然后重新添加用户而不丢失用户附加的目录吗?或者是否有另一种方法来更改用户的目录?
我也没有使用 chroot_list ......
谢谢。
我创建了一个 chroot jail,当我登录时,我收到了 bash 警告 bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
我试图用谷歌搜索错误,但无法找到解决方案
首先,我是一个 linux 新手,所以请不要假设太多的知识。我正在使用 CentOS 5.8(最终版)并使用 OpenSSH 版本 5.8p1。
我已经创建了一个用户playwithbits,我正在尝试将chroot他们转到该目录home/nginx/domains/playwithbits/public
我match在我的sshd_config文件中使用以下语句:
Match group web-root-locked
ChrootDirectory /home/nginx/domains/%u/public
X11Forwarding no
AllowTcpForwarding no
ForceCommand /usr/libexec/openssh/sftp-server
Run Code Online (Sandbox Code Playgroud)
# id playwithbits 返回: uid=504(playwithbits) gid=504(playwithbits) groups=504(playwithbits),507(web-root-locked)
我已将用户的主目录更改为: home/nginx/domains/playwithbits/public
现在,当我尝试与该用户进行 sftp 连接时,我立即收到以下消息: connection closed
有谁知道我做错了什么?
编辑:遵循@Dennis Williamson 的建议,我已在调试模式下进行连接(我认为......如果我错了,请纠正我)。
通过使用chmod递归将所有文件的权限直接设置为 700,我取得了一些进展。现在,当我尝试登录时收到以下消息(仍然拒绝连接):
Connection from [My ip address] port 38737
debug1: Client protocol version 2.0; client software version OpenSSH_5.6
debug1: match: OpenSSH_5.6 pat OpenSSH*
debug1: Enabling compatibility mode for protocol …Run Code Online (Sandbox Code Playgroud) 在文件通过(chrooted)SFTP 成功上传后,我将如何运行脚本?
我使用 PureFTP 处理标准 FTP 连接
http://linux.die.net/man/8/pure-uploadscript
我正在运行 Debian Squeeze
我正在尝试配置 SFTP 服务器以进行一些自动备份。我配置了 Ubuntu 14.04 服务器并取得了部分成功。我想要做的想法是这样的:
我使用以下代码片段在 sshd_config 中创建 Chroot,如下所示:
Match Group sftpbackup
ChrootDirectory /srv/sftpbackup/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
然后我根据要求设置 /srv/sftpbackup 的权限。
# ls -l
total 4
drwxr-x--- 3 root sftpbackup 4096 Jan 5 15:29 user1
#
Run Code Online (Sandbox Code Playgroud)
现在,用户可以登录但无法上传文件(权限被拒绝)。如果我将目录所有权更改为如下所示:
# ls -l
total 4
drwxrwx--- 3 user1 sftpbackup 4096 Jan 5 15:29 user1
#
Run Code Online (Sandbox Code Playgroud)
然后用户无法登录,从auth.log:
sshd[14835]: fatal: bad ownership or modes for chroot directory "/srv/sftpbackup/user1"
Run Code Online (Sandbox Code Playgroud)
看起来,如果用户的主目录是 SFTP chroot,则 root 必须拥有该目录,因此必须创建一个子目录,以便用户可以对其进行写入。
有没有办法让根可写?看了各种网站,似乎都没有办法实现我想要的。我不太明白用户可写 chroot 目录和子目录可写之间有什么区别。如有见解,将不胜感激。 …
我正在构建一个 php-fpm chroot,并且在我称之为成功之前的最后一步之一。
php-fpm chroot 就像一个魅力。另外,我在 chroot 中安装了mini_sendmail(代替了库存的 sendmail)并且可以确认它可以发送电子邮件:
[root@hostname site1.com]# ls bin/
bash cat sendmail test.txt
[root@hostname site1.com]# chroot .
bash-4.2# cat /bin/test.txt | ./bin/sendmail -t -i -fme@site1.com me@my-email.com
Run Code Online (Sandbox Code Playgroud)
运行上述命令时,我收到了电子邮件。
但是,当我从 Web 浏览器访问以下 php 脚本时,没有发送电子邮件:
<?php
$message = "This is a test";
$headers = 'From: me@site1.com';
mail("me@my-email.com", "Test", $message, $headers);
echo "mail sent";
?>
Run Code Online (Sandbox Code Playgroud)
下面是我的 php-fpm chroot 池配置文件:
[site1.com]
user = user1
group = user1
listen = 127.0.0.1:9001
listen.owner = user1
listen.group = user1
php_admin_value[disable_functions] = exec,passthru,shell_exec,system …Run Code Online (Sandbox Code Playgroud) 我目前有一个 WORKING SFTP 登录,使用私钥进行登录,并且用户被 chroot 到他们的主目录。
目标:保留用户 chroot 但允许 WRITE 访问相对 chroot 目录,而无需在任何地方指定任何路径或 cd。
换句话说,当 sftp 用户登录时,我不希望他们必须 cd 到另一个路径才能上传文件。
由于 chroot 目录需要完全的 root 所有权(由于 chroot 设计),我不确定这是否可能。
在 /etc/passwd 中:
sftpuser:x:1006:1006:,,,:/home/sftpuser:/bin/false
用户登录公钥位于:
/home/sftpuser/.ssh/authorized_keys
sshd_confg 中的 Chroot 规则:
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTCPForwarding no
X11Forwarding no
Run Code Online (Sandbox Code Playgroud)
主目录权限:
# ls -l /home/ |grep sftpuser
drwxr-xr-x 5 root root 4096 May 4 11:24 sftpuser
# ls -l /home/sftpuser/
total 4
drwxrw-r-x 3 sftpuser sftpuser 4096 May 4 11:23 sftp_share
Run Code Online (Sandbox Code Playgroud)
当前工作流程示例: …