Claude: [October 11, 2026, 06:01:00 PM]
On CentOS 6, /bin is a real directory (not a symlink to /usr/bin as on newer distros), so the standard values are:
/bin directory itself: 755, owned root:root.- Stock binaries inside it:
755. A few are setuid root and must stay that way: su, mount, umount, ping, ping6 (4755). - Your own scripts (
mirrorISE_Clone, json_push_audio_Clone_to_Live and the rest): 755 if anyone other than root may run them, or 700 if they are root-only. Given they're operational scripts, 700 or 750 is the tighter choice, especially any that embed credentials or paths into the live system.
Don't use 777 or any group/world-writable bit on /bin or anything in it. Anyone who can write there can replace a command that root runs.
To audit what's currently loose:
find /bin -perm /022 ! -type l
That lists anything writable by group or others, and it should come back empty. To see the setuid/setgid files:
find /bin -perm /6000 ! -type l
Claude: [October 11, 2026, 06:11:45 PM]
Yes, root:root for everything in /bin, applied to the directory and all its members:
chown root:root /bin
chown -R root:root /bin
On CentOS 6, chown -R doesn't follow symlinks by default, so it changes the link itself, not its target. That's the safe behaviour here.
Check for strays first, since it shows which files weren't root:root before you flatten them:
find /bin ! -user root -o ! -group root
If your own scripts were deliberately owned by someone else (a service account, say), that list will show them, and a blanket chown -R would overwrite that. If it comes back empty, the recursive chown changes nothing and is harmless.
If you also want the permissions normalised in one pass, directories and plain files can be handled separately so the setuid bits and executables aren't disturbed. Leave chmod -R alone on /bin, because a blanket chmod -R 755 would strip 4755 from su, mount, umount and ping.