# How to set default security context on cluster?

**URL:** <https://discuss.kubernetes.io/t/how-to-set-default-security-context-on-cluster/7174>\
**Category:** General Discussions\
**Created:** [July 16, 2019, 3:12pm UTC](https://discuss.kubernetes.io/t/how-to-set-default-security-context-on-cluster/7174 "2019-07-16T15:12:43Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![asp](https://avatars.discourse-cdn.com/v4/letter/a/9fc348/32.png) [@asp](https://discuss.kubernetes.io/u/asp)\
**Post date:** [July 16, 2019, 3:12pm UTC](https://discuss.kubernetes.io/t/how-to-set-default-security-context-on-cluster/7174/1 "2019-07-16T15:12:43Z")

</div>

Hi,

how can I query and set the default securityContext which is used for deployments?  
I want to set **runAsNonRoot: true** as default.

Next question: can I set it differently for namespaces?  
Regards, Andreas

---

<div class="post-metadata">

**Author:** ![rata](https://sea2.discourse-cdn.com/flex016/user_avatar/discuss.kubernetes.io/rata/32/18244_2.png) [@rata](https://discuss.kubernetes.io/u/rata)\
**Post date:** [July 17, 2019, 7:49am UTC](https://discuss.kubernetes.io/t/how-to-set-default-security-context-on-cluster/7174/2 "2019-07-17T07:49:32Z")

</div>

Not sure this is best (or only?) option, but you can use pod security policies. You can specify that and mutate the pod spec for it (or refuse to run the pod if, instead of the default security context, tries to explicitly execute as root)
