写在 chmod -R o+rwx / 后

时间:2021-02-04 16:45:56

写在 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