How to restrict "Reschedule check" to some selected users on selected hosts

Well the administrator role by default has no restrictions, so they will be allowed to reschedule checks anyway. I don´t know what kind of roles you got, but you just have to edit the desired role. There are three built in roles which are Administrator, Normal monitoring user and Guest user. You can either choose one of the last ones, but it´s probably better to clone an existing role and modify that one. But thats on you, you just have to make sure, that all users that are not allowed to reschedule are in your modified role.

You can edit a role under Setup → Users → Roles and Permissions by clicking the pen icon next to the desired role.

grafik

After that the configuration page with all permissions should appear. There you should find the tab Commands on host and services with the option Reschedule checks. Change the value to no and safe and activate everything.

Now administrators would still be able to reschedule checks, but users with your modified role wouldn´t.