LINUX.ORG.RU
ФорумTalks

Я тупой ?


0

0

Есть раздел с fat32 (/dev/hda1)
Создаем точку монтирования: mkdir /tmp/point
Монтируем: mount /dev/hda1 /tmp/point -v -t vfat -o uid=0,gid=6
/dev/hda1 on /tmp/point type vfat (rw,uid=0,gid=6)
Делаем: ls -l /tmp/
drwx------ 18 root root 16384 1970-01-01 03:00 point

Вопрос: какого mount выставил группу root, а не 6 (disk) и как поменять права на /tmp/point (c umask,dmask игрался).

Я тупой или тут недоделки конкретные ?

anonymous

Ответ на: комментарий от ser_bur

Хрен та там, #chown root:disk /tmp/point
chown: изменение владельца `point': Operation not permitted

#chmod 777 /tmp/point
#ls -l /tmp
drwx------ 18 root root 16384 1970-01-01 03:00 point


Как все это понимать ?
#uname -r
2.6.14.2
# mount -V
mount: mount-2.12p

anonymous
()

1) man mount

У меня записано так, чтобы все юзеры не мучались
2) -o defaults,noatime,showexec,iocharset=utf8,codepage=866,fmask=0111,dmask=0000,umas k=0000

birdie ★★★★★
()
Ответ на: комментарий от Begemoth

2Begemoth:
cat /etc/group | grep disk
disk:x:6:

gid=6 и писалось...

anonymous
()
Ответ на: комментарий от anonymous

> Хрен та там, #chown root:disk /tmp/point

Да я прикалываюсь, права на каталог после монтирования туда чего-либо зависят от опций монтирования...

ser_bur ★★
()
Ответ на: комментарий от birdie

Где man mount ? Что кроме gid и dmask отвечает за группу и права ?
Вы в команды то вчитайтесь еще раз:

# id
uid=0(root) gid=0(root) группы=0(root)
# mkdir /tmp/point
# mount /dev/hda1 /tmp/point -v -t vfat -o gid=disk,umask=0007,dmask=0007,fmask=0007
/dev/hda1 on /tmp/point type vfat (rw,gid=6,umask=0007,dmask=0007,fmask=0007)
# ls -l /tmp/ | grep point
drwx------ 18 root root 16384 1970-01-01 03:00 point
# chmod 777 /tmp/point
# ls -l /tmp/ | grep point
drwx------ 18 root root 16384 1970-01-01 03:00 point
# chown root:disk /tmp/point
chown: изменение владельца `/tmp/point': Operation not permitted
# ls -l /tmp/ | grep point
drwx------ 18 root root 16384 1970-01-01 03:00 point

anonymous
()
Ответ на: комментарий от anonymous

>Я тупой или тут недоделки конкретные ?

ждем вывода ls -l / и анализа данных из первой колонки

anonymous
()
Ответ на: комментарий от anonymous

d = directory user(rwx)group(rwx)other(rwx)

rwx = read,write,execute

birdie ★★★★★
()
Ответ на: комментарий от anonymous

>для монтирования всякой фигни вроде предназначен /mnt
Да /tmp тут вообще для примера, можно хоть в корне каталог создать и тудасмонтировать - без разницы (что не удивительно).

anonymous
()
Ответ на: комментарий от anonymous

>и что здесь означает КАЖДАЯ буква?
Да причем тут это-то ? Могу вышеописанный пример повторить создав каталог в корне - естественно поведение то-же.

anonymous
()
Ответ на: комментарий от gr_buza

>муахаха
>гуглите маны на предмет стики бита =))
Что-то я не понял этого муахаха. Лично я знаю что такое sticky бит,
я не врубаюсь причем тут он (а он естественно не причем так как вышеописанный пример можно проделать совдав точку монтирования прямо в корне).

# stat /tmp | grep Access | head -n 1
Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)

man 2 chmod:
S_ISVTX 01000 sticky бит

man 1 chmod:
`sticky-бит' не описывается в POSIX. Такое специфическое название он получил из-за первоначальной функции, которую он выполнял: сохранял исполняемый код программы на устройстве подкачки. В настоящее время установка sticky-бита для каталога, приводит к тому, что только владелец файла и владелец этого каталога могут удалять этот файл из каталога. (Обычно это используется в каталогах типа /tmp, куда все имеют права на запись).

И в яем тут 'муахаха' ?

anonymous
()

Ну хорошо, а как быть с iso9660? Он не держит никаких fmask и dmask. У меня ls для юзера файлы листает, а для рута - нет.

anonymous
()
Ответ на: комментарий от gr_buza

>попробуй.
>будешь приятно удивлен результатом =)
Ok. Специально для gr_buza:

# id
uid=0(root) gid=0(root) группы=0(root)
# mkdir /point
# mount /dev/hda1 /point -v -t vfat -o gid=disk,umask=0007,dmask=0007,fmask=0007
/dev/hda1 on /point type vfat (rw,gid=6,umask=0007,dmask=0007,fmask=0007)
# ls -l / | grep point
drwx------ 18 root root 16384 1970-01-01 03:00 point
# chmod 777 /point
# ls -l / | grep point
drwx------ 18 root root 16384 1970-01-01 03:00 point
# chown root:disk /point
chown: изменение владельца `/point': Operation not permitted
# ls -l / | grep point
drwx------ 18 root root 16384 1970-01-01 03:00 point

Может теперь ты попробуешь и объяснишь мне в чем дело более достоверно ?

anonymous
()
Ответ на: комментарий от anonymous

> Ну хорошо, а как быть с iso9660? Он не держит никаких fmask и dmask. У меня ls для юзера файлы листает, а для рута - нет.

Лжу. Уже листает для всех. Это я сглюкнул, наверно :)

anonymous
()
Ответ на: комментарий от anonymous

eill@sysadmin:~$ sudo umount /mnt/share
eill@sysadmin:~$ sudo su -

Every cloud has a silver lining;
you should have sold it, and bought titanium.

root@sysadmin:~# mount /dev/hdc
hdc hdc1 hdc2 hdc3
root@sysadmin:~# mount /dev/hdc3 /mnt/share -o gid=6,iocharset=koi8-r,umask=000
root@sysadmin:~# ls /mnt -l
итого 30
dr-xr-xr-x 6 eill users 2048 2005-12-01 08:37 cdrom/
drwxr-xr-x 2 root root 48 2005-10-24 12:51 flash/
drwxr-xr-x 2 root root 48 2002-03-16 12:34 floppy/
drwxrwxrwx 7 root disk 4096 1970-01-01 05:00 share/
dr-xr-xr-x 12 root root 4096 2005-02-10 16:05 slackware/
dr-xr-xr-x 1 eill users 20480 2005-12-02 12:57 wind00ze/
root@sysadmin:~#

вероятно в твоих руках =)

gr_buza ★★★★
()
Ответ на: комментарий от gr_buza

З.З.Ы. :

eill@sysadmin:~$ uname -a
Linux sysadmin 2.6.13-eill-vpn #1 Sat Nov 12 16:15:43 YEKT 2005 i686 unknown unknown GNU/Linux
eill@sysadmin:~$ cat /etc/slackware-version
Slackware 10.1.0
eill@sysadmin:~$ cat /proc/version
Linux version 2.6.13-eill-vpn (root@sysadmin) (gcc version 3.3.4) #1 Sat Nov 12 16:15:43 YEKT 2005
eill@sysadmin:~$

gr_buza ★★★★
()
Ответ на: комментарий от gr_buza

З.З.З.Ы.:

eill@sysadmin:~$ mount -v
/dev/hdc2 on / type reiserfs (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
/opt/shared/slackware.iso on /mnt/slackware type iso9660 (ro,loop=/dev/loop0)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,default)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/hdc1 on /mnt/wind00ze type ntfs (ro,nls=koi8-r,umask=000,uid=1000,gid=100)
/dev/hdb on /mnt/cdrom type iso9660 (ro,noexec,nosuid,nodev,user=eill)
/dev/hdc3 on /mnt/share type vfat (rw,gid=6,iocharset=koi8-r,umask=000)
eill@sysadmin:~$

=)))))

gr_buza ★★★★
()
Ответ на: комментарий от anonymous

>Автор топика, а свой-то uname -a покажи?

#uname -a
Linux version 2.6.14.2 (root@xxx) (gcc version 4.0.2 20050821 (prerelease) (Debian 4.0.1-6)) #8 SMP Tue Nov 15 23:57:38 MSK 2005

#mount -V
mount: mount-2.12p

Где официально лежат сырцы mount ?
2gr_buza: где взять сырцы твоего mount ?

Будем копать !!!

anonymous
()
Ответ на: комментарий от gr_buza

Интересно...
У тебя ядро с kernel.org или из дистра ? Можешь дать ссылки на сырцы твоего ядра и твоего mount ???

anonymous
()
Ответ на: комментарий от anonymous

ты издеваешься?

дело не в ядре явно =))

а вообще кернел с кернел.орг (вернее с дистром шел 2.6.10 и я постепенно патчился до 2.6.14, но там что-то поломали в i2c и мне влом было разбираться - сделал откат. Все равно ведь пашет =)), тулзы все нативные.

З.Ы. вывод: юзайте слаку =))))

gr_buza ★★★★
()
Ответ на: комментарий от anonymous

> Где официально лежат сырцы mount ?

В слаке - в пакете util-linux. В Debian'е - ? :)

yozhhh ★★★
()
Ответ на: комментарий от gr_buza

>ты издеваешься?
нет

>дело не в ядре явно =))
не факт, я уже пару лет назад фиксил баг при монтровании usb, там как раз неверно пермишины выставлялись.

Вроде как официальные сырцы mount нашел:
http://www.kernel.org/pub/linux/utils/util-linux/util-linux-2.12r.tar.bz2

однако поведение такое-же...
сейчас буду с ядром играться...

anonymous
()
Ответ на: комментарий от gr_buza

> З.Ы. вывод: юзайте слаку =))))

Думаю, что таки да. Только что проверил у себя. Тоже никаких траблов.

bash-3.00$ uname -a
Linux Yozhikbook 2.6.12.6 #1 Sun Sep 25 11:55:59 CEST 2005 i686 unknown unknown GNU/Linux

yozhhh ★★★
()
Ответ на: комментарий от gr_buza

>ах да, в слаке ядро нативное, без патчей.
>и это есть тру.
У меня то-же с kernel.org однако я накатывал reiser4, сейчас будем копать...

anonymous
()
Ответ на: комментарий от anonymous

Может man mount просветит всех. У меня, например, в опциях к фату нет gid ключа. Может в слакваре хакерский ман?

Bac9
()
Ответ на: комментарий от Bac9

> поправочка к vfat. К fat как раз есть.

То, что описано в man mount в разделе "vfat", - это ДОПОЛНИТЕЛЬНО к тому, что описано в разделе fat. Если б ты был более внимателен, то не пропустил бы там следующее:

Mount options for fat
(Note: fat is not a separate filesystem, but a common part of the
msdos, umsdos and vfat filesystems.)

yozhhh ★★★
()
Ответ на: комментарий от gr_buza

Так причем тут sticky bit?

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        4030     4126704    b  W95 FAT32

sdio:~# mkdir /tmp/sdb1
sdio:~# grep disk /etc/group
disk:x:6:
sdio:~# mount /dev/sdb1 /tmp/sdb1 -o gid=6
sdio:~# ls -ld /tmp/sdb1 
drwxr-xr-x  8 root disk 3072 Jan  1  1970 /tmp/sdb1
sdio:~# ls -ld /tmp
drwxrwxrwt  7 root root 20480 Dec  2 20:51 /tmp
sdio:~# 

Debian/etch

sdio ★★★★★
()
Ответ на: комментарий от yozhhh

>Автор топика! Ну так что? Выяснил, в чём дело?
Пока нет. Откатился сначала на 2.6.14.2 без reiser4, потом на 2.6.13 как у gr_buza, потом на 2.6.15-rc4 - все одно. При этом если например монтируем reiserfs раздел то chmod на точку монтирования работает.
На неделе наверно полезу в ядро и прослежу детально что куда идет и почему не доходит.

anonymous
()

Автор топика так изощенно решил уронить винду, что прописываeт точку монтирования в /tmp? -фокусник:-)

record ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.