Share the layer so that he has access or create an additional map without the layer.
Best practice is to ensure that all layers required for a map, and all layers/maps for an app, are accessible to the end user. Otherwise you will encounter messages like you are seeing that cannot be disabled, or the map/app may fail altogether.
I do not want to share this layer with the user, but rather I want him to see other layers
While another user he can see this layer
in same One Map
Can I do that?
No, it is not how this is designed.
The simplest thing you can do is save the map as a copy and remove the layer. Two maps, one with, and one without the layers.