Ru-Board.club
← Вернуться в раздел «UNIX»

» Новичок в GNU/Linux’е

Автор: ASE_DAG
Дата сообщения: 23.01.2012 06:45
DrakonHaSh
> ведь и у файла и у папки и даже у родительской папки права у "всех остальных" (т.е. у nobody) все rwx
Если бы прав на файл не было (права на директорию здесь ни при чем), то вернулась бы иная ошибка:
touch: cannot touch `file2.txt': Permission denied

setting times of `file2.txt': Operation not permitted же напоминает вам о том, что фальсифицировать таймстампы (т.е. задавать время отличное от текущего) нельзя, ибо нефиг.

Руту это (как и все остальное), разумеется, можно. Наверняка можно разрешить и остальным, но я не узнавал (бо такое ограничение безусловно правильное); погуглите.

P.S. Зачем, если не секрет, вы назначили бит исполняемости текстовым файлам?
Автор: klisanor
Дата сообщения: 23.01.2012 09:23

Цитата:
"wget dl.dropbox.com/u/1338581/emgd/emgd-maverick.sh"
где можно зеркало найти?


Для Ubuntu тут


Добавлено:
DrakonHaSh
1) Проверьте, что файловая система доступна на чтение
2) Проверьте, что пользователю доступны права на выполнение touch
Подробнее по правам тут
Автор: DrakonHaSh
Дата сообщения: 23.01.2012 11:22
Alukardd

Цитата:
Так во первых перепечатывать вывод - это гениально...

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


Цитата:
Полагаю что опечатались вы в первой строчке, там должно быть не "..", а ".". Таким образом на текущий каталог у nobody нету прав, а вы как я понял за него и работаете.

вы правы - первая строка должна быть с одной точкой (при исправлении строки вставил лишнюю).
а насчет прав нет у nobody это вы наверное что-то перепутали - он же из категории "прочие" [писать и редактировать файлы в данном каталоге работая от имени nobody я могу]


ASE_DAG

Цитата:
setting times of `file2.txt': Operation not permitted же напоминает вам о том, что фальсифицировать таймстампы (т.е. задавать время отличное от текущего) нельзя, ибо нефиг.

спасибо за разъяснение. кста, ту же самую операцию, но от имени user16, я выполнять могу.
если файл в этом каталоге создаю от имени nobody, то touch на него тоже делать могу

получается что права на touch, как и на chmod - т.е. на изменение атрибутов файла имеет только владелец файла (+root) вне зависимости от прочих прав.
А я думал что права на изменение времени файла через touch зависят от прав на директорию где этот файлик лежит. если не так - поправьте.



Цитата:
P.S. Зачем, если не секрет, вы назначили бит исполняемости текстовым файлам?

это владелец при закачке по ftp такие права поставил. он далек от всех "этих" дел, просто научился веб-странички делать и по ftp их закачивать. а меня попросил его сервак посмотреть.
Автор: ASE_DAG
Дата сообщения: 23.01.2012 12:37
DrakonHaSh
> спасибо за разъяснение
Всегда пожалуйста.

> кста, ту же самую операцию, но от имени user16, я выполнять могу.
Да, конечно. Я, наверное, не очень понятно выразился, говоря «остальные», имея в виду «все» (all).

> получается что права на touch, как и на chmod -
> т.е. на изменение атрибутов файла имеет только владелец файла (+root) вне зависимости от прочих прав.
Не совсем так. Речь шла именно о фальсификации таймстампов, т.е. записи туда произвольного значения, а не текущей даты. Смотрите:

$ echo $USER
main
$ touch file
$ ls -l
total 0
-rw-r--r-- 1 main main 0 Jan 23 14:18 file
$ sudo -u second touch file
touch: cannot touch `file': Permission denied
$ chmod a+w file
$ sudo -u second touch file
$ ls -l
total 0
-rw-rw-rw- 1 main main 0 Jan 23 14:19 file
$ touch -t 201101010000 file # С новым годом!
$ ls -l
total 0
-rw-rw-rw- 1 main main 0 Jan 1 2011 file
$ sudo -u second touch -t 201105011200 file # Мир! Труд! Май!
touch: setting times of `file': Operation not permitted


Понятно?

> А я думал что права на изменение времени файла через touch зависят от прав на директорию где этот файлик лежит. если не так - поправьте.
Поправляю: не так. ;-) От прав на директорию зависит возможность создания и удаления в ней файлов.

$ sudo chown root:root .
$ ls -al
total 16
drwxr-xr-x 2 root root 4096 Jan 23 14:32 .
drwxrwxrwt 15 root root 12288 Jan 23 14:25 ..
-rw-rw-rw- 1 main main 0 Jan 1 2011 file
$ touch newfile
touch: cannot touch `newfile': Permission denied
$ rm file # это ведь мой файл
rm: cannot remove `file': Permission denied
$ # а вот фиг!
Автор: DrakonHaSh
Дата сообщения: 23.01.2012 13:15
ASE_DAG
еще раз спасибо

Цитата:
> А я думал что права на изменение времени файла через touch зависят от прав на директорию где этот файлик лежит. если не так - поправьте.
Поправляю: не так. От прав на директорию зависит возможность создания и удаления в ней файлов.

$ sudo chown root:root .
$ ls -al
total 16
drwxr-xr-x 2 root root 4096 Jan 23 14:32 .
drwxrwxrwt 15 root root 12288 Jan 23 14:25 ..
-rw-rw-rw- 1 main main 0 Jan 1 2011 file
$ touch newfile
touch: cannot touch `newfile': Permission denied
$ rm file # это ведь мой файл
rm: cannot remove `file': Permission denied
$ # а вот фиг!

моя логика плясала от этого:

root@bt:/tmp/x# ls -al
total 8
drwxrwxrwx 2 root root 4096 2012-01-23 06:02 .
drwxrwxrwt 10 root root 4096 2012-01-23 06:04 ..
root@bt:/tmp/x# sudo -u user4tests touch x
root@bt:/tmp/x# sudo -u user4tests touch -t 201101010101 x
root@bt:/tmp/x# ls -al
total 8
drwxrwxrwx 2 root root 4096 2012-01-23 06:04 .
drwxrwxrwt 10 root root 4096 2012-01-23 06:04 ..
-rw-r--r-- 1 user4tests user4tests 0 2011-01-01 01:01 x
root@bt:/tmp/x# chmod 700 .
root@bt:/tmp/x# ls -al
total 8
drwx------ 2 root root 4096 2012-01-23 06:04 .
drwxrwxrwt 10 root root 4096 2012-01-23 06:04 ..
-rw-r--r-- 1 user4tests user4tests 0 2011-01-01 01:01 x
root@bt:/tmp/x# sudo -u user4tests touch -t 201101010101 x
touch: cannot touch `x': Permission denied


т.е. нет прав записи в текущую директорию => нет возможности менять дату у файла
Автор: ASE_DAG
Дата сообщения: 23.01.2012 16:29
DrakonHaSh
> нет прав записи в текущую директорию => нет возможности менять дату у файла
А вот не так.
$ sudo chmod a-w .
$ ls -al
total 16
dr-xr-xr-x 2 root root 4096 Jan 23 14:32 .
drwxrwxrwt 18 root root 12288 Jan 23 17:55 ..
-rw-rw-rw- 1 main main 0 Jan 1 2011 file
$ touch -t 201111070000 file
$ ls -l
total 0
-rw-rw-rw- 1 main main 0 Nov 7 00:00 file


Сняв право на чтение директории, вы потеряете возможность получить листинг, но не доступ к файлам.
$ sudo chmod a-r .
$ ls
ls: cannot open directory .: Permission denied
$ touch -t 201105090000 file
$ sudo ls -l
total 0
-rw-rw-rw- 1 main main 0 May 9 2011 file


И, наконец, вы полностью лишитесь доступа к содержимому директории, если снимите у нее x-бит.

$ sudo chmod a-x .
$ ls
ls: cannot open directory .: Permission denied
$ cat file
cat: file: Permission denied
$ touch newfile
touch: cannot touch `newfile': Permission denied
$ sudo chmod a+r .
$ sudo chmod a+w .
$ ls
ls: cannot open directory .: Permission denied
$ cat file
cat: file: Permission denied
$ touch newfile
touch: cannot touch `newfile': Permission denied


P.S. Вот это, между прочим, в отличие от ситуации с произвольными таймстампами, уже более чем доходчиво описано в мане, да и вообще на каждом углу.
Автор: DrakonHaSh
Дата сообщения: 23.01.2012 18:12
о, класс, теперь вроде все относительно "touch -t 201101010101 file" понятно (мне только этот вопрос был не понятен (вернее, как следует из нашей беседы я его знал/понимал не верно). То, что вы писали выше, относительно доступа к содержимому диры, я знаю/понимаю правильно/верно - т.е. именно так, как вы и написали )



сформулирую (относительно "touch -t 201101010101 file") то, что я понял:
изменить время файла/диры на произвольное может только :
1. root безо всяких дополнительных условий
2. владелец файла при наличии у каждой из директорий пути к файлу x-бита для владельца файла. [т.е., грубо говоря, чтоб владелец файла мог успешно выполнить команду ls -al /dir1/dir2/dir3/file ]
3. возможно, при наличии каких-то особых настроек в mount, другие пользователя (отсюда)

другие пользователи, при наличии необходимых прав (w-бит), могут редактировать файл, и сама система(?) будет менять дату изменения файла на текущую.

Автор: Alukardd
Дата сообщения: 23.01.2012 21:51
DrakonHaSh
Цитата:
а насчет прав нет у nobody это вы наверное что-то перепутали - он же из категории "прочие" [писать и редактировать файлы в данном каталоге работая от имени nobody я могу]
Эт у меня просто уже глюки после общения в другой теме...

Цитата:
сама система(?)
думаю вернее сказать "файловая система"

ASE_DAG
Цитата:
$ echo $USER
^_^
whoami, id -un, who -m | cut -d ' ' -f 1
А ведь можно еще много как извращаться...
Автор: DrakonHaSh
Дата сообщения: 23.01.2012 22:33
Alukardd

Цитата:

Цитата: сама система(?)

думаю вернее сказать "файловая система"
Автор: ASE_DAG
Дата сообщения: 24.01.2012 17:09
Alukardd
>> $ echo $USER
> whoami, id -un, who -m | cut -d ' ' -f 1
> А ведь можно еще много как извращаться...
Ну, это вы толку в извращениях не знаете. ;-) Вполне нормальные способы.

Вот какое-нибудь $ basename $(cd && pwd) — вот это извращение.
Автор: Alukardd
Дата сообщения: 24.01.2012 19:18
ASE_DAG
Так я не извращался, а нормальные способы привел, а извращаться действительно можно много как
Цитата:
$ basename $(cd && pwd)
а вот это не гарантированный способ... Ни кто не обещал, что домашний каталог будет такой же как имя пользователя.
ps -C 'ps' u | grep -v 'USER' | cut -d ' ' -f 1 - вот это больше тянет на изврат
Автор: ASE_DAG
Дата сообщения: 24.01.2012 20:31
Alukardd
>> $ basename $(cd && pwd)
> а вот это не гарантированный способ
Этим и приметен. ;-)
Наиболее близким по духу корректный будет, наверное, $ stat -c %U $HOME.
Хотя нет, $ ls -ld $HOME | cut -d ' ' -f 3. :-)

> ps -C 'ps' u | grep -v 'USER' | cut -d ' ' -f 1
Ага, любопытно.
Автор: Alukardd
Дата сообщения: 24.01.2012 20:57
ASE_DAG
Устроим конкурс?
Найти наиболее изврашенский способ получить имя текущего пользователя. При этом нельзя намеренно усложнять получение информации (например, использовать несколько grep'ов и cut'ов вместо короткого запроса на awk).

Зато узнаем из какой опы его можно вытащить...

Добавлено:
Вот, например, еще:
awk -F: '/'$UID'/{print $1}' /etc/passwd

Желательно не демонстрировать аналогичные варианты (например, получить uid через ls и дальше его распознать, а не чистый uname). Я вот например тоже мог UID и Ж вытащить, но, ИМХО, тогда мы будем именно извращаться, а не искать интересные способы

Добавлено:
Правда наш флуд больше подходит для темы по shell'у...
Автор: ASE_DAG
Дата сообщения: 25.01.2012 11:08
Alukardd
> мы будем именно извращаться
Будем. ;-)
SUDO_ASKPASS=/bin/sh sudo -l -A 2>&1 | awk '{ if (match ($0, "password for ([^:]+)", a)) { print a[1]; exit }; if (match($0, "User ([^ ]+)", a)) { print a[1]; exit}; }'

P.S. Кстати, об извращениях и теме по шеллу. Вы мой ответ на ваш вопрос про вывод таблицы глянули? Это вообще то, о чем речь шла?
Автор: Boris_Popov
Дата сообщения: 26.01.2012 12:35
Уважаемые Alukardd и ASE_DAG - может быть, извращения в отдельную тему? А то для новичков это покруче КМБ будет
P.S.
passwd
Автор: Alukardd
Дата сообщения: 26.01.2012 21:25

Boris_Popov
Цитата:
passwd
если решили присоединится, то надо писать рабочий вариант! passwd --status | cut -d ' ' -f 1
Автор: Red Planet
Дата сообщения: 27.01.2012 11:28
Здравствуйте.


Что выполняет команда?


Код: tar cf - .
Автор: Alukardd
Дата сообщения: 27.01.2012 12:04
Red Planet
1. Это значит что tar будет архивировать текущий каталог и вместо того, что бы сохранить все в файл вывалит на экран... Хотя может и пригодится, например его можно перенаправить в ssh или еще куда. Самый простой пример это tar -cf - . | dd of=~/tarball.tar, при этом команду лучше выполнять перейдя в какой-нить другой каталог из домашнего.
2. Ctrl-F, Ctrl-H, не?
Автор: Red Planet
Дата сообщения: 27.01.2012 15:08

Цитата:
1. Это значит что tar будет архивировать текущий каталог и вместо того, что бы сохранить все в файл вывалит на экран... Хотя может и пригодится, например его можно перенаправить в ssh или еще куда. Самый простой пример это tar -cf - . | dd of=~/tarball.tar, при этом команду лучше выполнять перейдя в какой-нить другой каталог из домашнего.


Не очень понял смысл этого действия. Но даже если не пойму сейчас, то ничего страшного. В Робачевском увидел команду, но там не поясняется, стало интересно. Цифры какие-то на экране появляются, но они мне ничего не говорят.


Цитата:
2. Ctrl-F, Ctrl-H, не?


Ctrl + H
Автор: ASE_DAG
Дата сообщения: 27.01.2012 16:36
Red Planet
> Не очень понял смысл этого действия.
Какого? $ tar -cf - . | dd of=~/tarball.tar — этого? В таком виде и нет особого смысла, это чисто для примера.

Чаще можно встретить что-либо такое:
$ tar -cf - . | gzip > "$PWD.tar.gz"
это эквивалент команды (для ГНУ Тара)
$ tar -czf "$PWD.tar.gz" .
, т.е. архивировать и сжать гнузипом текущую директорию.

Последним можно воспользоваться, если Тар, что у вас в наличии (а у него не одна реализация), умеет работать с желаемым компрессором. А первым — всегда; даже если вам захотелось сжать архив, например, Раром.
Автор: vadson6666
Дата сообщения: 27.01.2012 17:46
Доброе время суток. Собираюсь на комп с Вин7 х64 (2 винта, 16 Гб ОЗУ) установить Минт 12, скачанный образ называется linuxmint-12-gnome-dvd-64bit.iso. С помощью программы Universal-USB-Installer-1.8.7.6.exe создал загрузочную флешку.
Вопросы:
На компе стоит УЕФИ (Asus P8Z68-V Pro), как поставить загрузку с флешки?
Не будет ли после установки проблем с загрузкой и как поправить очередность загрузки в Минт (подозреваю, что линукс поставит себя первым)?. На одном из винтов уже ставилась убунта, есть 2 раздела по 18 и 2 ГБ (под систему и свап соответственно).
Автор: ASE_DAG
Дата сообщения: 27.01.2012 18:46
vadson6666
> есть 2 раздела по 18 и 2 ГБ (под систему и свап соответственно)
А под /home?

> На компе стоит УЕФИ
Кто-кто?

> как поставить загрузку с флешки?
Думаете, в этой ветке найдутся люди, у кого та же матплата? Или почему вы решили спросить это именно здесь?
На первом экране обычно написано (внизу, как правило), какую кнопку нажимать для входа в настройки CMOS, а какую для выбора загрузочного носителя. Что-нибудь навроде «Press <F2> to enter BIOS setup. Press <F12> to enter boot menu.»

> Не будет ли после установки проблем с загрузкой
Едва ли.

> как поправить очередность загрузки в Минт
В каком смысле «очередность» и что куда это «в Минт»?
Если это спросили, как изменить загружаемую по умолчанию систему, тогда в /etc/default/grub задать ключ GRUB_DEFAULT равный номеру строки или тайтлу согласно /boot/grub/grub.cfg. Т.е. напр. GRUB_DEFAULT='Debian GNU/Linux, с Linux 2.6.39-2-amd64'. И выполнить # update-grub.
Автор: Viewgg
Дата сообщения: 27.01.2012 19:11
ASE_DAG

Цитата:
> На компе стоит УЕФИ
Кто-кто?

http://ru.wikipedia.org/wiki/UEFI
Автор: Alukardd
Дата сообщения: 27.01.2012 19:13

Цитата:
В таком виде и нет особого смысла, это чисто для примера.
именно, а вообще можно использовать слегка модифицированную версию для бэкапа...
tar -cf - . | ssh username@remotehost dd of=/backupdir/data.tar

Цитата:
> На компе стоит УЕФИ
Кто-кто?
UEFI

Добавлено:
Viewgg
опоздал я...
Автор: zalupaj
Дата сообщения: 27.01.2012 19:42
помогите установить драйвер WiFi Linksys ae1000 на ubuntu-10.04.3 LTS -desktop. желательно пошагово,
Автор: RussianNeuroMancer
Дата сообщения: 29.01.2012 07:07
zalupaj
Видео-инструкция: http://www.youtube.com/watch?v=cwMiHiaWtPI
Перед её выполнением вам нужно скачать драйвер отсюда или отсюда и установить пакеты build-essential и linux-headers. Возможно вам так же понадобится firmware (положите rt2870.bin в /lib/firmware).
Автор: krserv
Дата сообщения: 29.01.2012 18:33
подскажите как сделать или посоветуйте другой пакет, если он будет лучше. ОС Lubuntu 11.10 для нее установил qbittorrent, основанный на Qt4. Но шрифт меню очень маленький в проге, как отрегулировать не нашел. Нашел, что за внешний вид и настройки проги отвечает Qt4 - скачал ее и GUI к ней, но не знаю куда она установилась, и как настроить шрифт при помощи нее или как-то по-другому?
Автор: Alukardd
Дата сообщения: 29.01.2012 19:18
krserv
Цитата:
за внешний вид и настройки проги отвечает Qt4 - скачал ее и GUI к ней
ого! не посвятите нас, что это вы там скачали?
Посмотрите файл /etc/qt3/qtrc, возможно в 11.10 путь уже qt4...
Автор: ASE_DAG
Дата сообщения: 29.01.2012 19:35
Alukardd
>> Qt4 - скачал ее и GUI к ней
> что это вы там скачали?
Включив телепата, могу предположить, что qt4-qtconfig; по крайней мере именно его следовало бы установить, если возникло желание редактировать кутэшный внешний вид гуем.

krserv
А исполняемый файл его зовется наоборот: qtconfig-qt4.

P.S. Кстати, если вы установили пакет, скажем, supertool, но не знаете, что теперь запускать, поскольку ни $ supertool, ни $ man supertool ничего не дают; то окромя как погуглить, что всегда полезно, можно посоветовать выполнить
$ apt-file show supertool | grep '/bin/'
Автор: Alukardd
Дата сообщения: 29.01.2012 21:01
ASE_DAG
Цитата:
apt-file show supertool
для этого apt-file должен быть установлен и еще база обновлена (# apt-file update)

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122

Предыдущая тема: перенос AD на Linux (OpenSuse)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.