Chrooted SFTP user - разрешение на запись запрещено даже для владельца

В выпуске CentOS 6.5 (Final) я создал ограниченный пользовательский тест1

useradd -s /bin/false test1

и настроил ssd_config следующим образом

Subsystem sftp internal-sftp

Match User test1
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no

определенный домашний каталог для пользователя test1

usermod -d /usr/local/tomcat/webapps/ROOT

затем

chown root:root /usr/local/tomcat/webapps/ROOT
chown test1:test1 -R /usr/local/tomcat/webapps/ROOT/*
chmod 755 -R /usr/local/tomcat/webapps/ROOT/*

перезапустил sshd и попытался войти в sftp

# sftp test1@localhost
Connecting to localhost...
test1@localhost's password:

sftp> ls -la
drwxr-xr-x    9 0        0            4096 Feb 16 08:20 .
drwxr-xr-x    9 0        0            4096 Feb 16 08:20 ..
drwxr-sr-x    2 500      501          4096 Feb  6 10:37 META-INF
drwxr-sr-x    6 500      501          4096 Feb 12 14:07 WEB-INF
drwxr-sr-x    2 500      501          4096 Feb 16 08:13 css
drwxr-xr-x    2 500      501          4096 Feb 16 08:27 home
drwxr-sr-x    3 500      501          4096 Feb 12 14:13 images
drwxr-sr-x    2 500      501          4096 Feb 16 00:37 js

sftp> mkdir css/test
Couldn't create directory: Permission denied

Я перепробовал почти все, но до сих пор не могу понять, почему владелец каталога не имеет разрешения на запись?

2 ответа

Решение

Я думаю, что вам нужно включить некоторые selinux bool, для получения дополнительной информации о selinux bools службы вы можете набрать в своей оболочке man sftpd_selinux

 [root@worktux ~]# getsebool -a | grep sftp
 sftpd_anon_write --> off
 sftpd_enable_homedirs --> off
 sftpd_full_access --> off
 sftpd_write_ssh_home --> off

Точный, который должен быть включен:

setsebool -P ssh_chroot_rw_homedirs on

Я боролся с этим в течение 2 дней, прежде чем я получил это!!

Другие вопросы по тегам