背景:当我们的虚拟机和windows系统共享windows上的一个目录(记为:A)时,把该目录下的目录(记为B)移动(mv)到linux下的任意目录下,这个目录B及下面的子目录或文件的权限都是rwx(777),这是他们在windows下的权限。因此用ll命令把这些文件列出来时,就会发现明显的不一样,原因就是权限不同。

因此,我写了个bash 脚本,递归的将这些移动过来的文件的权限修改为默认值。代码如下:

#!/bin/bash
# 修改指定目录的子目录或文件到默认权限
# 下面的函数是递归修改子目录及文件的权限,但是还有一种方法就是复制整个目录,权限会自然就设置成默认的了
function chmodDefault()
{
if [ -d "$1" ]; then
chmod 755 "$1"
fi
for i in $1/*
do
if [ -f "$i" ]; then
chmod 644 "$i"
elif [ -d "$i" ]; then
chmod 755 "$i"
chmodDefault "$i"
fi
done
}
if [ "$1" = "" ]; then
echo "Usage: sh $0 <dir>"
else
chmodDefault "$1"
fi

经测试,发现这个脚本还是正确的。但是又发现了另外一种改变移动过来的目录的权限的方法,就是用复制命令(cp),这相当于以当前用户的身份新建目录,所以权限自然地就是默认值了!

如:cp /mnt/hgfs/A/aa /home/zcm/download/

递归修改子目录及文件的权限相关推荐

  1. Linux 的 chmod 命令,对一个目录及其子目录所有文件添加权限

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 对一个目录及其子目录所有文件添加权限 命令: chmod 777 -R ./html 给予html目 ...

  2. Linux对一个目录及其子目录所有文件添加权限

    1.chmod指令 chmod是一个改变用户拥有指定文件的权限的命令.r:只读,w:写,x执行.也可以用数字 -rw------- (600) -- 只有属主有读写权限.   -rw-r--r-- ( ...

  3. Linux 修改群组文件夹权限

    首先添加群组,进入vim添加group成员 #groupadd groupname #vim /etc/group 然后修改群组文件权限, -R的作用是使得文件夹下的子文件都能有相同的权限 #chgr ...

  4. linux 对一个目录及其子目录所有文件添加权限

    转摘地址:http://blog.csdn.net/u014175572/article/details/50946471 感谢这位朋友的 这个命令

  5. ubuntu+查看服务器文件夹权限,Ubuntu - 文件夹权限查看与修改

    Ubuntu 文件的归属身份有四种: u - 拥有文件的用户(所有者) g - 所有者所在的组群 o - 其他人(不是所有者或所有者的组群) a - 每个人或全部(u, g, o) 1. 查看文件/文 ...

  6. macOS 查看、修改文件、文件夹权限的命令

    1.查看文件/文件夹权限: 1.查看某个文件权限的命令 ls -l + 要查看文件的文件名 1 2.查看某个文件夹里所有文件/文件夹的权限 ls -l + 文件夹名 1 3.如果要查看某个文件夹的权限 ...

  7. 文件/目录权限相关命令:chmod、chown、umask、lsattr/chattr命令解析

    2019独角兽企业重金招聘Python工程师标准>>> 本文索引: 文件/目录权限修改:chmod 预备知识 几种具体用法 重要参数: -R 所有者/所属组修改: chown 几种具 ...

  8. Linux的常用命令chmod(文件的权限777和755)

    Linux的常用命令 一.关于文件权限的基本理论知识 二.关于文件权限的命令 (1)查看文件权限 (2)文件权限的基本知识 (3)关于修改权限的命令 一.关于文件权限的基本理论知识 一个Linux目录 ...

  9. linux 进程 setuid,Linux SetUID(SUID)文件特殊权限用法详解

    在讲解<权限位>一节时提到过,其实除了 rwx 权限,还会用到 s 权限,例如: [root@localhost ~]# ls -l /usr/bin/passwd -rwsr-xr-x. ...

最新文章

  1. 【SpringMVC】基本概念
  2. Keepalived实现LVS-DR双机热备_2015101601
  3. CentOS6.5安装配置
  4. c语言输出后面空格,新人提问:如何将输出时每行最后一个空格删除
  5. awk:split()函数、数组、自定义函数
  6. 自己动手开发编译器(十)miniSharp语法分析器
  7. 在java中实现类似于.net中的DataTable,请各位看看,这种方法可行吗?
  8. 【形状检测】基于matlab Hough变换形状检测【含Matlab源码 468期】
  9. 目的路径太长如哈删除_如何清除winrar中的目标路径记录
  10. 匈牙利算法及KM算法详解
  11. 【C语言】输出100内素数
  12. 台式计算机模拟软件,全国计算机一级Office2010+win7版考试模拟软件
  13. AutoCAD2007 打开缓慢解决方案
  14. bigworld源码分析(3)——dbMgr分析
  15. VR全景为家装赋能,沉浸式体验家装设计效果
  16. ubuntu服务器登桌面,Ubuntu Server安装桌面环境实现图形化访问 | 聂扬帆博客
  17. 【学习笔记】要学的东西
  18. postman里面的mockserver使用方法
  19. 根据UV风计算风速风向,根据风速与风向计算UV风
  20. 信息技术发展的趋势是什么?

热门文章

  1. 分享SharpZipLip使用代码
  2. python中定义数据结构_Python中的数据结构—简介
  3. ab实验置信度_为什么您的Ab测试需要置信区间
  4. leetcode1039. 多边形三角剖分的最低得分(动态规划)
  5. 使用Docker 安装Elasticsearch、Elasticsearch-head、IK分词器 和使用
  6. CreateSolidBrush
  7. rz和sz上传下载文件
  8. codevs1014 装箱问题
  9. unity获取ugui上鼠标位置
  10. 【工具】Win 7/8/10 下使用 VC++6.0