← Back to context

Comment by m463

1 day ago

I like the simplicity of controlling everything with a hypothetical scp.conf:

  default
    access none /dev /sys /proc
  user foo
    access ro /var/scp/firmware
    access rw /var/scp/user-foo
  user anonymous
    access w /var/scp/dropbox
  user joe
    access rw /home/joe
  user fred
    access rw /
  user backup
    access ro /

You can actually switch the subsystem to `internal-sftp` and configure the visible path via ChrootDirectory, however you still rely on posix user/group privs.

Subsystems are pluggable, so you could write your own subsystem that does enforce whatever config and permission model you want. It's not terribly difficult to do, and you can replace the sftp subsystem entirely.

and just a FYI, currently scp is plumbed over the sftp subsystem, so replacing the sftp subsystem would "fix" scp and sftp clients for you.