chown - Різниця між користувачем та користувачем: user


13

Яка різниця між:

sudo chown $USER:$USER

і

sudo chown $USER

Чому це 2 рази? Один користувач помиляється? Коли я переглядаю дозволи namei -l, часто бачу такі речі, як root rootабо proxy proxy.

Чому власника потрібно визначити та вказати 2 рази?

Відповіді:


16

Команда chown використовується для зміни власника та власника групи файлів чи каталогів. Для використання цієї команди потрібні привілеї суперпользователя. Синтаксис chown виглядає приблизно так:

chown [owner][:[group]] file...

chown може змінити власника файлу та / або власника групи файлів залежно від першого аргументу команди. Ось кілька прикладів:

chown owner file приклад:

chown bob file --> Changes the ownership of the file from its current owner to user bob.

chown owner:group file приклад:

chown bob:users file --> Changes the ownership of the file from its current owner to user bob and changes the file group owner to group users.

chown :group file приклад:

 chown :admins file --> Changes the group owner to the group admins. The file owner is unchanged.

chown owner: file приклад:

chown bob: file --> Change the file owner from the current owner to user bob and changes the group owner to the login group of user bob.

Прочитайте цей чудовий підручник https://www.linode.com/docs/tools-reference/linux-users-and-groups . Це показує деяку інформацію про користувача, групи, дозволи, ...


Дякую. Однак яка користь навіть від використання груп? Це те, що всі користувачі його групи володіють, а не просто бобом?
TheBro21

припустимо, ви хочете надати дозвіл іншим користувачам, крім власника !! саме тому використовуйте групи, ви можете створити для них групу і дати їй дозволи
Maythux

Вам потрібні групи в основному на серверних машинах, які використовуються для декількох користувачів. Скажімо, у вас є сервер, на якому люди, які працюють у вашій компанії над проектом a та b, мають облікові записи користувачів. Тепер ви можете надати групі компаній дозвіл на файли, до яких потрібно отримати доступ, та встановити право власності на всі проекти на файли до групи "проект a". Таким чином, ніхто з проекту b не зможе отримати доступ до файлів проекту.
til_b

Групи потрібні і на робочому столі, наприклад, для судо, діалоту, сканування тощо
Pilot6,

Якщо користувач є власником, sudoколи-небудь знадобиться для виконання файлу?
Матвій

5

Це не так user:user, але user:group.

Це формат команди

chown [OPTION]... [OWNER][:[GROUP]] FILE...

Група користувачів може включати багато користувачів. Ось деякі відомості щодо груп:

Linux використовує групи як спосіб організації користувачів. Групи організовують збір облікових записів, в першу чергу в якості заходів безпеки. Контроль над членством у групі здійснюється за допомогою файлу / etc / group, який показує список груп та його членів. Кожен користувач має групу за замовчуванням або основну групу. Коли користувач входить у систему, членство в групі встановлюється для їх основної групи. Це означає, що коли користувач запускає програму або створює файл, і файл, і запущена програма будуть пов'язані з поточним членством у групі користувача. Користувач може отримувати доступ до інших файлів в інших групах, якщо вони також є членом цієї групи та встановлені дозволи доступу. Щоб запустити програми або створити файл у іншій групі, користувач повинен виконати команду newgrp, щоб переключити їх поточну групу.

Файл належить користувачеві та групі. За замовчуванням він належить користувачеві, який створив файл, і його групі за замовчуванням, якщо він не змінений.

У вашому випадку користувач rootє членом групи root.


Яка різниця між користувачем та групою? Я не бачу різниці між rootі root rootЩо робить група? Я розумію розділ власника, хоча
TheBro21

Коли ви додаєте користувача до linux, він створює групу з таким ім'ям. Група містить користувачів. Скажімо, у вас є бухгалтерія, і ви хочете, щоб ваші облікові відділи мали доступ для запису з читанням. Ви можете додати всіх людей до групи облікових записів і дати дозвіл на читання запису у відповідну папку / файл.
дедунумакс

Якщо ви запускаєте cut -d: -f1 /etc/groupкоманду, ви можете побачити повний список груп у вашій системі. unix.stackexchange.com/questions/153390/… може допомогти вам зрозуміти, чому існує група з ім'ям користувача
dedunumax

2

man chownдає опис та використання та іншу корисну інформацію про chownкоманду.

NAME
       chown - change file owner and group

SYNOPSIS
       chown [OPTION]... [OWNER][:[GROUP]] FILE...
       chown [OPTION]... --reference=RFILE FILE...

Формуючи інформацію, надану сторінкою man, ми можемо знати, що chown $USER:$USERзмінює власника та групу цільового файлу $USER, а chown $USERлише змінює власника цільового файлу на $USER, залишаючи групу цільового файлу незмінною.

Деталі (зі сторінки чоловіка) слідують:

Owner  is  unchanged  if  missing.   Group is unchanged if missing, but changed to
login group if implied by a ':' following a symbolic OWNER.  OWNER and  GROUP  may
be numeric as well as symbolic.

Так chown $USER:$USERможна скоротити як chown $USER:.

Виходи , як root rootвід namei -lкоманди означає , що власник і група цього файлу обидва встановлені в root. Це не визначено та не вказано власником двічі. Власник і група - це два споріднених, але різних поняття. А у файлі завжди є власник і група.


Що стосується використання chownкоманди, великі шанси на отримання привілею суперпользователя потрібні, оскільки, ймовірно, можна передати право власності на файл при використанні chownкоманди. Однак це не завжди правда.

Скажімо, у нас є користувач на ім’я 'test', який належить до кількох груп. idкоманда дає наступний вихід:

uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),110(sambashare)

І користувачеві 'test' належить такий файл:

-rw-r--r-- 1 test test 0 May 27 23:34 test_file

Тоді ми можемо змінити групу test_fileна sambashareбез привілею суперпользователя, оскільки користувачеві 'test' одночасно належить до групи 'test' та група 'sambashare', користувач 'test' вже має достатній дозвіл на зміну групи файлів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.