用SSH指令批量修改文件夹 文件权限和拥有者

2,831 人次阅读
没有评论

共计 1202 个字符,预计需要花费 4 分钟才能阅读完成。

很多时候,不可避免的需要在linux系统下或登录ssh可以批量修改文件权限

wwwroot目录下的所有目录的权限递归设置为755

cd wwwroot
find -type d -exec chmod 755 {} \;
或者是
find -type d|xargs chmod 755

同样,把目录下的所有文件权限递归地改成644可以这样执行

find -not -type d -exec chmod 644 {} \;
或者是
find -not -type d|xargs chmod 644

在linux批量修改文件拥有者
需要使用到两个命令,chmod以及chown

例、对var/目录下的所有文件与子目录执行相同的权限变更:

chmod -R 700 var/

-R参数是递归 处理目录下的所有文件以及子文件夹

700是变更后的权限表示(只有所有者有读和写以及执行的权限)

var/ 是需要执行的目录

例、对var/ 目录下的所有文件与子目录执行相同的所有者变更,使所有者修改为www用户组的www用户

chown -R www:www var/

-R 同上

www:www www用户组的www,用户组不必须

方法二:

SSH批量修改文件权限秒杀更改文件写入权限

问:如何通过ssh更改home/wwwroot/dede的文件夹写入权限啊?

答:chmod 777 /home/wwwroot/dede 把dede目录设置为777权限
chown -R www /home/wwwroot/dede 把dede目录归属给www用户
以上为单个文件夹的设置,那么全目录包括子目录的命令为:
chmod 777 目录名称 -R

启发:

CU里的一个用户用”#chown -R 777 /*”后,系统瘫痪了.

有网友建议用下面的命令把另一个新的相同系统的所有文件和目录的权限导入该系统.

其实就是这两个命令的应用.

目标:setfacl getfacl两命令的使用.

步骤:

1.

#pwd  确认当前目录

/

#getfacl -R /root > 11.bak  得到/root下的所有文件和目录的权限表文件.

#chmod -R 700 /root/*   更改/root下的所有文件或目录的权限为700

#cd /root    切换目录

#ll    查看确认

#cd /

#setfacl –restore=11.bak  恢复/root下的所有文件和目录的权限.

方法三:

用SSH指令批量修改文件夹和文件权限

在linux系统下或登录ssh可以批量修改文件权限,比通过ftp修改更高效率。

public_html目录下的所有目录的权限递归设置为755

cd public_html
find -type d -exec chmod 755 {} \;
find -type d|xargs chmod 755

同样,把目录下的所有文件权限递归地改成644可以这样执行

find -not -type d -exec chmod 644 {} \;
find -not -type d|xargs chmod 644
正文完
 0