Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Проблема: у пользователя в группе root нет доступа ни к ч
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Russian
View previous topic :: View next topic  
Author Message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Fri Nov 25, 2005 10:51 pm    Post subject: Проблема: у пользователя в групп Reply with quote

Например:
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
View user's profile Send private message
sa10
Apprentice
Apprentice


Joined: 20 Jan 2005
Posts: 251
Location: Canada

PostPosted: Sat Nov 26, 2005 8:56 am    Post subject: Reply with quote

Права в юниксе проверяются по очереди user > group > other
Если юзер получает отлуп, то дальше права не проверяются
Back to top
View user's profile Send private message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Sat Nov 26, 2005 10:36 am    Post subject: Reply with quote

sa10, а в каком случае проверка доходит до group прав?
Back to top
View user's profile Send private message
sa10
Apprentice
Apprentice


Joined: 20 Jan 2005
Posts: 251
Location: Canada

PostPosted: Mon Nov 28, 2005 8:18 am    Post subject: Reply with quote

Цитата из книги Клесникова:

Алгоритм проверки прав пользователя при обращении к файлу можно описать следующим образом. Система вначале проверяет, совпадает ли имя пользователя с именем владельца файла. Если эти имена совпадают (т. е. владелец обращается к своему файлу), то проверяется, имеет ли владелец соответствующее право доступа: на чтение, на запись или на выполнение. Если право такое есть, то соответствующая операция разрешается. Если же нужного права владелец не имеет, то проверка прав, предоставляемых через группу или через группу атрибутов доступа для остальных пользователей, уже даже не проверяются, а пользователю выдается сообщение о невозможности выполнения затребованного действия (обычно что-то вроде "Permission denied").
Если имя пользователя, обращающегося к файлу, не совпадает с именем владельца, то система проверяет, принадлежит ли владелец к группе, которая сопоставлена данному файлу (далее будем просто называть ее группой файла). Если принадлежит, то для определения возможности доступа к файлу используются атрибуты, относящиеся к группе, а на атрибуты для владельца и всех остальных пользователей внимания не обращается. Если же пользователь не является владельцем файла и не входит в группу файла, то его права определяются атрибутами для остальных пользователей. Таким образом, третья группа атрибутов, определяющих права доступа к файлу, относится ко всем пользователям, кроме владельца файла и пользователей, входящих в группу файла.
Back to top
View user's profile Send private message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Tue Nov 29, 2005 5:41 am    Post subject: Reply with quote

sa10, большое спасибо за подробное объяснение, как работают права в юниксе.

К сожалению, в моем случае проблема с правами у пользователя, не являющегося владельцем: uid пользователя != 0, а владелец - root, uid = 0. У меня почему-то не срабатывают права группы, gid=0, несмотря на наличие бита 040 (для /etc/sudoers) и битов 050 (для /bin/bash) в правах доступа открываемого/запускаемого файла.
Back to top
View user's profile Send private message
pv
Tux's lil' helper
Tux's lil' helper


Joined: 25 Mar 2005
Posts: 103
Location: Russia, Yaroslavl

PostPosted: Mon Dec 12, 2005 7:56 pm    Post subject: Reply with quote

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
View user's profile Send private message
viy
Veteran
Veteran


Joined: 03 Jul 2004
Posts: 1580
Location: Riga, Latvia

PostPosted: Mon Dec 12, 2005 9:11 pm    Post subject: Reply with quote

pv wrote:
А вообще, непонятно, почему невозможно запустить bash: ведь бит выполнения поставлен ДЛЯ ВСЕХ...

Этот бит начинает работать только в том случае, если пользователь не является владельцем файла и не входит в группу, к которой принадлежит файл. Его надо интерпретировать не для всх, а для всех остальных.
Back to top
View user's profile Send private message
pv
Tux's lil' helper
Tux's lil' helper


Joined: 25 Mar 2005
Posts: 103
Location: Russia, Yaroslavl

PostPosted: Wed Dec 14, 2005 5:08 pm    Post subject: Reply with quote

viy wrote:
pv wrote:
А вообще, непонятно, почему невозможно запустить bash: ведь бит выполнения поставлен ДЛЯ ВСЕХ...

Этот бит начинает работать только в том случае, если пользователь не является владельцем файла и не входит в группу, к которой принадлежит файл. Его надо интерпретировать не для всх, а для всех остальных.


С учётом листинга, бит выполнения поставлен для всех: для владельца, для группы, и для остальных.
_________________
Nothing but perfection.
Back to top
View user's profile Send private message
user11
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2005
Posts: 149

PostPosted: Fri Jan 27, 2006 11:03 pm    Post subject: Reply with quote

Всем спасибо за участие.

После долгих поисков выяснилась причина:
У меня для / стояли дурные права: 341,
В итоге группе root не позволялось открывать *никакие* файлы на диске.
В частности, пострадало sudo (так вот хитро оно устроено внутри, что пользуется группой root).

Проблема разрешилась командой
chmod 755 /

К сожалению, мне, более чем ламеру, для того, чтобы увидеть права на /, пришлось загрузиться с CD, замонтмровать свой системный раздел и посмотреть права через ls -l /mnt/ :-)

[offtopic]
Самое потрясающее в этой истории - то, что, когда я собрался отправить это сообщение, то сначала стал искать этот тред по ключевому слову 'sudoers' - и... да-да, чуть ли не первой же ссылкой было объяснение, как это лечится.
[/offtopic]
Back to top
View user's profile Send private message
pv
Tux's lil' helper
Tux's lil' helper


Joined: 25 Mar 2005
Posts: 103
Location: Russia, Yaroslavl

PostPosted: Thu Feb 02, 2006 11:11 pm    Post subject: Reply with quote

[offtopic]
Мне очень горько, что моя (и не только) способность искать ответ в другой плоскости исчезает с возрастом. :cry:
[/offtopic]
_________________
Nothing but perfection.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Russian All times are GMT
Page 1 of 1

 
Jump to:  
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