Вероятно, можно обойтись без дополнительного экземпляра оболочки при помощи JOB CONTROL
в текущей оболочке. Это документируется в страницу справочника bash(1)
.
можно просто приостановить задачу с помощью Ctrl + Z последовательность по умолчанию, хотя это может быть настроено в терминале по-другому, проверьте вывод stty -a
:
$ stty -a | grep susp
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
можно проверить задания путем издания jobs
:
# jobs
[1] Stopped journalctl -f
[2]- Stopped vim /etc/hosts
[3]+ Stopped tail -f /var/log/firewalld
Приносят одному из них к переднему плану:
$ fg %3
Или резюме это в фоновом режиме:
$ bg %2
Этот метод не имеет многих преимуществ screen
или tmux
, но может быть одинаково полезным в некоторых ситуациях.
Не пытайтесь дублировать наборы прав подобным образом, это станет кошмаром для руководства. Используйте роли и наследование.
Вместо этого создайте РОЛЬ
(группа) и сделайте обоих пользователей членами этой роли. Предоставьте роли необходимые права и владение любыми необходимыми объектами, и пользователи автоматически унаследуют эти права доступа.
Чтобы осуществить переход, либо:
Превратите существующего пользователя в общую роль, переименовав его и отбросив его ВХОД
вправо, превратив его из роли входа (пользователя) в роль (группу) без входа в систему, затем создайте нового пользователя с исходным именем; или
Вручную GRANT
новой роли все необходимые права, используя GRANT ... ON DATABASE
, GRANT ... ON SCHEMA
, ПРЕДОСТАВЛЕНИЕ ... НА ВСЕХ ТАБЛИЦАХ СХЕМЫ
и т. Д.
Вот демонстрация первого подхода. Допустим, у нас есть исходный пользователь с именем test
, владеющий таблицей и некоторыми другими грантами:
regress=# CREATE USER test WITH PASSWORD 'original user pw';
CREATE ROLE
regress=# CREATE TABLE testtab(x integer);
CREATE TABLE
regress=# ALTER TABLE testtab OWNER TO test;
ALTER TABLE
Мы можем преобразовать его в общую роль и создать нового пользователя с тем же именем:
regress=# ALTER ROLE test RENAME TO test_group;
NOTICE: MD5 password cleared because of role rename
ALTER ROLE
regress=# ALTER ROLE test_group NOLOGIN;
ALTER ROLE
regress=# CREATE USER test IN GROUP test_group PASSWORD 'original user pw';
CREATE ROLE
Пока поскольку вы устанавливаете тот же пароль, пользователь не заметит разницы.
Теперь вы можете создать нового пользователя и добавить его к той же роли, предоставив ему тот же доступ, что и исходный тестовый
пользователь до того, как вы превратили его в роль test_group
. В этом случае я использую отдельные шаги для создания пользователя, а затем предоставления ему членства в роли; Эффект такой же, как и выше, я просто показываю вам два разных способа сделать это: