так что в принципе я хочу иметь возможность записывать данные с помощью stfp, но когда я его использую, он говорит, что разрешение отклонено. Я хочу иметь возможность делать это в этом каталоге, /home/user
поэтому когда я использую ls -l
команду, она имеет следующий вывод
total 8
drwxr-xr-x 2 root root 4096 Apr 22 21:43 FOLDER1
drwxr-xr-x 2 root root 4096 Apr 22 22:00 FOLDER2
Как мне узнать, кто является владельцем этого каталога. Я знаю, что могу использовать эту команду, chmod a+rw user
чтобы дать всем разрешение на чтение и запись, но я просто хочу дать его только одному пользователю. И в системе только один пользователь, но я могу создать больше в будущем. Я хочу понять концепцию владельца и групп. Дополнительные вопросы: - как посмотреть, какие группы есть. как создавать группы и как добавлять пользователей в эти группы.
решение1
Очень хороший и правильный ответ отухз
Единственное, что могло бы улучшить его, — это фактический пример (даже если он подразумевается). Поскольку я пока не могу комментировать (недостаточно очков репутации), мне придется написать дополнительный ответ, чтобы привести примеры.
Упрощенный синтаксис команды:
sudo chown username[:[groupname]] <filename>
sudo chown username[:[groupname]] <dirname>
Для следующих примеров это параметры
- имя пользователя:Джек
- Имя группы входа:птимер
- Название группы:Счета
- имя файла:фу
- имя каталога:клиенты
Файл foo
существует в системе, указанной server
в общем ресурсе, указанном data
в каталоге clients
.то есть //sever/data/clients/foo
Примеры: изменение владельца файла
1. admin@server:/data$ sudo chown jack clients/foo
2. admin@server:/data$ sudo chown jack: clients/foo
3. admin@server:/data$ sudo chown jack:accounts clients/foo
- сменить владельцафайлназванный
foo
вДжек - сменить владельцафайлназванный
foo
вДжеки группаптимер. Джек является членомГруппа входаназванныйптимер. В этом примереГруппа входаподразумевается под использованием:
после имени владельца - сменить владельцафайлназванный
foo
вДжеки группа дляaccounts
Примеры: смена владельца каталога
4. **admin@server:/data$** sudo chown jack clients
5. admin@server:/data$ sudo chown jack: clients
6. admin@server:/data$ sudo chown jack:accounts client
7. admin@server:/data$ sudo chown -R jack:accounts client
- сменить владельцакаталогназванный
clients
вДжек - сменить владельцакаталогназванный
clients
вДжеки группаптимер - сменить владельцакаталогназванный
clients
вДжеки группа дляaccounts
- сменить владельцакаталоги все файлы в каталоге с
clients
именемДжеки группа дляaccounts
Для получения дополнительной помощи см.:
chown --help
man chown
info chown
решение2
В вашем ls -l
выводе третий и четвертый столбцы — это пользователь (владелец) и группа (владелец) соответственно, поэтому обе ваши папки принадлежат пользователю root.
Если вы запустите chmod +006 yourfile
, это даст всем пользователям разрешение на чтение и запись в yourfile
. В этом случае root
владеет папкой, поэтому вам нужно будет использовать sudo
(или какой-либо другой метод, чтобы выполнить команду как root). Если вы хотите, чтобы доступ имел только один или несколько пользователей, вы можете использовать chown userowner[:groupowner]
(с sudo
), чтобы сделать этого пользователя или группу владельцем файла, и использовать , chmod +600
чтобы предоставить владельцу право на чтение и запись, а chmod +060
владельцу — право на чтение и запись.
Чтобы получить список групп, к которым принадлежит текущий пользователь, используйте groups username
. Чтобы получить список всех групп, вы можете использовать cat /etc/group
. getent group
также работает.
Чтобы создать новую группу, используйте groupadd
.
Чтобы добавить пользователя в группу, используйте usermod -Ga groupname username
. Если флаг не используется -a
, пользователь username
удаляется из всех текущих групп и присутствует только в новой группе groupname
.