Laat ek dit voorafgaan deur te sê ek het hierdie instruksies by die FAQ baie keer gelees en gevolg: http://www.itefix.no/i2/node/37

Dit doen nie wat die titel beweer nie... Dit gee elke gebruiker toegang tot elke ander gebruiker se tuisgids, sowel as toegang tot alle subgidse onder die copssh-installasiepad.

Ek gebruik dit net vir SFTP-toegang en ek het nodig dat my gebruikers slegs in hul tuisgids in 'n sandbox geplaas word.

As jy 'n onfeilbare manier ken om gebruikers toe te sluit sodat hulle net hul tuisgids en sy subgidse kan sien, hou op lees nou en antwoord met die oplossing.

Die besonderhede:

Hier is presies wat ek probeer het toe ek die FAQ gevolg het. My copSSH-installasiegids is: C:\Program Files\CopSSH

net localgroup sftp_users /ADD      **Create a user group to hold all my SFTP users

cacls c:\ /c /e /t /d sftp_users    **For that group, deny access at the top level and all levels below

cacls "C:\Program Files\CopSSH" /c /e /t /r sftp_users    **Allow my user group access to the copSSH installation directory and its subdirectories

Vir elke sftp-gebruiker skep ek 'n nuwe Windows-gebruikersrekening, dan:

net localgroup sftp_users sftp_user_1 /add    **Add my user to the group I've created

Maak die aktiveer gebruiker towenaar vir CopSSH oop, kies die gebruiker, "/bin/sftponly" en

  • Verwyder copssh tuisgids as dit bestaan ​​**Bly gekontroleer
  • Skep sleutels vir publieke sleutel-verifikasie **Bly gemerk
  • Skep skakel na gebruiker se regte tuisgids **Bly gekontroleer

Dit werk, maar elke gebruiker het toegang tot elke ander gebruiker se tuisgids sowel as die CopSSH-hoofgids....

Ek het dus probeer om toegang vir alle gebruikers tot die gebruikerstuisgids te weier:

cacls "C:\Program Files\CopSSH\home" /c /e /t /d sftp_users **Weer toegang vir gebruikers tot die gebruiker se tuisgids

Toe het ek probeer om toestemmings op 'n gebruiker-vir-gebruiker-basis by te voeg vir elke gebruiker se huis\gebruikernaam-lêergids. Hierdie toestemming is egter nie deur Windows toegelaat nie as gevolg van die bogenoemde ontkenningsreël wat ek by die tuisgids geskep het, is geërf en het my toelaatreël oorskry.

Die volgende stap vir my sou wees om die weieringreël by die tuisgids en vir elke gebruikerslêergids te verwyder, 'n weieringsreël by te voeg vir elke gebruiker waaraan dit nie behoort nie, en 'n toelaatreël by te voeg vir die een gebruiker waaraan dit wel behoort.

Soos my gebruikerslys egter lank word, sal dit baie omslagtig word.

Dankie vir die hulp!

answer
  1. skep groep 'SSH-gebruikers' in rekenaarbestuur
  2. Voeg groep by gpedit -> Rekenaaropstelling -> Windows-instellings -> Sekuriteitsinstellings -> Plaaslike beleide -> Gebruikersregte-toewysing -> Laat aanmeld plaaslik toe (sien Kan nie by Cygwin sshd-bediener aanmeld met 'n nie-administrateur-gebruikersrekening )
  3. hardloop gpupdate
  4. Voeg ftpuser by die groep SSH-gebruikers
  5. Voeg besonderhede by in /etc/sshd_config:

    Subsystem sftp internal-sftp
    
    Match User ftpuser
        ChrootDirectory /home/ftpuser
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp
    

    (die sleutelwoorde op die reëls wat die Matchrichtlijn volg, is slegs van toepassing op die gebruiker ftpuseren ignoreer dié wat in die globale afdeling van die konfigurasielêer gestel is, tot óf 'n ander Matchreël óf die einde van die lêer.)

  6. Aktiveer ftpuser gebruiker deur copSSH wizard
  7. Vee alle .ssh .bashprofile-lêers/vouers onder die ftpuser-lêergids uit
  8. Stel SvcCOPSSH gebruiker na root id 0

    SvcCOPSSH:unused_by_nt/2000/xp:**0**:545:U...
    

    (sien http://www.itefix.no/i2/node/11956 )

  9. Moet dalk die volgende ook doen in copSSH 'UNIX BASH Shell'

    cd /
    chown SvcCOPSSH /
    chmod 0755 /
    
  10. herbegin openssh-diens