今天做作业碰到一个巨坑。给我为难的要死要活的所以在此做个记录。
后来发现會被绕开:用sudo passwd 可以直接修改root密码
之后就上网上查了下正确的应该怎么写网上给出了如下的答案。
/usr/bin/passwd [a-zA-Z]*一开始被我当作正则表达式那么这个語句是匹配0或多个大小写字母。但是在我测试的是有一个用户名为alex-1的用户也可以被修改密码我就想不明白 [a-zA-Z]*是怎么匹配特殊字符的。
后来經过高人指点visudo中 * 表示通配符不是正则。那么 /usr/bin/passwd [a-zA-Z]*主要是过滤掉sudo passwd的情况passwd后面一定要有空格和用户名。[]中可以放任意个字母但是不能放特殊芓符(测试了几个都不行例如空格 , )