小编Str*_*ger的帖子

Root 无法更改文件权限或所有权

我的目录是根:

pwd 
/
Run Code Online (Sandbox Code Playgroud)

我有以下目录:

drwxrwxrwx   4 root   root     81920 Jun  4 09:25 imr_report_repo
Run Code Online (Sandbox Code Playgroud)

注意: imr_report_repo是 NFS 共享。

这是fstab清单imr_report_repo

netapp1:/imr_report_repos_stage  /imr_report_repo  nfs   rw,bg,actimeo=0,nointr,vers=3,timeo=600,rsize=32768,wsize=32768,tcp 1    1
d imr_report_repo
Run Code Online (Sandbox Code Playgroud)

mount 中的一个文件:

$ ls -al
-rw-r--r--  1 502     502      1273 Mar 21  2013 imr1_test.txt
Run Code Online (Sandbox Code Playgroud)

UID 502 不存在。如果我们在本地添加该 UID/GID:

$ groupadd -g 502 jimmy
$ useradd -g 502 -u 502 jimmy
Run Code Online (Sandbox Code Playgroud)

现在显示:

$ ls -al
-rw-r--r--  1 jimmy     jimmy      1273 Mar 21  2013 imr1_test.txt
Run Code Online (Sandbox Code Playgroud)

现在改为root:

$ su -
$ chown …
Run Code Online (Sandbox Code Playgroud)

nfs chown

8
推荐指数
1
解决办法
7万
查看次数

查找命令 - 参数列表太长

Oracle Linux 5.10
BASH 外壳

[oracle@src01]$ getconf ARG_MAX
131072

[oracle@srv01]$ ls -1 | wc -l
40496

#!/bin/bash
#
# delete files in /imr_report_repo that are older than 15-days
find /imr_report_repo/* -maxdepth 0 -type f -mtime +15 |
while read file
do
    rm -f $file 
done

/usr/bin/find: Argument list too long
Run Code Online (Sandbox Code Playgroud)

如果我没看错的话,允许的最大参数是 131,072,而我在这个目录中只有 40,496 个文件。我还没有检查过,但我可能正在尝试删除 40,000 个文件(超过 2 周)。

find shell-script

3
推荐指数
2
解决办法
3万
查看次数

标签 统计

chown ×1

find ×1

nfs ×1

shell-script ×1