View previous topic :: View next topic |
Author |
Message |
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Fri Nov 25, 2005 10:51 pm Post subject: Проблема: у пользователя в групп |
|
|
Например:
hostname ~ # su operator
Cannot execute /bin/bash: Permission denied
hostname ~ # cat /etc/passwd |grep operator
operator:x:11:0:operator:/root:/bin/bash
hostname ~ # ls -l /bin/bash
-rwxr-xr-x 1 root root 569724 Июл 30 15:06 /bin/bash
hostname ~ #
Наиболее остро эта проблема проявляется в полной невозможности воспользоваться sudo:
hostname ~ # sudo su -
sudo: can't open /etc/sudoers: Permission denied
sendmail: Cannot open mail:25
hostname ~ # ls -l /etc/sudoers
-r--r----- 1 root root 1690 Ноя 23 22:04 /etc/sudoers
hostname ~ # cat /etc/sudoers |grep root
# This file MUST be edited with the 'visudo' command as root.
root ALL=(ALL) ALL
hostname ~ #
(strace sudo, а также изучения исходников sudo показывает, что перед чтением /etc/sudoers, sudo выставляет euid=1, оставаясь в egid=0, - так что эта проблема также соответствует теме сообщения)
Примечательно, что при этом у самого рута, а также у пользователей в других группах, все в порядке (кроме sudo).
Подскажите, в каком мане читать? |
|
Back to top |
|
|
sa10 Apprentice
Joined: 20 Jan 2005 Posts: 251 Location: Canada
|
Posted: Sat Nov 26, 2005 8:56 am Post subject: |
|
|
Права в юниксе проверяются по очереди user > group > other
Если юзер получает отлуп, то дальше права не проверяются |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Sat Nov 26, 2005 10:36 am Post subject: |
|
|
sa10, а в каком случае проверка доходит до group прав? |
|
Back to top |
|
|
sa10 Apprentice
Joined: 20 Jan 2005 Posts: 251 Location: Canada
|
Posted: Mon Nov 28, 2005 8:18 am Post subject: |
|
|
Цитата из книги Клесникова:
Алгоритм проверки прав пользователя при обращении к файлу можно описать следующим образом. Система вначале проверяет, совпадает ли имя пользователя с именем владельца файла. Если эти имена совпадают (т. е. владелец обращается к своему файлу), то проверяется, имеет ли владелец соответствующее право доступа: на чтение, на запись или на выполнение. Если право такое есть, то соответствующая операция разрешается. Если же нужного права владелец не имеет, то проверка прав, предоставляемых через группу или через группу атрибутов доступа для остальных пользователей, уже даже не проверяются, а пользователю выдается сообщение о невозможности выполнения затребованного действия (обычно что-то вроде "Permission denied").
Если имя пользователя, обращающегося к файлу, не совпадает с именем владельца, то система проверяет, принадлежит ли владелец к группе, которая сопоставлена данному файлу (далее будем просто называть ее группой файла). Если принадлежит, то для определения возможности доступа к файлу используются атрибуты, относящиеся к группе, а на атрибуты для владельца и всех остальных пользователей внимания не обращается. Если же пользователь не является владельцем файла и не входит в группу файла, то его права определяются атрибутами для остальных пользователей. Таким образом, третья группа атрибутов, определяющих права доступа к файлу, относится ко всем пользователям, кроме владельца файла и пользователей, входящих в группу файла. |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Tue Nov 29, 2005 5:41 am Post subject: |
|
|
sa10, большое спасибо за подробное объяснение, как работают права в юниксе.
К сожалению, в моем случае проблема с правами у пользователя, не являющегося владельцем: uid пользователя != 0, а владелец - root, uid = 0. У меня почему-то не срабатывают права группы, gid=0, несмотря на наличие бита 040 (для /etc/sudoers) и битов 050 (для /bin/bash) в правах доступа открываемого/запускаемого файла. |
|
Back to top |
|
|
pv Tux's lil' helper
Joined: 25 Mar 2005 Posts: 103 Location: Russia, Yaroslavl
|
Posted: Mon Dec 12, 2005 7:56 pm Post subject: |
|
|
ll /usr/bin/sudo
---s--x--x ......
Заметь 's' в правах владельца. Это значит, что процесс будет запущен от имени владельца (рута) с самого начала. Аналогично /bin/su.
Если их нет, запусти
Code: | chmod u+s /usr/bin/sudo
chmod u+s /bin/su
|
А вообще, непонятно, почему невозможно запустить bash: ведь бит выполнения поставлен ДЛЯ ВСЕХ... _________________ Nothing but perfection. |
|
Back to top |
|
|
viy Veteran
Joined: 03 Jul 2004 Posts: 1580 Location: Riga, Latvia
|
Posted: Mon Dec 12, 2005 9:11 pm Post subject: |
|
|
pv wrote: | А вообще, непонятно, почему невозможно запустить bash: ведь бит выполнения поставлен ДЛЯ ВСЕХ... |
Этот бит начинает работать только в том случае, если пользователь не является владельцем файла и не входит в группу, к которой принадлежит файл. Его надо интерпретировать не для всх, а для всех остальных. |
|
Back to top |
|
|
pv Tux's lil' helper
Joined: 25 Mar 2005 Posts: 103 Location: Russia, Yaroslavl
|
Posted: Wed Dec 14, 2005 5:08 pm Post subject: |
|
|
viy wrote: | pv wrote: | А вообще, непонятно, почему невозможно запустить bash: ведь бит выполнения поставлен ДЛЯ ВСЕХ... |
Этот бит начинает работать только в том случае, если пользователь не является владельцем файла и не входит в группу, к которой принадлежит файл. Его надо интерпретировать не для всх, а для всех остальных. |
С учётом листинга, бит выполнения поставлен для всех: для владельца, для группы, и для остальных. _________________ Nothing but perfection. |
|
Back to top |
|
|
user11 Tux's lil' helper
Joined: 25 Nov 2005 Posts: 149
|
Posted: Fri Jan 27, 2006 11:03 pm Post subject: |
|
|
Всем спасибо за участие.
После долгих поисков выяснилась причина:
У меня для / стояли дурные права: 341,
В итоге группе root не позволялось открывать *никакие* файлы на диске.
В частности, пострадало sudo (так вот хитро оно устроено внутри, что пользуется группой root).
Проблема разрешилась командой
chmod 755 /
К сожалению, мне, более чем ламеру, для того, чтобы увидеть права на /, пришлось загрузиться с CD, замонтмровать свой системный раздел и посмотреть права через ls -l /mnt/
[offtopic]
Самое потрясающее в этой истории - то, что, когда я собрался отправить это сообщение, то сначала стал искать этот тред по ключевому слову 'sudoers' - и... да-да, чуть ли не первой же ссылкой было объяснение, как это лечится.
[/offtopic] |
|
Back to top |
|
|
pv Tux's lil' helper
Joined: 25 Mar 2005 Posts: 103 Location: Russia, Yaroslavl
|
Posted: Thu Feb 02, 2006 11:11 pm Post subject: |
|
|
[offtopic]
Мне очень горько, что моя (и не только) способность искать ответ в другой плоскости исчезает с возрастом.
[/offtopic] _________________ Nothing but perfection. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|