информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / sysadmin
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Нет, tmpdir вовсе не определена, так что unset не должен иметь эффект 19.09.06 09:23  Число просмотров: 2403
Автор: Skeeve [Moscow SubTeam] <Vladimir Medvedev> Статус: Elderman
<"чистая" ссылка>
<sysadmin>
samba глючит при запуске скриптом 17.09.06 02:20  
Автор: Skeeve [Moscow SubTeam] <Vladimir Medvedev> Статус: Elderman
Отредактировано 17.09.06 10:37  Количество правок: 1
<"чистая" ссылка>
Подскажите, плиз, где копать? В гугле подобных симптомов не нашел.
Суть проблемы в том, что при запуске сервера самбы скриптом (service smb start или /etc/init.d/smb start) самба запускается, работает, но в директории /tmp показывает только директории. Файлы - не показывает, если только они не созданы средствами самой самбы. Вот, например:

[root@homepc init.d]# ll /tmp
итого 9592
drwxr-xr-x  3 skeeve users    4096 Сен 16 23:49 1
-rw-r--r--  1 root   root   656373 Сен 14 02:54 abuse_2006-07-23_backup.tar.gz
drwxr-xr-x 83 root   root    12288 Сен  7 01:10 etc
-rwxr--r--  1 skeeve users 9062400 Июл 23 08:55 etc_2006-07-23.tar
-rw-r--r-x  1 skeeve users       2 Сен 17 00:15 file.txt
srwxr-xr-x  1 root   root        0 Авг  2 02:58 gnome-system-monitor.root.2156378586
drwx------  2 root   root    16384 Авг  2 00:03 lost+found
-rwxr--r--  1 skeeve users       0 Сен 17 00:10 mail.txt
srwxr-xr-x  1 root   root        0 Авг  4 00:02 mapping-root
drwxr-xr-x  3 root   root     4096 Сен 14 02:54 share

---

А вот что при этом показывает клиент:
1
etc
share
mail.txt

---
(файл mail.txt был создан с помощью клиента самбы)

В то же время, если запустить самбу как smbd -D, всё работает и файлы в клиенте показываются!

Я попытался запустить самбу с debuglevel 9 и обнаружил странное:
[2006/09/17 02:05:33, 5] smbd/trans2.c:get_lanman2_dir_entry(1167)
  get_lanman2_dir_entry:Couldn't stat [./etc_2006-07-23.tar] (Отказано в доступе)

---
и в то же время
[2006/09/17 02:05:33, 5] smbd/trans2.c:get_lanman2_dir_entry(1197)
  get_lanman2_dir_entry found ./mail.txt fname=mail.txt

---

Как видите, у файлов одинаковые владелец и пермиссии, но к первому access denied. Почему - ума не приложу. В какую сторону копать - тоже.

Система - Fedora Core 5, самба - 3.0.23a
отключи selinux 18.09.06 15:45  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
из-за него может быть много глюков с пермишенами. Даже не глюков, в полном смысле этого слова, а фич с которыми мне лично лень разбираться.
Но если мешает именно SELinux, то остаётся вопрос: 18.09.06 15:53  
Автор: fly4life <Александр Кузнецов> Статус: Elderman
<"чистая" ссылка>
почему при запуске smbdнеиз скрипта всё отображается как того ожидается?
Похоже, мешает именно SELinux... 19.09.06 09:33  
Автор: Skeeve [Moscow SubTeam] <Vladimir Medvedev> Статус: Elderman
<"чистая" ссылка>
Ох-ох! Уже второй раз наступаю на граблю связанную с SELinux. Спасибо большое за идею!
Кому интересно - man samba_selinux

Пока что выключил командой

# setsebool -P smbd_disable_trans 1

Остались еще некоторые глюки, тоже с доступом, но теперь это может быть связано с конфигом самбы - попробую покрутить.

> почему при запуске smbdнеиз скрипта всё отображается
> как того ожидается?

А вот этого я не понимаю и сейчас.
разные контексты 19.09.06 10:51  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
Вставь в скрипт комманду id
и сравни её результаты с результатами запуска id из bash. Вот наверное и разница. Но это мои догадки - я этот SELinux увидел только на прошлой неделе, когда сам напоролся на такие же грабли с запуском dhcpd :))))
А скрипт для запуска покажешь? :) 18.09.06 12:37  
Автор: mss <Сергей> Статус: Member
<"чистая" ссылка>
Скрипт - совершенно стандартный, тот, который был в Федоре... 18.09.06 12:49  
Автор: Skeeve [Moscow SubTeam] <Vladimir Medvedev> Статус: Elderman
<"чистая" ссылка>
Скрипт - совершенно стандартный, тот, который был в Федоре изначально.

# Source function library.
if [ -f /etc/init.d/functions ] ; then
  . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
  . /etc/rc.d/init.d/functions
else
  exit 0
fi

# Avoid using root's TMPDIR
unset TMPDIR

# Source networking configuration.
. /etc/sysconfig/network

if [ -f /etc/sysconfig/samba ]; then
   . /etc/sysconfig/samba
fi

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

# Check that smb.conf exists.
[ -f /etc/samba/smb.conf ]|exit 0

RETVAL=0

start() {
        KIND="SMB"
        echo $SMBDOPTIONS
        echo -n $"Starting $KIND services: "
#       daemon smbd $SMBDOPTIONS
        daemon smbd -D --debuglevel=9
        RETVAL=$?
        echo
        KIND="NMB"
        echo -n $"Starting $KIND services: "
        daemon nmbd $NMBDOPTIONS
        RETVAL2=$?
        echo
        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] && touch /var/lock/subsys/smb|\
           RETVAL=1
        return $RETVAL
}

stop()
restart()
reload()
rhstatus()

# Allow status as non-root.
if [ "$1" = status ]; then
       rhstatus
       exit $?
fi

# Check that we can write to it... so non-root users stop here
[ -w /etc/samba/smb.conf ]|exit 0

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  reload)
        reload
        ;;
  status)
        rhstatus
        ;;
  condrestart)
        [ -f /var/lock/subsys/smb ] && restart|:
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload|status|condrestart}"
        exit 1
esac

exit $?


---

Для краткости оставил только функцию start(), убрал тело остальных.
В федориных потрохах не самый специалист, но... 18.09.06 15:08  
Автор: fly4life <Александр Кузнецов> Статус: Elderman
Отредактировано 18.09.06 15:09  Количество правок: 2
<"чистая" ссылка>
> # daemon smbd $SMBDOPTIONS
> daemon smbd -D --debuglevel=9

... что это за "daemon" в строке запуска демона smbd?
А если оставить только:

/usr/sbin/smbd $SMBDOPTIONS

(абсолютный путь до smbd вроде не перепутал).
Никаких изменений, это было первое, что я попробовал. 19.09.06 09:22  
Автор: Skeeve [Moscow SubTeam] <Vladimir Medvedev> Статус: Elderman
<"чистая" ссылка>
> ... что это за "daemon" в строке запуска демона smbd?
> А если оставить только:
> /usr/sbin/smbd $SMBDOPTIONS
> (абсолютный путь до smbd вроде не перепутал).

Никаких изменений, это было первое, что я попробовал.

The daemon() function is for programs wishing to detach themselves from the controlling terminal and run in the background as system daemons.

Не знаю, зачем там daemon, вроде опция -D к smbd делает то же самое.
unset tmpdir - кажется что-то тут не так... 18.09.06 13:57  
Автор: mss <Сергей> Статус: Member
Отредактировано 18.09.06 14:02  Количество правок: 1
<"чистая" ссылка>
если речь про /root/tmp - то видимо тут и есть нестыковка
Нет, tmpdir вовсе не определена, так что unset не должен иметь эффект 19.09.06 09:23  
Автор: Skeeve [Moscow SubTeam] <Vladimir Medvedev> Статус: Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach