Eu construí alguns Hosts Virtuais usando o nginx, mas agora eu quero que alguns usuários os modifiquem sem que eles possam editar qualquer outra coisa fora do diretório do host.
Eu tentei muitas coisas, mas nada está funcionando !! Aqui é onde eu estou no momento:
/etc/vsftpd.conf
:
listen=YES
local_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
tpd_banner=Welcome to mikes company sFTP service. Play nice!
chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
script de shell para criar um usuário:
#!/bin/bash
user=$1
group=$2
directory=$3
if [ "$3" != "" ]; then
echo "You are creating an ftp user -> "$user" inside the group -> "$group" with privelidges for the domain "$directory
else
echo "ERROR!!!"
echo "please enter the command followed by the user and then group and then domain (example.co.uk)"
exit 1
fi
groupadd $group
useradd -G $group $user
sudo chown -vR :$group /NAS/$directory/
sudo chmod -vR g+w /NAS/$directory/
sudo adduser www-data $group
sudo chown -R www-data:$group /NAS/$directory/
usermod --home /NAS/$directory/ $user
passwd $user
Mas nada disso está funcionando. Quando eu configuro o usuário no dreamweaver eles podem ler, acessar e editar a maioria dos arquivos em todo o computador, o que é não o que eu quero!
Oqueestoufazendodeerrado?
/etc/group
:
root:x:0:daemon:x:1:bin:x:2:sys:x:3:adm:x:4:syslog,maxtty:x:5:disk:x:6:lp:x:7:mail:x:8:news:x:9:uucp:x:10:man:x:12:proxy:x:13:kmem:x:15:dialout:x:20:fax:x:21:voice:x:22:cdrom:x:24:maxfloppy:x:25:tape:x:26:sudo:x:27:maxaudio:x:29:pulsedip:x:30:maxwww-data:x:33:backup:x:34:operator:x:37:list:x:38:irc:x:39:src:x:40:gnats:x:41:shadow:x:42:utmp:x:43:video:x:44:sasl:x:45:plugdev:x:46:maxsasl:x:45:plugdev:x:46:maxstaff:x:50:games:x:60:users:x:100:nogroup:x:65534:libuuid:x:101:netdev:x:102:crontab:x:103:syslog:x:104:fuse:x:105:messagebus:x:106:ssl-cert:x:107:lpadmin:x:108:maxscanner:x:109:sanedmlocate:x:110:ssh:x:111:utempter:x:112:avahi-autoipd:x:113:rtkit:x:114:saned:x:115:whoopsie:x:116:avahi:x:117:nopasswdlogin:x:119:bluetooth:x:120:colord:x:121:pulse:x:122:pulse-access:x:123:max:x:1000:sambashare:x:124:maxlandscape:x:118:maxy:x:1001:maxWeb,www-datamaxWeb:x:1002:maxy2:x:1003:maxWeb2maxWeb2:x:1004:fax:x:21:voice:x:22:cdrom:x:24:maxfloppy:x:25:tape:x:26:sudo:x:27:maxaudio:x:29:pulsedip:x:30:maxwww-data:x:33:backup:x:34:operator:x:37:list:x:38:irc:x:39:src:x:40:gnats:x:41:shadow:x:42:utmp:x:43:video:x:44:sasl:x:45:plugdev:x:46:maxstaff:x:50:games:x:60:users:x:100:nogroup:x:65534:libuuid:x:101:netdev:x:102:crontab:x:103:syslog:x:104:fuse:x:105:messagebus:x:106:ssl-cert:x:107:lpadmin:x:108:maxscanner:x:109:sanedmlocate:x:110:ssh:x:111:mlocate:x:110:ssh:x:111:utempter:x:112:avahi-autoipd:x:113:rtkit:x:114:saned:x:115:whoopsie:x:116:avahi:x:117:nopasswdlogin:x:119:bluetooth:x:120:colord:x:121:pulse:x:122:pulse-access:x:123:max:x:1000:sambashare:x:124:maxlandscape:x:118:maxy:x:1001:maxWeb,www-datamaxWeb:x:1002:maxy2:x:1003:maxWeb2maxWeb2:x:1004:maxy3:x:1005:maxWeb3maxWeb3:x:1006:maxy4:x:1007:maxWeb4maxWeb4:x:1008:sftponly:x:1009:maxWeb7ssh-users:x:1010:maxmaxWeb7:x:1011:maxWebb:x:1012:sftp:x:1013:ftpGroup:x:1014:maxwebb2,maxy1maxwebb2:x:1015:maxy1:x:1016:ftp:x:125:maximiliangroup:x:1017:maxymilmaxymil:x:1018:maximiliangroup:x:1017:maxymilmaxymil:x:1018:maximilianmitchell.info:x:1019:maxwebsite,www-datamaxwebsite:x:1020:maximilianweb:x:1021:www-datamaximilianweb2:x:1022:www-datamaximilianweb4:x:1023:www-data,maxwebsite4maxwebsite5:x:1024:www-data
Logincomonovousuário:
$su-maxwebsite5Password:$lspublic_html$cd/home$cdmax$mkdirtestmkdir:cannotcreatedirectory‘test’:Permissiondenied
QuandoeufizerloginusandooDreamweaveredefinirodiretórioraizcomo/
,possovereeditaramaioriadascoisas,incluindooutrosdiretóriosdehostsvirtuais:
Onde, quando eu defino o diretório raiz como nada, ele me leva direto para o /NAS/$directory/
, que é o que eu quero!
Mas eu realmente só quero que o usuário pense que o diretório /
é /NAS/$directory/