亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 求命令更改多個文件夾下所有文件owner為父文件夾owner [打印本頁]

作者: wildlily980    時間: 2013-10-08 23:14
標題: 求命令更改多個文件夾下所有文件owner為父文件夾owner
本帖最后由 wildlily980 于 2013-10-08 23:15 編輯

/home/A,owner 為a_user
/home/B,owner 為b_user
And c and so on
.......................................
如何更改所有/home/* 下文件為父目錄owner?
可否一條命令?或者必須bash script?
作者: chenyx    時間: 2013-10-09 08:26
沒看懂,在用chown修改目錄宿主的時候,加-R參數,文件夾已經下面文件的屬性就一起修改了
作者: Shell_HAT    時間: 2013-10-09 08:54
  1. chown -R xxoo:xxoo /home
復制代碼

作者: wildlily980    時間: 2013-10-09 09:46
chenyx 發(fā)表于 2013-10-09 08:26
沒看懂,在用chown修改目錄宿主的時候,加-R參數,文件夾已經下面文件的屬性就一起修改了

沒描述清楚,簡單說,這個是虛擬主機的目錄,有幾百個,每個目錄有不同的所有者,a_user,b_user…
home/A 下面的文件或目錄都要改為owner=a_user
home/B下面的文件或目錄都要改為owner=b_user
作者: wildlily980    時間: 2013-10-09 09:47
Shell_HAT 發(fā)表于 2013-10-09 08:54

不是這個意思

home/A 下面的文件或目錄都要改為owner=a_user
home/B下面的文件或目錄都要改為owner=b_user
作者: chenyx    時間: 2013-10-09 09:49
幾百個,那你寫腳本吧.
作者: Shell_HAT    時間: 2013-10-09 09:50
回復 5# wildlily980


可否一條命令?

不可以
作者: zongg    時間: 2013-10-09 09:54
那需要你把
/home/A,owner 為a_user
/home/B,owner 為b_user

的對應關系寫在一個文件里,然后再寫一個腳本。就可以了。
作者: jackyyen    時間: 2013-10-09 10:54
不錯哦

chenyx 發(fā)表于 2013-10-09 08:26
沒看懂,在用chown修改目錄宿主的時候,加-R參數,文件夾已經下面文件的屬性就一起修改了

作者: humjb_1983    時間: 2013-10-09 10:59
寫個腳本封裝一下,就成了一個命令了。
作者: yanu    時間: 2013-10-09 14:15
cd /home
ls | xargs -I{} echo chown -R {}:{} {}_user

檢查下有沒有出錯,然后把echo去掉
作者: chenyx    時間: 2013-10-09 14:22
樓上的思路很給力,贊一個.
作者: milujite    時間: 2013-10-09 15:03
本帖最后由 milujite 于 2013-10-09 15:30 編輯

沒看懂樓主需求啊,樓主的需求是把home目錄下的所有子目錄換成小寫,并加上_user作為用戶名,修改該子目錄下所有文件用戶為x_user對吧?
  1. #!/bin/bash
  2. dir="/home";
  3. for x in $(ls $dir)
  4. do
  5. {
  6.         ftype=$(stat -c %F $x);
  7.         if [ "$ftype" == "directory" ] ;
  8.         then
  9.         {
  10.                 newuser="$(echo $x |tr A-Z a-z)_user";
  11.                 chown -R $newuser $x;
  12.         }
  13.         fi;
  14. }
  15. done
復制代碼
如果只是修改和/home下的子目錄一樣的用戶,這樣就好了
  1. #!/bin/bash
  2. dir="/home";
  3. for x in $(ls $dir)
  4. do
  5. {
  6.         ftype=$(stat -c %F $x);
  7.         if [ "$ftype" == "directory" ] ;
  8.         then
  9.         {
  10.                 chown -R $(stat -c %U $x) $x;
  11.         }
  12.         fi;
  13. }
  14. done
復制代碼

作者: wildlily980    時間: 2013-10-09 16:14
本帖最后由 wildlily980 于 2013-10-09 16:14 編輯
milujite 發(fā)表于 2013-10-09 15:03
沒看懂樓主需求啊,樓主的需求是把home目錄下的所有子目錄換成小寫,并加上_user作為用戶名,修改該子目錄下 ...

謝謝你,連腳本都給出來了。
主要是原來php是dso模式運行的。然后要改為suphp,然后很多生成的文件的屬主要更改。
已經找到一個現成的腳本了。
作者: yanu    時間: 2013-10-09 16:28
本帖最后由 yanu 于 2013-10-09 16:29 編輯

- - 又看錯題了..

find . -maxdepth 1 -type d -regex '^\./..*$' -printf "chown -R  %u:%g %p\n" | sh

測試的時候去掉 |sh
忘了怎么忽略path/. 這個文件夾了,只好加個正則過濾下
作者: wildlily980    時間: 2013-10-09 19:55
回復 15# yanu


    終于有人看懂我的意思了。謝謝你,留給后來人吧




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2