当前位置: 首页 > 科技观察

为什么权限管理要用124三个数字?_0

时间:2023-03-16 10:31:40 科技观察

相信很多Linux的人在遇到文件权限问题的时候,总是喜欢把文件权限改成777。我认为这可以解决所有问题。那么大家有没有想过一个问题,为什么数字7表示一个文件具有可读、可写、可执行的权限呢?对于当前用户,如果要设置文件权限为可写、可执行、不可读,应该使用哪个数字?如果要使文件可读、可写、不可执行,应该使用哪种权限?系统规定SSH私钥的权限为600,这里的600是什么意思?如果要添加另一个修改权限,哪个数字更好?我们知道1、2、4这三个数可以表示7以内的所有数,例如:1:12:23:1+24:45:1+46:2+47:1+2+4那么,如果要表示15以内的所有数字,需要加上哪个数字呢?你可能想了很久才知道需要加一个8。但是,如果我们从二进制的角度来看这些数字,就会发现问题其实很简单:1:0012:0104:100如果我们让可执行权限对应001,写权限对应010,可读权限Permission对应100。那么,可读可写对应的是110,也就是十进制的6。可写可执行对应011,十进制为3。显然,111是可读可写可执行的,对应十进制的7。如果我们要加一个控制是否可以修改的参数,那么我们可以用高4位来表示,可以修改:1000。因为在linux中,需要给文件所有者设置文件权限,其他与所有者在同一用户组中的人,以及不在同一组中的其他人。如果不能读、不能写、不能执行,则二进制000对应十进制的0。对于SSH私钥等极??其敏感的文件,显然只有文件所有者才能读写,所以其权限为:110000000也就是600,如果要对所有登录系统的人都可读、可写、可修改,显然文件权限是111111111自然是十进制的777。网上有些垃圾文章会引诱你设置文件权限为777,只要你看到这种文章,这篇文章的作者肯定是水货。请记住这句话:如果某个地方需要你设置权限为777才能使用,那一定是你之前某个地方的操作有问题!你一定有问题。任何要求您将文件权限设置为777的人要么是愚蠢的,要么是坏人。最后想问大家一个思考问题。使用二进制位表示权限有什么好处?