У меня проблема с копированием файлов в каталог на Ubuntu 12.04. Я создаю каталог в домашнем каталоге, чтобы путь, в который я хочу скопировать, был:
/home/sixven/camp_sms/inputs
Но когда ini запускает следующую команду в терминале, чтобы создать образец файла следующим образом:
francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make `touch' on «test_file.txt»: permission denied
Я не могу копировать файлы прямо в этот каталог. Как назначить разрешения с помощью команд chown
& chmod
для копирования файлов?
Я не знаю, какого пользователя и группу использовать.
/home/sixven
? Почему его нет в вашем домашнем каталоге?francisco-vergara
, но ваш каталог находится в/home/sixven
том, что он действительно является домом пользователяfrancisco-vergera
или принадлежит емуsixven
? Вы должны уточнить, что именно вы хотите сделать. Написать в чужом доме? Поделиться этим каталогом среди группы?Ответы:
Прежде всего вы должны знать, что разрешение по умолчанию для каталогов в Ubuntu - 644, что означает, что вы не можете создать файл в каталоге, который вы не являетесь владельцем.
Вы пытаетесь
user:francisco-vergara
создать файл в каталоге,/home/sixven/camp_sms/inputs
который принадлежитuser:sixven
.Итак, как решить это:
Вы можете изменить разрешение каталога и разрешить другим создавать файлы внутри.
Эта команда рекурсивно изменит разрешение каталога и позволит всем другим пользователям создавать / изменять и удалять файлы и каталоги внутри.
Вы можете изменить владельца корабля этого каталога и сделать
user:francisco-vergara
его владельцемНо, как это,
user:sixven
вы не можете снова писать в эту папку, и, таким образом, вы можете двигаться по круговому бесконечному циклу.Поэтому я советую вам использовать вариант 1.
Или, если к этому каталогу будут обращаться оба пользователя, вы можете сделать следующий трюк:
смените владельца каталога на
user:francisco-vergara
и сохраните владельца группыgroup:sixven
.Таким образом, оба пользователя все еще могут использовать каталог.
Но, как я уже говорил, проще всего и эффективнее использовать вариант 1.
источник
Чтобы изменить владельца файла, сделайте это от имени пользователя root:
Если вы решили пойти по пути chmod:
Если вы знаете, что пользователь является частью группы файла
Иначе:
Но этот путь не слишком безопасен.
источник
По умолчанию UMASK 022 (в Ubuntu), поэтому разрешения для / дома / имя пользователя становится 755. , и вы вошли в систему как пользователь
francisco-vergara
и пытается создать файлы пользователя sixyen Home: то есть/home/sixven
. он не имеет разрешения на запись для других пользователей. Только пользователь / группаsixven
имеет право на запись.если вам нужен доступ для записи в этот каталог, то вам нужно быть частью группы,
sixven
использующейusermod -G sixyen francisco-vergara
ИЛИchmod -R 777 /home/sixven
(не используйте это плохая практика).источник