Find rows that have the same values in another column
It's probably best to do this in the application, after all it's just presentation. Something like:

SELECT user, permission
FROM T
ORDER BY permission


then keep track of when permission changes. 

However (untested), there seems to be a GROUP_CONCAT function that can do what you want: 

SELECT GROUP_CONCAT(user), permission
FROM T
GROUP BY permission
ORDER BY permission