If a computer is able to access a phone via just a USB, what's stopping the phone from accessing the computers filesystem?

Okay, lets set away a few limitations, specifically by the operating system.

Assume both devices are running a Linux-based Operating System, and that both devices are admin/root. [CLARIFICATION : I don't mean the phone is tweaked to run a Linux-Based OS, I mean it runs Linux by default]

How can the Phone be accessed by the computer and not vice versa? This isn't a problem, I'm just curious as to why this happens.

My Theories:

  1. The phone has specific drivers that make it a storage device, whereas the computer doesn't
  2. The phone has software to make parts of the storage available to read/write operations from a computer

That's about all I have, I tried researching about this subject but couldn't get any results.

Note: I'm not asking for a solution to how to get file transfer working, I'm asking why would it not work


Solution 1:

The computer has USB hardware and software that can only be a host for other devices and so it cannot be a device to another host. Some mobile phones can support being a host and you can connect these to other devices like USB mass media or MIDI keyboards, but it requires a special cable so that the phone understands that it has an adapter so it should switch roles to be the host.