LinuxForum.Fans
Тема

Ext4 на внешнем диске

Автор: yxma 60 сообщений 10585 просмотров
#124160
drBatty написал:
это очень странная система, где у рута UID != 0. ohmy

IMHO, системе всё равно, как зовут «босса» — у кого UID=0, тот и «босс»!

#124167
Lupo Alberto написал:
IMHO, системе всё равно, как зовут «босса» — у кого UID=0, тот и «босс»!

вот тут вы не правы - линух чуть менее чем весь состоит из скриптов, а админы - ленивые. потому скрипты обычно пишутся разными людьми, и копипастятся. а проверяются по принципу "работает - не трогай". во многих скриптах можно встретить
[console][ `whoami` == "root" ] && echo "i'm root"
[/console]
что конечно рухнет, если сменить имя root'а :(

#124168

drBatty, я имел ввиду систему, как таковую, а не «ленивого админа» wink
К примеру, во многих роутерах и модемах вместо root'а используется учётная запись admin с UID=0.

#124191
drBatty написал:
это очень странная система, где у рута UID != 0. ohmy

Не у рута, а у пользователя который в нее пишет. Ведь в папку с правами 777 может писать не только рут, но и обычный смертый vasya(UID=1000). Мы же не будем все время работать под рутом?)

drBatty написал:
конечно. монтируйте её с опцией users.

Не то имел ввиду. Если отличия между ext2/ext3/ext4 только в дополнении функций. То логично предположить что при создании раздела можно указать опцию с правами. Хотя это все равно ниче не даст...

drBatty написал:
не "от ситуации", а от настроек. настраивается всё это командой umask.

Ну еще зависит какие права программа выставит.

drBatty написал:
umask

Тадам! опция монтирования для атоматического назначения прав. Соответственно если смотрировать внешний диск с опциие umask=0777

text
mount /dev/sdi1 /mnt/sdi -o umask=777

все папки и файлы будут иметь права 777. Все вспоминал gmask,mask....

#124208
Lupo Alberto написал:
я имел ввиду систему, как таковую, а не «ленивого админа» wink

что значит "система как таковая"? да, программы не смотрят на имена юзеров, потому-что это сложнее цифр, например можно написать на С

text
if(!uid)
     printf("я рут!");

но в скриптах (которые - неотъемлемая часть системы) кому-то может показаться проще написать
[console][ `whoami` == "root" ] && echo "i'm root"[/console]
мне например проще именно так (но я так не пишу конечно). облазить все скрипты на наличие этой ошибки я не в состоянии (точнее мне лень).

Lupo Alberto написал:
К примеру, во многих роутерах и модемах вместо root'а используется учётная запись admin с UID=0.

роутер - специальный случай.

3axapp написал:
Не у рута, а у пользователя который в нее пишет. Ведь в папку с правами 777 может писать не только рут, но и обычный смертый vasya(UID=1000). Мы же не будем все время работать под рутом?)

ну пусть пишет. нам не жалко. если этот вася не против того, что-бы мы читали/писали в его папки, то пусть ставит 777. а по умолчанию считается, что вася не против чтения, но против изменения. каталоги - тоже файлы. создание файлов в каталогах == изменение каталога.

3axapp написал:
Не то имел ввиду. Если отличия между ext2/ext3/ext4 только в дополнении функций. То логично предположить что при создании раздела можно указать опцию с правами. Хотя это все равно ниче не даст...

это даст огромное число проблем, если вы распакуете туда какой-нибудь архив. представьте:
система1 -> внешний диск -> система2
обычная схема. она отлично работает, и ею все пользуются. не правда-ли? а теперь представьте, что вы каким-то образом отключили права - ВНЕЗАПНО вся схема рухнет, ибо информация у вас будет потеряна (вы-же не помните, каТадам! опция монтирования для атоматического назначения прав. Соответственно если смотрировать внешний диск с опциие umask=0777 кие права на ВСЕ ваши файлы?)
тут-же недавно человек поимел кучу проблем именно потому, что пытался развернуть архив в NTFS.
по этой причине права не отключают. почитайте man mkfs.ext4, что-бы узнать, возможно-ли это в принципе.

3axapp написал:
Ну еще зависит какие права программа выставит.

да. конечно. например компилятор gcc сам ставит право на исполнение готовой программы которую он компилирует.

3axapp написал:
Тадам! опция монтирования для атоматического назначения прав. Соответственно если смотрировать внешний диск с опциие umask=0777

лицоладонь :O
ну я для кого писал-то!

drBatty написал:
umask 0000
3axapp написал:
все папки и файлы будут иметь права 777

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

3axapp написал:
Все вспоминал gmask,mask....
man mount написал:
umask=value
Set the umask (the bitmask of the permissions that are not present). The default is the umask of the current
process. The value is given in octal.

dmask=value
Set the umask applied to directories only. The default is the umask of the current process. The value is given
in octal.

fmask=value
Set the umask applied to regular files only. The default is the umask of the current process. The value is
given in octal.
#124209

-

#124229
drBatty написал:
это даст огромное число проблем, если вы распакуете туда какой-нибудь архив.

Ну насколько я понял ТС хочет из внешнего диска сделать файло-помойку. Логично предположить что ему не нужно сохранять права.
----
все остальное не осилил. надо выспаться.

#124233
3axapp написал:
Ну насколько я понял ТС хочет из внешнего диска сделать файло-помойку. Логично предположить что ему не нужно сохранять права.

нужно. если он собирается туда что-то положить, а потом это что-то достать в неизменном виде. а то получится действительно - помойка. Из которой достать-то можно... Но вид будет...

#124238
drBatty написал:
в неизменном виде

ИМХО не получится никогда. Максимум что можно это сохранить права для хозяина/группы/остальных, если при монтировании указывать uid и gid стандартного пользователя Линукса(какой-нибудь nobody). Либо приводить на всех компах, которые используешь, своих пользователей к одному UID.

#124284
3axapp написал:
ИМХО не получится никогда.

man tar ;)
он сохраняет имена юзеров. а простая cp не сохраняет, тут вы правы. если вынуть диск с убунты васи в убунту пети, то владельцем "станет" петя. а если вставить в слакварь - то вообще чёрт знает кто. потому (в т.ч.) при переносе ОС юзают тар, а не cp.

Кстати, обычно не нужны имена юзеров. Нужно что-бы сохранились UID и права. А то, что имя сменится - ничего страшного. find -uid 1000 -exec chown vasya:users {} \; никто не отменял. К тому-же, смена имени это не столь важная потеря информации.

#124287

PS: воткнул свой внешний винт в комп жены:
мои файлы стали её файлами. но те файлы, что я качал на livecd внезапно стали 1134 (странно, ибо в лайве я был рутом).
у меня и жены слакварь, на лайве слакс.

FS: "ext3" точнее 4 с фичами:
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file

#124378

про файлопомойку - точно понято.
живой пример доктора меня воодушевил, и я понял, что я был неправ.
обрадовался.

доктор насчет нтфс правильно за меня отчитался. наверное, все же, телепат... :)

ДОКТОР! КАК ВЫ СОЗДАВАЛИ ФС НА ВНЕШНЕМ ХАРДЕ? РАЗДЕЛ - ЕДИНСТВЕННЫЙ?

#124395

вы не с той стороны к проблеме подходите.... раз уж диск мобильный то и фс на нем должна быть мобильная... что вы с ним будите делать на виндовом компе?... да и не на всех линуксах есть поддержка ext4...
drBatty, не вводите в заблуждение.... umask только на fat... внимательно маны читаем... :)

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

#124437

а у меня там 3 раздела. Даже не скажу какого лешего я 2 раздела нтфс на нем сделал. Но ехт на другую половинку хочу.
Под вендой буду качать через нтфс.
без нетбука с линухом себя в другом городе не мыслю.

#124471
odin написал:
вы не с той стороны к проблеме подходите.... раз уж диск мобильный то и фс на нем должна быть мобильная... что вы с ним будите делать на виндовом компе?... да и не на всех линуксах есть поддержка ext4...
drBatty, не вводите в заблуждение.... umask только на fat... внимательно маны читаем... :)

но если ТС уж очень хочется.... то права явно надо будет давать после монтирования....
Показать

man mount
....
Mount options for ntfs

iocharset=name
Character set to use when returning file names. Unlike VFAT, NTFS suppresses names that contain unconvertible characters. Deprecated.
nls=name
New name for the option earlier called iocharset.
utf8
Use UTF-8 for converting file names.
uni_xlate=[0|1|2]
For 0 (or 'no' or 'false'), do not use escape sequences for unknown Unicode characters. For 1 (or 'yes' or 'true') or 2, use vfat-style 4-byte escape sequences starting with ":". Here 2 give a little-endian encoding and 1 a byteswapped bigendian encoding.
posix=[0|1]
If enabled (posix=1), the file system distinguishes between upper and lower case. The 8.3 alias names are presented as hard links instead of being suppressed.
uid=value, gid=value and umask=value
Set the file permission on the filesystem. The umask value is given in octal. By default, the files are owned by root and not readable by somebody else.
#124474
drBatty написал:
man tar wink
он сохраняет имена юзеров. а простая cp не сохраняет, тут вы правы. если вынуть диск с убунты васи в убунту пети, то владельцем "станет" петя. а если вставить в слакварь - то вообще чёрт знает кто. потому (в т.ч.) при переносе ОС юзают тар, а не cp.

угу) я с сохранением прав как раз и столкнулся при переносе системы. + tar еще хорошо обрабатывает ссылки/устройства и тому подобное.

yxma написал:
ДОКТОР! КАК ВЫ СОЗДАВАЛИ ФС НА ВНЕШНЕМ ХАРДЕ? РАЗДЕЛ - ЕДИНСТВЕННЫЙ?

А в чем проблема? Я взял жесткий из ноута(разделы:/boot -ext2;/-ext3;/home-ext3) воткнул его в переходник(или как эта штука называется правильно) SATA -> USB. В Gnome разделы прекрасно определились. И gparted его увидел, и если бы мне было не жалко, вполне мог форматнуть бы ;)

#124500
yxma написал:
ДОКТОР! КАК ВЫ СОЗДАВАЛИ ФС НА ВНЕШНЕМ ХАРДЕ? РАЗДЕЛ - ЕДИНСТВЕННЫЙ?

не единственный конечно. диск:

text
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xe31b4a26

Device Boot Start End Blocks Id System /dev/sda1 * 1 2067 16603146 7 HPFS/NTFS /dev/sda2 2068 19457 139685175 83 Linux

пилил программой cfdisk или gparted (не помню).
разделы создал командами mkfs.ntfs /dev/sda1 и mkfs.ext3 /dev/sda2. устанавливал Live www.slax.org как на флешку, на первый раздел в NTFS запустив прилагающийся скрипт. Хотел на ext, но на ntfs красивее грузится :)
содержимое корня:
[console]ll /media/EXT/
total 20
drwx------ 2 root root 16384 2010-12-01 12:02 lost+found/
drwxrwxrwx 12 root root 4096 2011-01-17 17:39 share/
[/console]
монтируется он любым юзером в любом линуксе, и этот любой юзер может читать и писать файлы в /media/EXT/share. При этом путь в любом линуксе именно такой (что очень удобно, ибо туда можно писать не в ручную, а скриптом, который работает неизвестно где). Слакс работает на любом железе начиная с iPentiumIII+256Mb RAM (лишь-бы с USB можно было-бы грузится), и прекрасно видит вендовые разделы (проверял в ХП и семёрочке). Сама венда конечно видит только 17гиговый кусок с NTFS.

odin написал:
что вы с ним будите делать на виндовом компе?..

у меня слакс с собой. не забывайте. вполне полноценная ОС, к которой я даже прикрутил mercurial+python от слаквари (ибо в слакс можно ставить пакеты от слаки - проверенно). и если это флеш или HDD как у меня, то все изменения сохраняются.

odin написал:
не вводите в заблуждение.... umask только на fat... внимательно маны читаем...

пролистайте ниже, ещё на hpfs и ntfs и udf
для остальных ФС действуют свои опции монтирования, которые уже упоминались (например users).

odin написал:
но если ТС уж очень хочется.... то права явно надо будет давать после монтирования....

права на ВЕСЬ диск даются во время монтирования, а не после (кроме -o remount).

3axapp написал:
tar еще хорошо обрабатывает ссылки/устройства и тому подобное.

куда как важнее то, что у cp и tar несколько разные задачи: первая копирует, вторая упаковывает набор файлов в непрерывный поток (который изначально писался на магнитную ленту).

#125310

Спасибо, доктор, за как всегда понятный и развернутый ответ, насчет слакса - хорошая идея, возможно я это подсознательно подразумевал при разбивке 1-го раздела. Правда, у меня очень тяжелый опыт использования слакса - при копировании все русские имена старательно переименовались в ???????? и т.п. потом ничем поднять не смог. Сейчас этот баг исправлен?
У вас нет знакомых, которые без опыта в лине сами ставили себе слакварь? Где советуете взять образ? (не по теме, конечно, но)

К сожалению, лекарство не помогает. То ли сказываются родимые пятна убунты в минтросинке, то ли нужно было при форматировании какую-то опцию проставить, не понимаю. Разве что проверить еще ехт3.
пока что райзер и ехт4 не приручаются.
**************************************
СВЕРШИЛОСЬ!
отформаченный без зазрения совести под ехт3 раздел 2 поначалу тоже сопротивлялся записи. Назначение прав разделу моему усталому мозгу не удалось. Тогда я это все обошел.
папку несуществующих потерянных файлов открыл как рут.
поднялся в родительский каталог.
создал там папку с правами на изменение любым юзером
удалил папку несуществующих файлов. Еще не знаю во что это выльется.
вышел из рута

теперь не знаю как диск, но папка вполне-таки доступна и работает будь здоров.

#125392
yxma написал:
т.п. потом ничем поднять не смог. Сейчас этот баг исправлен?

нет ЕМНИП.
видимо речь идёт о том, что вы монтируете (точнее слакс) вендовые разделы. это слакс умеет, но откуда ему знать, что у вас не просто венда, а РУССКАЯ венда? укажите соответствующую опцию монтирования. iocharset ЕМНИП. подробнее man ntfs-3g.

yxma написал:
удалил папку несуществующих файлов. Еще не знаю во что это выльется.

в то, что если у вас случится сбой, системе некуда будет складывать потерянные и найденные(при загрузке и fsck) файлы.
если вам плевать на свои файлы, или у вас собственная АЭС - то всё хорошо.

#125736

Док, так ведь слакс опцию монтирования не спрашивает, когда маунтит. И подвело меня то, что показывает он все правильно - пока не скопируешь. Ну, сделаю я себе флешку. на ней можно это как-то указать, чтобы монтировалось как нужно по умолчанию? чтобы он твердо знал, что у меня именно русская венда, у меня других вендов никогда не будет? что бы слаксу это по умолчанию не знать, ведь его наши товарищи собирали?
а если сбой будет, то мне тестдиск без этой папочки тоже не поможет? Пока я не знаю лучшего восстановщика разделов. Трри штуки поднял на ура в лучшем виде!

Войдите или зарегистрируйтесь, чтобы ответить.