写在 chmod –R o+rwx / 后
已知问题:
1 , /etc/my.cnf 由于权限过高,无法被 load , mysql 启动时略过,导致配置文件字符集设置无效,出现乱码。
2 , /etc/ssh/ 下面 sshd 的配置文件,启动文件, key 文件权限过高,无法被 load ,导致 ssh 连接失败,错误为 ssh_exchange_identification: Connection closed by remote host 。
chmod –R o+rwx /后,很多系统文件权限过高,导致很多应用出问题。
我解决的基本原则是,对于目录如果group只有rx的,去掉others的w,对于group只有r的,去掉others的wx,对于group没有任何权限的,去掉others的rwx;
对于文件group有r权限的,给others r的权限,去掉wx;对于group没有任何权限的,others也没有任何权限;
对于find命令和chmod命令不熟的,以及运营服务器上慎用如下命令,由此带来的损失,概不负责。
对于目录 :
find / /( -path /usr -o -path /var /) -prune -o -type d -perm 647 -exec chmod 644 {} /; -print
-- 忽略 /usr , /var 目录,查找类型为目录,权限为 647 的文件,修改权限为 644 ,并将这些目录显示出来
find / /( -path /usr -o -path /var /) -prune -o -type d -perm 667 -exec chmod 664 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type d -perm 657 -exec chmod 655 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type d -perm 607 -exec chmod 600 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type d -perm 707 -exec chmod 700 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type d -perm 407 -exec chmod 400 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type d -perm 207 -exec chmod 200 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type d -perm 107 -exec chmod 100 {} /; -print
find . –type d –perm 757 –exec chmod o-w {} /;
find . –type d –perm 667 –exec chmod o-w {} /;
find . –type d –perm 607 –exec chmod o-rwx {} /;
find . –type d –perm 707 –exec chmod o-rwx {} /;
find . –type d –perm 407 –exec chmod o-rwx {} /;
find . –type d –perm 207 –exec chmod o-rwx {} /;
find . –type d –perm 107 –exec chmod o-rwx {} /;
对于文件:
find / /( -path /usr -o -path /var /) -prune -o -type f -perm 647 -exec chmod 644 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type f -perm 657 -exec chmod 654 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type f -perm 667 -exec chmod 664 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type f -perm 607 -exec chmod 600 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type f -perm 707 -exec chmod 700 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type f -perm 407 -exec chmod 400 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type f -perm 207 -exec chmod 200 {} /; -print
find / /( -path /usr -o -path /var /) -prune -o -type f -perm 107 -exec chmod 100 {} /; -print
find . –type d –perm 647 –exec chmod o-wx {} /;
find . –type d –perm 667 –exec chmod o-wx {} /;
find . –type d –perm 607 –exec chmod o-rwx {} /;
find . –type d –perm 707 –exec chmod o-rwx {} /;
find . –type d –perm 407 –exec chmod o-rwx {} /;
find . –type d –perm 207 –exec chmod o-rwx {} /;
find . –type d –perm 107 –exec chmod o-rwx {} /;
批量处理完后,查找一下是否还有残留的others为rwx的文件,一般都是些l链接文件,对于这些不用变。
find –perm -007 +007 007 /007