cannot access /dev/null: Permission denied, although crw-rw-rw- 1 root root 1, 3 Sep 21 12:05 /dev/null

Solution 1:

The problem came from the permissions to /dev:

# ls -ld /dev
drwx------ 3 root root 4096 Sep 21 12:12 /dev

So /dev was not accessible by users.

# chmod a+x /dev
# chmod a+r /dev

Solved the problem.

Solution 2:

I had a similar problem, and came here by searching for the symptoms, but the solution didn't fit my case. So I'd like to add another possible reason even if it's not exactly fitting the OP.

In my special case I used proot (a nice chroot wrapper). But the permissions were correct on /dev/null and /dev itself.

It happened to be the mount of the chroot directory, which I did via thunar as a normal user. So, in this case the mount did not have the correct permissions.

You have a bad time to find this, because you don't see these permissions, when only looking at the files.

The general solution path would be to start checking conditions at the problem location (/dev/null) and step out to the next level(s) (/dev), then the mount, the file system etc., whatever comes next.

On each step you may have several preconditions, each having it's own outer levels. E.g. the user could be in a wrong group, which leads to the group configuration file, which could have wrong permissions etc.

Obviously, you have to follow a kind of tree in general.