Linux:如何更改目录下特定权限的文件为其它权限

Linux osetc 415℃ 0评论

linux find 命令对于一个系统管理员,有时候需要更改目录下所有特定权限的文件为其它的权限,比如我想把/home目录下所有的权限为644的文件更改为777权限,那么我们有什么好的办法来实现吗?

大家应该都知道如果想更改权限的话,可以是用chmod命令,如果要递归更改目录下所有子目录下的文件的权限,可以再chomd后面加上“-R”选项。下面我们通过使用find命令和chmod命令结合使用来实现我们上面的需求,更改特定权限的所有文件的权限为其它权限(有点绕,哈哈)。

首先我们使用find 命令查到根目录下所有权限为644的文件,输入下面的命令:

1
#find / -type f -perm 644 -print

然后将上面查找到的文件的权限更改为777

1
#find / -type f -perm 644 -print -exec chmod 777 {} \;

如果要更改根目录下所有的目录或子目录的权限也为777,输入下面的命令:

1
#find / -type d -perm 644 -print -exec chmod 777 {} \;

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[root@devops test]# ls -al
总用量 12
drwxr-xr-x. 3 root root 4096 6月  29 00:39 .
drwxrwxrwt. 4 root root 4096 6月  29 00:01 ..
-rw-r--r--. 1 root root    0 6月  28 12:18 t1
-rw-r--r--. 1 root root    0 6月  28 12:18 t10
-rw-r--r--. 1 root root    0 6月  28 12:18 t10.bak
-rw-r--r--. 1 root root    0 6月  28 12:18 t2
-rw-r--r--. 1 root root    0 6月  28 12:18 t2.bak
-rw-r--r--. 1 root root    0 6月  28 12:18 t3
-rw-r--r--. 1 root root    0 6月  28 12:18 t3.bak
-rw-r--r--. 1 root root    0 6月  28 12:18 t4
-rw-r--r--. 1 root root    0 6月  28 12:18 t5
-rw-r--r--. 1 root root    0 6月  28 12:18 t5.bak
-rw-r--r--. 1 root root    0 6月  28 12:18 t6
-rw-r--r--. 1 root root    0 6月  28 12:18 t7
-rw-r--r--. 1 root root    0 6月  28 12:18 t7.bak
-rw-r--r--. 1 root root    0 6月  28 12:18 t8
-rw-r--r--. 1 root root    0 6月  28 12:18 t8.bak
-rw-r--r--. 1 root root    0 6月  28 12:18 t9
-rw-r--r--. 1 root root    0 6月  28 12:18 t9.bak
drwxr-xr-x. 2 root root 4096 6月  29 00:39 testdir

[root@devops test]# find . -type f -perm 644 -print -exec chmod 777 {} \;
./t7
./t2
./t10
./t1
./t9.bak
./t6
./t10.bak
./t7.bak
./t5
./t2.bak
./t8.bak
./t4
./t3.bak
./t3
./t8
./t9
./t5.bak

[root@devops test]# ls -al
总用量 12
drwxr-xr-x. 3 root root 4096 6月  29 00:39 .
drwxrwxrwt. 4 root root 4096 6月  29 00:01 ..
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t1
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t10
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t10.bak
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t2
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t2.bak
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t3
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t3.bak
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t4
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t5
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t5.bak
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t6
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t7
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t7.bak
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t8
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t8.bak
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t9
-rwxrwxrwx. 1 root root    0 6月  28 12:18 t9.bak
drwxr-xr-x. 2 root root 4096 6月  29 00:39 testdir
[root@devops test]#

更多参考:
1.Linux/Unix:通过linux find命令删除查找到的文件

转载请注明:osetc.com » Linux:如何更改目录下特定权限的文件为其它权限

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址