Почему я не могу установить группу и владение одной папкой, не затрагивая другую?

Я обновил Ubuntu PC с 10.04 до 12.04.

Проблема в том, что все домашние права были недопустимы.

Итак, я сделал следующее:

sudo chown -R james:james /home/james/*
sudo chown -R james:james /home/james/.*
sudo chown -R htpc:htpc /home/htpc/*
sudo chown -R htpc:htpc /home/htpc/.*

Но вы получите все файлы в обеих папках либо в james: james, либо в htpc: htpc, в зависимости от того, каким образом вы запускаете команды.

Как стать связанный и как я могу его исправить?

В соответствии с запросом:

james@htpc:~$ ls -l /home
total 8
drwxr-xr-x 41 james james 4096 May 20 19:32 htpc
drwxr-xr-x 31 james james 4096 May 20 20:04 james
james@htpc:~$ ls -l /home/htpc
total 236
drwxr-xr-x  4 james james   4096 Nov 25 13:19 Desktop
drwxr-xr-x  2 james james   4096 Mar 13  2011 Documents
drwxr-xr-x  5 james james   4096 Dec 22  2010 Downloads
-rw-r--r--  1 james james    179 Nov 18  2010 examples.desktop
-rwxr-xr-x  1 james james     85 Dec 27  2010 goback
-rw-r--r--  1 james james    425 Nov 28  2010 modelines
drwxr-xr-x  5 james james   4096 Dec 27  2010 Music
drwxr-xr-x 22 james james   4096 Oct 29  2012 Pictures
drwxr-xr-x  2 james james   4096 Nov 18  2010 Public
drwxr-xr-x  2 james james   4096 Nov 18  2010 Templates
-rwxr-xr-x  1 james james    251 Dec 27  2010 testmode
drwxr-xr-x  2 james james   4096 Dec 23  2010 Videos
-rwxr-xr-x  1 james james 190672 Nov  6  2010 winetricks
james@htpc:~$ 
1
задан 21 May 2013 в 00:08

2 ответа

Каждая папка содержит файл с именем ... Этот файл отличается тем, что указывает на каталог, содержащий текущий рабочий каталог. Например:

$ pwd
/path/to/dir
$ cd ..
$ pwd
/path/to

Поскольку вы указали .* в качестве аргумента, оболочка расширяет его для каждого файла, начинающегося с «.», Включая ... Это означает, что ваша операция выполнялась во всем текущем рабочем каталоге, а также в родительском каталоге (/home). Поскольку вы указали рекурсивный, вы изменили каждый файл и каталог в своей папке /home на все, что вы указали. Фактически, вы, возможно, изменили владельца каждого отдельного файла в вашей системе. Я бы рекомендовал запустить ls -l /, чтобы проверить, произошло ли это - если это произойдет, вы, вероятно, столкнетесь с проблемами.

5
ответ дан 24 May 2018 в 21:59

Я использую это на своих компьютерах EC2 для исправления прав на домашнюю папку.

#fix home directories  
cd /home/  
for i in *; do   
    useradd $i  
    chown -R $i:$i /home/$i  
done  

Если вы делаете -R, вам не нужно использовать дикие карты. Просто выслушивайте верхний уровень, оставив остальных в покое. И как говорили другие. * Matches ..

0
ответ дан 24 May 2018 в 21:59

Другие вопросы по тегам:

Похожие вопросы: