Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Руководство по командам и Shell-программированию в Linux
На страницу 1, 2  След.
 
Начать новую тему Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов dkws.org.ua -> О книгах
 
Автор Сообщение
compositum

Новенький


Зарегистрирован: 18.06.2010
Сообщения: 55

СообщениеДобавлено: Сб Фев 05, 2011 4:04 pm    Заголовок сообщения: Руководство по командам и Shell-программированию в Linux
Ответить с цитатой

Ubuntu 10.10.
Купил указанную в теме топика книгу, читаю.
Раздел 3.4 "Команда chsh: Изменение командного интерпретатора".

Вы пишете, что если вызвать chsh с параметром -L, то в результате будет выведен перечень командных интерпретаторов, указанных в файле /etc/shells.
Однако для команды chsh такой параметр не определён:

Цитата:

hwd@X-Comp:~$ chsh -L
chsh: invalid option -- 'L'
Usage: chsh [options] [LOGIN]

Options:
-h, --help display this help message and exit
-s, --shell SHELL new login shell for the user account


Последний раз редактировалось: compositum (Сб Фев 05, 2011 4:39 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
compositum

Новенький


Зарегистрирован: 18.06.2010
Сообщения: 55

СообщениеДобавлено: Сб Фев 05, 2011 4:19 pm    Заголовок сообщения:
Ответить с цитатой

Раздел 3.5 "Команда cksum: Вычисление контрольной суммы файла".

Контрольные суммы могут вычисляться по разным алгоритмам. Например, зачастую на торрентах выкладывают контрольную сумму, вычисленную по алгоритму MD5.
Имхо - в раздел, посвящённый вычислению хешей, было бы неплохо добавить и такие команды:
md5sum
sha1sum


Попутно вопрос:
Мы получили значения хешей. Какой командой в Linux можно быстро проверить хеши на идентичность? Побуквенно сравнивать - неудобно, написать самому реализацию - несложно, но не хочется изобретать велосипед, ведь наверняка в системе уже есть готовая команда.

п.с. По поводу сверки хешей - эту информацию так же было бы неплохо добавить в тот же раздел книги (чтобы логически связанная информация находилась вместе).
_________________
Главное в процессе детализации - вовремя остановиться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ruslan89

Завсегдатай


Зарегистрирован: 09.01.2010
Сообщения: 799

СообщениеДобавлено: Сб Фев 05, 2011 4:58 pm    Заголовок сообщения:
Ответить с цитатой

chsh -l (l маленькая)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
compositum

Новенький


Зарегистрирован: 18.06.2010
Сообщения: 55

СообщениеДобавлено: Сб Фев 05, 2011 5:06 pm    Заголовок сообщения:
Ответить с цитатой

ruslan89 писал(а):
chsh -l (l маленькая)

В книге указана '-L', да и в справке информация отсутствует что по '-L', что по '-l'.
Проверил:
Цитата:

hwd@X-Comp:~$ chsh -l
chsh: invalid option -- 'l'
Usage: chsh [options] [LOGIN]

Options:
-h, --help display this help message and exit
-s, --shell SHELL new login shell for the user account

Как видим - результат нулевой.

Далее... Вопрос такой - не удаётся сменить командный интерпретатор:
Код:

hwd@X-Comp:~$ chsh
Password:
Changing the login shell for hwd
Enter the new value, or press ENTER for the default
   Login Shell [/bin/bash]: /bin/csh
chsh: /bin/csh is an invalid shell.
hwd@X-Comp:~$ chsh
Password:
Changing the login shell for hwd
Enter the new value, or press ENTER for the default
   Login Shell [/bin/bash]: '/bin/csh'
chsh: '/bin/csh' is an invalid shell.

Значение /bin/csh я взял и скопировал из файла /etc/shells. Работаю с правами обычного пользователя. Почему не удаётся сменить интерпретатор?
_________________
Главное в процессе детализации - вовремя остановиться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ruslan89

Завсегдатай


Зарегистрирован: 09.01.2010
Сообщения: 799

СообщениеДобавлено: Сб Фев 05, 2011 6:21 pm    Заголовок сообщения:
Ответить с цитатой

[сарказм]
Какй у вас дистр говорите???
[/сарказм]


Код:

ruslan@linux-ruslan:~>man chsh

chsh(1)                                                                                                                                              chsh(1)



NAME
       chsh - change login shell

SYNOPSIS
       chsh [-D binddn] [-P path] [-s shell] [-l] [-q] [-u] [-v] [user]

DESCRIPTION
       chsh  is  used  to  change  the user login shell.  A normal user may only change the login shell for their own account, the super user may change the
       login shell for any account.

       If a shell is not given on the command line, chsh operates in an interactive fashion, prompting the user with the current login shell.  Enter the new
       value  to change the field, or leave the line blank to use the current value. Enter none to remove the current value.  The current value is displayed
       between a pair of [ ] marks.

       The only restrictions placed on the login shell is that the command name must be listed in /etc/shells, unless the invoker  is  the  super-user,  and
       then any value may be added.  An account with a restricted login shell may not change their login shell.

       This version of chsh is able to change the shell of local, NIS, NIS+ and LDAP accounts , if the permissions allow it.OPTIONS
       -D, --binddn binddn
              Use the Distinguished Name binddn to bind to the LDAP directory.  The user will be prompted for a password for simple authentication.

       -P, --path path
              The  passwd  file is located below the specified directory path. chsh will use this files, not /etc/passwd.  This is useful for example on NIS
              master servers, where you do not want to give all users in the NIS database automatic access to your NIS server and the NIS map is build  from
              special files.

       -s, --shell
              Specify your login shell.

       -l, --list-shells
              Print the list of shells listed in /etc/shells and exit.

       -q, --quite
              Don't be verbose.

       -u, --usage
              Print a usage message and exit.

           --help
              Print a more verbose help text and exit.

       -v, --version
              Print version information and exit.

FILES
       /etc/passwd - user account information
       /etc/shells - list of valid login shells

SEE ALSO
       chfn(1), passwd(5), shells(5)

AUTHOR
       Thorsten Kukuk <kukuk@suse.de>

pwdutils                                                                February 2004                                                                chsh(1)

ruslan@linux-ruslan:~> chsh -l
/bin/ash
/bin/bash
/bin/csh
/bin/dash
/bin/false
/bin/ksh
/bin/ksh93
/bin/pdksh
/bin/sh
/bin/tcsh
/bin/true
/bin/zsh
/usr/bin/csh
/usr/bin/dash
/usr/bin/ksh
/usr/bin/ksh93
/usr/bin/passwd
/usr/bin/pdksh
/usr/bin/bash
/usr/bin/tcsh
/usr/bin/zsh


Последний раз редактировалось: ruslan89 (Сб Фев 05, 2011 7:46 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
compositum

Новенький


Зарегистрирован: 18.06.2010
Сообщения: 55

СообщениеДобавлено: Сб Фев 05, 2011 7:16 pm    Заголовок сообщения:
Ответить с цитатой

ruslan89 писал(а):
[сорказм]
Какй у вас дистр говорите???
[/сорказм]

Версия дистрибутива указана в первом посте, первой же строкой (без сАрказма).

Ниже показан результат, полученный командой man 1 chsh > Text
Цитата:

chsh(1) Пользовательские команды chsh(1)



НАЗВАНИЕ
chsh - изменяет регистрационную оболочку пользователя

СИНТАКСИС
chsh [параметры] [LOGIN]

ОПИСАНИЕ
Программа chsh изменяет регистрационную оболочку пользователя. Она определяет какая команда будет запущена после регистрации пользователя в системе. Обычный
пользователь может изменять регистрационную оболочку только для своей учётной записи, суперпользователь может изменять регистрационную оболочку любой учётной
записи.

ПАРАМЕТРЫ
Параметры команды chsh:

-h, --help
Показать краткую справку и закончить работу.

-s, --shellОБОЛОЧКА
Имя новой регистрационной оболочки пользователя. Если задать пустое значение, то будет использована регистрационная оболочка по умолчанию.

Если параметр -s не задан, то chsh переходит в интерактивный режим, предлагая пользователю изменить свою регистрационную оболочку. Вводимое значение заменяет
текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение регистрационной оболочки указано в скобках [ ].

ЗАМЕЧАНИЕ
Все допустимые имена регистрационных оболочек должны быть указаны в файле /etc/shells. На суперпользователя это ограничение не действует и поэтому ему разрешено
указывать любое значение. Для учётной записи с ограниченной регистрационной оболочкой пользователь не может изменить свою регистрационную оболочку. Поэтому,
команду /bin/rsh в файле /etc/shells лучше не указывать, так как, если пользователь случайно изменит свою регистрационную оболочку на эту ограниченную оболочку,
то не сможет восстановить её первоначальное значение.

ФАЙЛЫ
/etc/passwd
содержит информацию о пользователях

/etc/shells
содержит список разрешённых регистрационных оболочек

/etc/login.defs
содержит конфигурацию подсистемы теневых паролей

СМОТРИТЕ ТАКЖЕ
chfn(1), login.defs(5), passwd(5).



Пользовательские команды 09/03/2010 chsh(1)


Если вас интересует - результат команды man chsh > Text2
такой:
Цитата:

chsh(1) Пользовательские команды chsh(1)



НАЗВАНИЕ
chsh - изменяет регистрационную оболочку пользователя

СИНТАКСИС
chsh [параметры] [LOGIN]

ОПИСАНИЕ
Программа chsh изменяет регистрационную оболочку пользователя. Она определяет какая команда будет запущена после регистрации пользователя в системе. Обычный
пользователь может изменять регистрационную оболочку только для своей учётной записи, суперпользователь может изменять регистрационную оболочку любой учётной
записи.

ПАРАМЕТРЫ
Параметры команды chsh:

-h, --help
Показать краткую справку и закончить работу.

-s, --shellОБОЛОЧКА
Имя новой регистрационной оболочки пользователя. Если задать пустое значение, то будет использована регистрационная оболочка по умолчанию.

Если параметр -s не задан, то chsh переходит в интерактивный режим, предлагая пользователю изменить свою регистрационную оболочку. Вводимое значение заменяет
текущее значение поля; если введена пустая строка, то текущее значение остаётся неизменным. Текущее значение регистрационной оболочки указано в скобках [ ].

ЗАМЕЧАНИЕ
Все допустимые имена регистрационных оболочек должны быть указаны в файле /etc/shells. На суперпользователя это ограничение не действует и поэтому ему разрешено
указывать любое значение. Для учётной записи с ограниченной регистрационной оболочкой пользователь не может изменить свою регистрационную оболочку. Поэтому,
команду /bin/rsh в файле /etc/shells лучше не указывать, так как, если пользователь случайно изменит свою регистрационную оболочку на эту ограниченную оболочку,
то не сможет восстановить её первоначальное значение.

ФАЙЛЫ
/etc/passwd
содержит информацию о пользователях

/etc/shells
содержит список разрешённых регистрационных оболочек

/etc/login.defs
содержит конфигурацию подсистемы теневых паролей

СМОТРИТЕ ТАКЖЕ
chfn(1), login.defs(5), passwd(5).



Пользовательские команды 09/03/2010 chsh(1)


Я не знаю, почему у меня не работает параметр '-l' и почему он отсутствует в моей справке. Предполагаю, что у нас с вами разные версии chsh.
_________________
Главное в процессе детализации - вовремя остановиться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ruslan89

Завсегдатай


Зарегистрирован: 09.01.2010
Сообщения: 799

СообщениеДобавлено: Сб Фев 05, 2011 7:46 pm    Заголовок сообщения:
Ответить с цитатой

Блииииин!!! Ну точно! Сарказм через "А" пишется! Спасибо Idea
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
compositum

Новенький


Зарегистрирован: 18.06.2010
Сообщения: 55

СообщениеДобавлено: Сб Фев 05, 2011 7:49 pm    Заголовок сообщения:
Ответить с цитатой

ruslan89 писал(а):
Блииииин!!! Ну точно! Сарказм через "А" пишется! Спасибо Idea

Просьба: если у вас нет ничего по теме - не пишите (не хочется топик в базар превращать).
Надеюсь на понимание, спасибо.
_________________
Главное в процессе детализации - вовремя остановиться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ruslan89

Завсегдатай


Зарегистрирован: 09.01.2010
Сообщения: 799

СообщениеДобавлено: Сб Фев 05, 2011 8:03 pm    Заголовок сообщения:
Ответить с цитатой

Командный интерпретатор можно изменить, подредактировав "/etc/passwd"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
compositum

Новенький


Зарегистрирован: 18.06.2010
Сообщения: 55

СообщениеДобавлено: Сб Фев 05, 2011 8:06 pm    Заголовок сообщения:
Ответить с цитатой

ruslan89 писал(а):
Командный интерпретатор можно изменить, подредактировав "/etc/passwd"

Но... ведь я не об этом способе спрашиваю. Smile
_________________
Главное в процессе детализации - вовремя остановиться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Anderson

Завсегдатай


Зарегистрирован: 08.07.2006
Сообщения: 642
Откуда: localhost

СообщениеДобавлено: Сб Фев 05, 2011 9:45 pm    Заголовок сообщения:
Ответить с цитатой

compositum писал(а):
Какой командой в Linux можно быстро проверить хеши на идентичность? Побуквенно сравнивать - неудобно, написать самому реализацию - несложно, но не хочется изобретать велосипед, ведь наверняка в системе уже есть готовая команда.


Готовой таки нет. Можна таким скриптом:

Код:
#!/bin/sh
# Checks if file has correct md5 sum
# USAGE: checkmd5 <filename> <hash>
SUM=$(md5sum $1 | head -c 32)
if [ "$SUM" = "$2" ]
then
        echo "Correct"
else
        echo "FAIL!"
fi


Но, имхо, проще сравнить побуквенно.
Хотя, по принципу, достаточно сравнить первые 2-3 байта и последние 2-3: по своей структуре похожесть md5-хешов АБСОЛЮТНО не зависит от похожести данных - так называемая коллизия md5-хешов стремится к нулю. Например:
Код:
[anderson@arch(0) ~]$ echo "This is test line number 1" | md5sum
a0e1b5da8b1b78dcd93cbaf08fcb33a8  -
[anderson@arch(0) ~]$ echo "This is test line number 2" | md5sum
9e0753743ee11b54033ca1378a25f12e  -

Поэтому смело сравнивай лишь несколько байт.
_________________
ArchLinux + Enlightenment 17 (E17)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение anderson.dunai@gmail.com Моб. телефон ICQ Number
ruslan89

Завсегдатай


Зарегистрирован: 09.01.2010
Сообщения: 799

СообщениеДобавлено: Вс Фев 06, 2011 2:38 am    Заголовок сообщения:
Ответить с цитатой

compositum, я понимаю что не об этом! Но если у вас кривой дистр, а вам нужно решение - я вам намекнул Smile
Ну корявая у вас утилитка...КОРЯВАЯ! Если дистр регулярно обновляете, то это не лечится....Каноникл, однако, такой каноникл...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Вс Фев 06, 2011 5:07 am    Заголовок сообщения:
Ответить с цитатой

Цитата:

Вы пишете, что если вызвать chsh с параметром -L, то в результате будет выведен перечень командных интерпретаторов, указанных в файле /etc/shells.

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

Почему команда не работает в бубунте - лучше спросить у каноникл.

Как изменить? Да все просто - читаем формат /etc/passwd. Там же прописана оболочка, в любом текстовом редакторе берем и меняем ее. Это ж не фряха. Хотя не знаю что еще там каноникл выдумала Very Happy Хотя там есть еще и конфигуратор Пользователи и группы который может изменить оболочку
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
compositum

Новенький


Зарегистрирован: 18.06.2010
Сообщения: 55

СообщениеДобавлено: Вс Фев 06, 2011 7:07 am    Заголовок сообщения:
Ответить с цитатой

Всем спасибо за ответы.
ruslan89 писал(а):
Но если у вас кривой дистр, а вам нужно решение - я вам намекнул Smile
Ну корявая у вас утилитка...КОРЯВАЯ! Если дистр регулярно обновляете, то это не лечится....Каноникл, однако, такой каноникл...

Да, неприятно... Дистрибутив я скачивал отсюда. Обновления выполняю регулярно (последнее - вчера).

P.S. в версии 10.10 очень неудобно (во всяком случае мне) то, что кнопки управления окном расположены не в верхнем правом (как привык в Windows, а в верхнем левом углу окна).
_________________
Главное в процессе детализации - вовремя остановиться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
chip

Тысячник


Зарегистрирован: 22.04.2010
Сообщения: 2498

СообщениеДобавлено: Вс Фев 06, 2011 8:26 pm    Заголовок сообщения:
Ответить с цитатой

ruslan89 писал(а):
Каноникл, однако, такой каноникл...
вот и я о томже, книжки читать и убунту юзать невозможно, каноникл изменяет линукса до неузнаваемости, кстать не только каноникл, пока найдеш все то и охота пропадает.
Question Question Question
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов dkws.org.ua -> О книгах Часовой пояс: GMT
На страницу 1, 2  След.
Страница 1 из 2
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис