Легенда:
   новое сообщение
    закрытая нитка
    новое сообщение
    в закрытой нитке
    старое сообщение
         
		 | 
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
 - Новичкам также крайне полезно ознакомиться с данным документом.
   
  |   |   | 
unset tmpdir - кажется что-то тут не так...  18.09.06 13:57  Число просмотров: 2627
 Автор: mss <Сергей> Статус: Member Отредактировано 18.09.06 14:02  Количество правок: 1
 | 
 
| 
если речь про /root/tmp - то видимо тут и есть нестыковка
 | 
 
| 
<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
 | 
 
| 
 | 
 
 
  
 
 | 
 |