Show that there is a step function $g$ over $[a,b]$ 
Assume $f$ is integrable over $[a,b]$ and $\epsilon > 0$. Show that there is a step function $g$ over $[a,b]$ for which $g(x) \leq f(x)$ for all $x \in [a,b]$ and $\displaystyle \int_{a}^b (f(x)-g(x))dx < \epsilon$. 

I am having trouble coming up with a step function that satisfies the second condition. Given any $f(x)$, it is easy to come up with a step function such that $g(x) \leq f(x)$ for all $x \in [a,b]$. But how do we deal with the second condition?

This follows from the definition of Riemann integral:
For given $\epsilon>0$ there exists $\delta>0$ such that for every partition of $[a,b]$ that is finer than $\delta$, the lower and upper Riemann sum for that partition differ by less than $\epsilon$ from $\int_a^bf(x)\,\mathrm dx$, which is between them. Let $g$ be the step function corresponding to the lower Riemann sum. Then $g(x)\le f(x)$ for all $x$ and the lower Riemann sum is just $\int_a^bg(x)\,\mathrm dx$. Hence $\int_a^b(f(x)-g(x))\,\mathrm dx<\epsilon$, as desired.
