The ability to publish to Tableau Server could be controlled by granting the users that you do not want to publish the Viewer role on Tableau Server or Tableau Online.
More information can be found here: Publish Data Sources and Workbooks - Tableau
Also I would check out this great comparison of Tableau Viewer and Reader. Tableau Viewer vs. Reader
As for disabling the ability to extract in Tableau Desktop. This would be a feature request and can be submitted to the Tableau Ideas forum: Ideas
Hope this helps!