Уважаемы, прошу разьяснения касающиеся chmod и предоставление прав.
К сожалению мне не удается найти внятный материал для понимания процесса разделения прав для пользователей. Признаю, вопрос для продвинутых линуксоидов смешной).
Поставил Archlinux, создал пользователя через adduser, добавил его в группы аудио и тд. Но как я понял данный юзер имеет право на копирование, чтение, удаление и прочии операции с файлами, только в пределах своей категории (/home/user). Но вот к примеру я хочу установить фоновыю картинку для xfce4, и для этого картинку нужно скопировать в папку /usr/share/xfce4/bgrd. И в дальнейшем я так понимаю придется переодически залезать в другие папки и работать с другими файлами, за пределами домашней категории.
Скажите можно ли, назначить юзеру изначально права 777 (к примеру), чтоб он мог работать со всеми файлами на диске. Хотя тут получается, что с таким же успехом можно работать из под рута всегда и не создавать пользователя.
Как вариант, возможно назначить юзеру права 777 за исключением определенного списка файлов/папок, изменение которых поведет к плохим последствиям.
Прошу человеческого разьяснения)).
chmod (для новичка) (и как правильно управлять доступом)
Модераторы: SLEDopit, Модераторы разделов
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: chmod (для новичка)
рядовому пользователю не требуется менять ничего за пределами его домашнего каталога.
в частности:
если у вас, как у администратора машины, возникает задача что-либо поменять, то и делать это следует от имени администратора. стандартное имя для учётной записи администратора — root.
повседневная работа, не требующая административных привилегий, естественно, должна осуществляться из-под рядовой учётной записи.
и в этом нет ничего необычного. даже microsoft в руководствах по администрированию своей операционной системы советует ровно то же самое.
p.s. почитайте что-нибудь хорошее. ту же posix-book Алексея Федорчука. http://www.linuxcenter.ru/lib/books/posixbook/
в частности:
http://www.xfce.org/documentation/4.0/manu...ktop-backgroundCmndrAlexGreen писал(а): ↑16.11.2009 00:50Но вот к примеру я хочу установить фоновыю картинку для xfce4
если у вас, как у администратора машины, возникает задача что-либо поменять, то и делать это следует от имени администратора. стандартное имя для учётной записи администратора — root.
повседневная работа, не требующая административных привилегий, естественно, должна осуществляться из-под рядовой учётной записи.
и в этом нет ничего необычного. даже microsoft в руководствах по администрированию своей операционной системы советует ровно то же самое.
p.s. почитайте что-нибудь хорошее. ту же posix-book Алексея Федорчука. http://www.linuxcenter.ru/lib/books/posixbook/
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: chmod (для новичка)
Атрибуты доступа к данным
Любая компьютерная информация должна иметь определенные атрибуты, определяющие права доступа пользователей к этой информации. Доступ бывает трех типов: чтение, запись, выполнение. В случае с директориями (каталогами), выполнение означает получение информации о содержимом каталога. Атрибуты доступа к информации распространяются на три типа учетных записей: владелец информации, пользователи, входящие в группу, которой назначены определенные права доступа и все остальные. Таким образом, информации сначала необходимо назначить владельца и группу, после чего можно устанавливать права доступа.
Если ввести комманду ls -l, то вы увидете атрибуты доступа, отображающиеся в следующем виде: -rwxrwxrwx владелец:группа имя_файла, или drwxrwxrwx владелец:группа имя_каталога. Как можно догадаться, первая троица rwx отвечает за права доступа к информации владельца, вторая – группы, последняя – остальные пользователи. Соответственно, если атрибуты доступа выставлены в значение rwxr--r--, то в этом случае владелец имеет право читать, изменять и выполнять информацию, группа и все остальные – только читать.
Атрибуты можно устанавливать, используя цифры. При этом подходе атрибуты максимального доступа (всем все можно) - 777, т.к. в двоичной системе 7 = 111. Таким образом, атрибут получается равным 111 111 111. Первые три цифры относятся к владельцу файла/папки, вторые три - к группе (к пользователям, входящим в группу), а третьи - к остальным. В каждой троице по аналогии первая цифра - чтение, вторая - запись, третья - исполнение (запуск). В нашем примере это означает, что у владельца данного файла право на чтение = 1, на запись = 1 и на исполнение = 1. У группы и у остальных то же самое. Комманда chmod 765 somefile приведет к тому, что атрибуты файла somefile станут такими: -rwxrw-r-x user:group somefile.
Пояснение про цифры:
1 = 001 = --x (только выполнение)
2 = 010 = -w- (только запись)
3 = 011 = -wx (запись и выполнение)
4 = 100 = r-- (только чтение)
5 = 101 = r-x (чтение и выполнение)
6 = 110 = rw- (чтение и запись)
7 = 111 = rwx (чтение, запись и выполнение)
Логику единиц-нулей можно проследить.
Еще раз: одна цифра (например 7 или 4) соответствует 3 (трем!) битам (один или ноль). Эти три бита относятся к одной из категорий пользователей. Первая - про владельца, вторая про группу, трелья про остальных. Указывать только одну цифру (chmod 7 file) можно, но не нужно, запутаетесь. Лучше сразу 3 (или 4! см. википедию или ниже) цифры, например, 755 или 666 (т.е. сразу для Владельца, Группы и Остальных) или 1755.
Теперь про 4 цифры: она добавляется в начало, т.е. в случае 1755:
1 - дополнительные атрибуты
7 - атрибуты владельца
5 - атрибуты группы
5 - атрибуты остальных
Дополнительные атрибуты: они распространяются сразу на всех пользователей, т.е. в нашем случае "1" (001) первый "0" идет к владельцу, второй "0" идет к группе, а третья цифра "1" идет к остальным. При этом атрибуты эти отосятся только к битам "выполнение" (х), и в случае "1" меняют "x" на "S" (у пользователя и группы), или на "T" (у остальных).
Проще говоря, если мы на директорию с правами drwxrwxrwx (777) сделаем
chmod 0777 - права не изменятся
chmod 1777 - она станет drwxrwxrwT
chmod 2777 - drwxrwSrwx
chmod 3777 - drwxrwSrwT
...
chmod 7777 - drwSrwSrwT
Подробнее про "S" и "T", что это и чем это может быть удобнее, чем просто "x" читать ниже.
Подробнее про chmod можно почитать в википедии
Еще атрибуты можно устанавливать, используя символы - буквы - ugoa+-=rwxXst.
u = user - пользователь-владелец файла/каталога
g = group - группа пользователей
o = other - все остальные пользователи
a = all - все, и владелец, и группа, и остальные
r = read - чтение
w = write - запись
x = execute - выполнение
s = set user or group ID on execution - выполнение с правами владельца\группы (применимо только к владельцу и группе)
t = restricted deletion flag or sticky bit - запись\удаление только на "свои" файлы (у кого Вы являетесь владельцем)
Таким образом менять можно конкретный бит (биты) атрибутов доступа:
chmod u+r file (владелец будет читать)
chmod ug-rw file (владелец и группа НЕ будут читать и писать)
chmod ugo+rwx file (владелец, группа и все остальные будут читать, писать и выполнять, т.е. 777)
chmod +rwx file (тоже самое)
chmod go+w,u-r file (группа и остальные будут писать, а владелец НЕ будет читать)
chmod u=r file (в атрибутах доступа, относящихся к владельцу будет выставлено разрешение на чтение. Остальные будут запрещены)
chmod u+s file (кто бы ни попытался его выполнить, запуск будет происходить от имени владельца без запроса его пароля)
chmod +t dir (dir станет распределенным каталогом. РК - это каталог, куда вы можете записывать свои файлы, читать чужие (если можно), а стирать и переименовывать ТОЛЬКО СВОИ)
и так далее.
Не смотря ни на какие атрибуты, пользователь root имеет доступ к любой информации в системе, что делает получение прав администратора злоумышленником еще более привлекательным.
Любая компьютерная информация должна иметь определенные атрибуты, определяющие права доступа пользователей к этой информации. Доступ бывает трех типов: чтение, запись, выполнение. В случае с директориями (каталогами), выполнение означает получение информации о содержимом каталога. Атрибуты доступа к информации распространяются на три типа учетных записей: владелец информации, пользователи, входящие в группу, которой назначены определенные права доступа и все остальные. Таким образом, информации сначала необходимо назначить владельца и группу, после чего можно устанавливать права доступа.
Если ввести комманду ls -l, то вы увидете атрибуты доступа, отображающиеся в следующем виде: -rwxrwxrwx владелец:группа имя_файла, или drwxrwxrwx владелец:группа имя_каталога. Как можно догадаться, первая троица rwx отвечает за права доступа к информации владельца, вторая – группы, последняя – остальные пользователи. Соответственно, если атрибуты доступа выставлены в значение rwxr--r--, то в этом случае владелец имеет право читать, изменять и выполнять информацию, группа и все остальные – только читать.
Атрибуты можно устанавливать, используя цифры. При этом подходе атрибуты максимального доступа (всем все можно) - 777, т.к. в двоичной системе 7 = 111. Таким образом, атрибут получается равным 111 111 111. Первые три цифры относятся к владельцу файла/папки, вторые три - к группе (к пользователям, входящим в группу), а третьи - к остальным. В каждой троице по аналогии первая цифра - чтение, вторая - запись, третья - исполнение (запуск). В нашем примере это означает, что у владельца данного файла право на чтение = 1, на запись = 1 и на исполнение = 1. У группы и у остальных то же самое. Комманда chmod 765 somefile приведет к тому, что атрибуты файла somefile станут такими: -rwxrw-r-x user:group somefile.
Пояснение про цифры:
1 = 001 = --x (только выполнение)
2 = 010 = -w- (только запись)
3 = 011 = -wx (запись и выполнение)
4 = 100 = r-- (только чтение)
5 = 101 = r-x (чтение и выполнение)
6 = 110 = rw- (чтение и запись)
7 = 111 = rwx (чтение, запись и выполнение)
Логику единиц-нулей можно проследить.
Еще раз: одна цифра (например 7 или 4) соответствует 3 (трем!) битам (один или ноль). Эти три бита относятся к одной из категорий пользователей. Первая - про владельца, вторая про группу, трелья про остальных. Указывать только одну цифру (chmod 7 file) можно, но не нужно, запутаетесь. Лучше сразу 3 (или 4! см. википедию или ниже) цифры, например, 755 или 666 (т.е. сразу для Владельца, Группы и Остальных) или 1755.
Теперь про 4 цифры: она добавляется в начало, т.е. в случае 1755:
1 - дополнительные атрибуты
7 - атрибуты владельца
5 - атрибуты группы
5 - атрибуты остальных
Дополнительные атрибуты: они распространяются сразу на всех пользователей, т.е. в нашем случае "1" (001) первый "0" идет к владельцу, второй "0" идет к группе, а третья цифра "1" идет к остальным. При этом атрибуты эти отосятся только к битам "выполнение" (х), и в случае "1" меняют "x" на "S" (у пользователя и группы), или на "T" (у остальных).
Проще говоря, если мы на директорию с правами drwxrwxrwx (777) сделаем
chmod 0777 - права не изменятся
chmod 1777 - она станет drwxrwxrwT
chmod 2777 - drwxrwSrwx
chmod 3777 - drwxrwSrwT
...
chmod 7777 - drwSrwSrwT
Подробнее про "S" и "T", что это и чем это может быть удобнее, чем просто "x" читать ниже.
Подробнее про chmod можно почитать в википедии
Еще атрибуты можно устанавливать, используя символы - буквы - ugoa+-=rwxXst.
u = user - пользователь-владелец файла/каталога
g = group - группа пользователей
o = other - все остальные пользователи
a = all - все, и владелец, и группа, и остальные
r = read - чтение
w = write - запись
x = execute - выполнение
s = set user or group ID on execution - выполнение с правами владельца\группы (применимо только к владельцу и группе)
t = restricted deletion flag or sticky bit - запись\удаление только на "свои" файлы (у кого Вы являетесь владельцем)
Таким образом менять можно конкретный бит (биты) атрибутов доступа:
chmod u+r file (владелец будет читать)
chmod ug-rw file (владелец и группа НЕ будут читать и писать)
chmod ugo+rwx file (владелец, группа и все остальные будут читать, писать и выполнять, т.е. 777)
chmod +rwx file (тоже самое)
chmod go+w,u-r file (группа и остальные будут писать, а владелец НЕ будет читать)
chmod u=r file (в атрибутах доступа, относящихся к владельцу будет выставлено разрешение на чтение. Остальные будут запрещены)
chmod u+s file (кто бы ни попытался его выполнить, запуск будет происходить от имени владельца без запроса его пароля)
chmod +t dir (dir станет распределенным каталогом. РК - это каталог, куда вы можете записывать свои файлы, читать чужие (если можно), а стирать и переименовывать ТОЛЬКО СВОИ)
и так далее.
Не смотря ни на какие атрибуты, пользователь root имеет доступ к любой информации в системе, что делает получение прав администратора злоумышленником еще более привлекательным.
-
BIgAndy
- Сообщения: 1923
Re: chmod (для новичка)
CmndrAlexGreen писал(а): ↑16.11.2009 00:50Скажите можно ли, назначить юзеру изначально права 777 (к примеру), чтоб он мог работать со всеми файлами на диске.
Сдуру, конечно можно, но в трезвом уме -нет.
-
CmndrAlexGreen
- Сообщения: 71
- ОС: XP
Re: chmod (для новичка)
pelmen, этот материал я уже читал)).
BIgAndy, данный приемер я взял из убунты, у моего знакомого при покупке ноута у пользователя были права 777))).
sash-kan, в общем я с многим еще не сталкивался, возможно и небудет необходимости пользователем чтото менять, но опять же к xfce- первый раз, когда я ставил Arch и начал его освивать, я менял настройки рабочего стола (темы, иконки, всякие галочки) и xfce после перезапуска не сохранял эти настройки, пока я не дал права пользователю на изменения в папку, где xfce хранит свои конфигурационные файлы.
Возможно я конечно дал маху))), решив дать пользователю права 777, да это конечно крайность)). Но мнеб хотелось услышать о том как обычно делает бывалый пользователь-Unix, в смысле прям по полочкам как шаблон для других (начинающих) пользователей.
По типу:
первм делом с помощью команды adduser, создаем пользователя, включаем его в такие-то, такие-то группы. Далее открываем ему доступ к тем-то, тем-то папкам (с перспективой на то что там чтото придется изменять или править). И тд.
Из всего материала нет не одного простого мана, для несоображающих в Linux'ax юзеров. Книжки-то я начал читать, и Федорчука пытаюсь переварить, на на это все нужно время, а работать нужно сегодня)).
BIgAndy, данный приемер я взял из убунты, у моего знакомого при покупке ноута у пользователя были права 777))).
sash-kan, в общем я с многим еще не сталкивался, возможно и небудет необходимости пользователем чтото менять, но опять же к xfce- первый раз, когда я ставил Arch и начал его освивать, я менял настройки рабочего стола (темы, иконки, всякие галочки) и xfce после перезапуска не сохранял эти настройки, пока я не дал права пользователю на изменения в папку, где xfce хранит свои конфигурационные файлы.
Возможно я конечно дал маху))), решив дать пользователю права 777, да это конечно крайность)). Но мнеб хотелось услышать о том как обычно делает бывалый пользователь-Unix, в смысле прям по полочкам как шаблон для других (начинающих) пользователей.
По типу:
первм делом с помощью команды adduser, создаем пользователя, включаем его в такие-то, такие-то группы. Далее открываем ему доступ к тем-то, тем-то папкам (с перспективой на то что там чтото придется изменять или править). И тд.
Из всего материала нет не одного простого мана, для несоображающих в Linux'ax юзеров. Книжки-то я начал читать, и Федорчука пытаюсь переварить, на на это все нужно время, а работать нужно сегодня)).
-
deadhead
- Сообщения: 1913
- Статус: zzz..z
Re: chmod (для новичка)
CmndrAlexGreen писал(а): ↑16.11.2009 16:51Далее открываем ему доступ к тем-то, тем-то папкам (с перспективой на то что там чтото придется изменять или править). И тд.
Этого не делают
:-)
Вам, как пользователю, не нужно что-то изменять в системе. Если существет необходимость запуска программ используйте sudo.
P.S. Десять заповедей начинающего пользователя Linux
[x] close
-
CmndrAlexGreen
- Сообщения: 71
- ОС: XP
Re: chmod (для новичка)
Тоесть, создав пользователя, его только дабавляют в определенные группы и все). Доступ (777) к папкам, только тем, которыми владеет этот пользователь. И тоесть на перспективу, для простого пользователя не понадобится дуступ к сторонним папкам.
Вот теперь понятно.
Всем спасибо.
Вот теперь понятно.
Всем спасибо.
-
deadhead
- Сообщения: 1913
- Статус: zzz..z
Re: chmod (для новичка)
CmndrAlexGreen писал(а): ↑16.11.2009 17:05Тоесть, создав пользователя, его только дабавляют в определенные группы и все). Доступ (777) к папкам, только тем, которыми владеет этот пользователь. И тоесть на перспективу, для простого пользователя не понадобится дуступ к сторонним папкам.
Вот теперь понятно.
Всем спасибо.
Совершенно верно! :-)
Вам остается лишь следить (как администратору) что бы пользователь своевременно поподал в нужные группы, например, audio для воспроизведения музыки/звуков или games для запуска игр. Названия групп и области их охвата зависят от дистрибтива, и, как правило, подробно описаны в документации.
chmod может вам пригодиться при создании общих с другими пользователями данных, но в этом случае вы можете завести отдельную группу, и добавить "привелигированнх" пользователей в эту группу, выстовив при этом соответсвующие права для группы на "расшаренные" данные. Эти действия опять же лучше выполнять от имени администратора :-)
[x] close
-
drBatty
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: chmod (для новичка)
CmndrAlexGreen писал(а): ↑16.11.2009 16:51Возможно я конечно дал маху))), решив дать пользователю права 777
это как у вас получилось-то? Вроде-бы можно давать права только файлам, ну или менять umask.
или вы ВСЕМ файлам дали 777?! Это не просто плохо, это чрезвычайно недальновидно
ЗЫЖ если вам нечего скрывать, используйте права 644 (umask 0022), или права 600(640), если есть что скрывать
deadhead писал(а): ↑16.11.2009 17:11chmod может вам пригодиться при создании общих с другими пользователями данных, но в этом случае вы можете завести отдельную группу, и добавить "привелигированнх" пользователей в эту группу, выстовив при этом соответсвующие права для группы на "расшаренные" данные. Эти действия опять же лучше выполнять от имени администратора :-)
это и нельзя делать не от админа (если можно, то это венда).