|
|
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
случилось вот что - некий пользователь и его основная группа поменяли идентификаторы (это пришлось сделать для nfs, но не суть) было 100, стало 102, к примеру. Замена в ручную в /etc/passwd есть ли возможность найти ВСЕ файлы, которые принадлежали пользователю этому, ну и перебить им хозяина/группу chown <u>:<g> <file>. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2011, 13:44 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
find -user <olduid> | xargs chown <newuid> find -gid <oldgid> | xargs chgrp <newgid> Это всё обломается на файлах с пробелами/переносами в строк в именах, поэтом find и xargs лучше взять от GNU, тогда можно будет использовать ключи -print0 и -0 в find/xargs. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2011, 14:22 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
Мутаген, спасибо! я вот так делаю для файлов Код: plaintext что-бы xarg а избежать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2011, 15:00 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
donner-gms, и порождаете кучу ненужных процессов, к слову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2011, 22:28 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
Мутаген, chown права портит: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2011, 06:16 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
Андрей Панфиловchown права портит: Код: plaintext 1. 2. 3. В том, что смена владельца сносит suid-флаг есть своя логика: предположим root перевел в свое владение некий скрипт. Если бы бит SUID не скинулся бы, то любой юзер, имея в 'x' в триплете Other, мог бы исполнять этот скрипт под правами root'а. Это естественно дыра, и поведение chown хоть и слегка вышла за рамки декларированной политики юникс, когда делается ровно то, что запросили, но все же речь о безопасности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2011, 13:03 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
donner-gms, find PATH CRITERIA | while read line; do mode=`stat --format=%a "$line"`; chown NEWUSER "$line"; chmod $mode "$line"; done ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2011, 15:44 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
К-рниган и Р-тчиdonner-gms, и порождаете кучу ненужных процессов, к слову. и? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2011, 19:00 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
Мутагенfind -user <olduid> | xargs chown <newuid> find -gid <oldgid> | xargs chgrp <newgid> интересно, а вызов xargs процессы типа не порождает? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2011, 19:04 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
Андрей ПанфиловМутаген, chown права портит: Сейчас проверил на Solaris 10, не сносит там родной chown suid bit. Ну и stat в комплекте десятой версии нету. вызов xargs процессы типа не порождает xargs запускает одну команду на 500 аргументов или около того, а -exec на каждый файл. В принципе xargs эффективнее, но на современном железе скорее всего незаметно на фоне дискового IO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2011, 23:13 |
|
||
|
массово заменить id пользователя и группы у всех файлов
|
|||
|---|---|---|---|
|
#18+
МутагенСейчас проверил на Solaris 10, не сносит там родной chown suid bit. Ну и stat в комплекте десятой версии нету.по этому поводу посикс пищет так:POSIXIf the specified file is a regular file, one or more of the S_IXUSR, S_IXGRP, or S_IXOTH bits of the file mode are set, and the process does not have appropriate privileges, the set-user-ID (S_ISUID) and set-group-ID (S_ISGID) bits of the file mode shall be cleared upon successful return from chown(). If the specified file is a regular file, one or more of the S_IXUSR, S_IXGRP, or S_IXOTH bits of the file mode are set, and the process has appropriate privileges, it is implementation-defined whether the set-user-ID and set-group-ID bits are altered. If the chown() function is successfully invoked on a file that is not a regular file and one or more of the S_IXUSR, S_IXGRP, or S_IXOTH bits of the file mode are set, the set-user-ID and set-group-ID bits may be cleared.У HP-UX "implementation-defined" поведение chown описано точно, в опенсорсном Linux вообще ни слова про срезание битов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2011, 00:34 |
|
||
|
|

start [/forum/topic.php?fid=25&fpage=83&tid=1484197]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 346ms |

| 0 / 0 |
