Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   *nix (https://forum.antichat.xyz/forumdisplay.php?f=43)
-   -   есть разница между su и "su -" ? (https://forum.antichat.xyz/showthread.php?t=71820)

Дикс 28.05.2008 16:37

есть разница между su и "su -" ?
 
вот заинтересовал сабж.
и то и другое позоволяет логиниться под рутом. но вроде есть какие-то отличия. может кто пояснить?

groundhog 28.05.2008 16:47

Во втором случае ты к своим правам получешь так же среду окружения юзера (переменные окружения, etc.), права которого поднимаешь с помощью команды su.

Exlibris 28.05.2008 17:12

groundhog разве, а помоему это просто вход под root без параметра так что отличий нет.
--
Я не знаю, я прсото предположил

groundhog 28.05.2008 17:34

Хз... Я думал что "-" это синоним "-l"...

Exlibris 28.05.2008 17:45

Цитата:

Хз... Я думал что "-" это синоним "-l"...
Хех, даже самому интересно, но если без параметра запустить то точно различий нет, а так вообще обычно задается параметр для чего(какого приложения нужно запустится под рутом) например su -postgres (можно даже без тире)

skivan 28.05.2008 18:05

Что su, что su - , что sudo результат один и тот же выполнение команды от рута.

GreenBear 28.05.2008 18:25

Код:

Usage: su [options] [LOGIN]

Options:
  -c, --command COMMAND        pass COMMAND to the invoked shell
  -h, --help                    display this help message and exit
  -, -l, --login                make the shell a login shell
  -m, -p,
  --preserve-environment        do not reset environment variables, and keep
                                the same shell
  -s, --shell SHELL            use SHELL instead of the default in passwd


ShAnKaR 29.05.2008 00:06

Цитата:

bash-3.2$ su
Пароль:
[root@localhost test]# pwd
/home/test
[root@localhost test]# exit
exit
bash-3.2$ su -
Пароль:
[root@localhost ~]# pwd
/root
взял и попробовал. так же и env.

emik 29.05.2008 00:49

я понимаю так:

su - это вибрать юзера. тоисть su root | su mysql | su user_57 если параметр не указан по умолчанию берет root . я думаю потому что это первый (главний) юзвер.

sudo - это выполнить от имени. sudo mysql | sudo user_57 выполнить команду от имени юзера.

Exlibris 29.05.2008 01:01

emik про судо вообще разговора не было...
--
Для тех кто не понял расшифрую тест Шаркана
обычный "su" переводит пользователя из обычного в root`a и остается в том же катологе в котором и был
--
команда "su -" так же переводит пользователя в рута, и вместе с этим переходит в каталог суперпользователя (/root)


Время: 06:30