Рейтинг:0

Как создать псевдонимы для всех пользователей linux..?

флаг cn
root@puppetclient-ubuntu:/home/azureuser#cat /etc/.bash_aliases
  псевдоним extend_shutdown_15='bash extend_shutdown.sh 15 ; bash /bin/max_timetrack.sh'
  псевдоним extend_shutdown_30='bash extend_shutdown.sh 30 ; bash /bin/max_timetrack.sh'
  псевдоним extend_shutdown_60='bash extend_shutdown.sh 60 ; bash /bin/max_timetrack.sh'

#попытаться автоматизировать и выполнить "исходный файл /etc/.bash_aliases" через сценарий оболочки, но он не работает, значит, изменения не действуют.

root@puppetclient-ubuntu:/home/azureuser# псевдоним кошки.sh
#!/бин/баш
источник ~/.bash_aliases

когда я делаю источник /etc/.bash_aliases Пользовательские команды псевдонима доступны только для пользователя root и недоступны для всех остальных, ожидающих «root», если я выполняю один раз, он всегда должен быть доступен для всех пользователей. Пожалуйста, помогите мне исправить. Спасибо.

David avatar
флаг cn
Какая версия убунты?
hariraj avatar
флаг cn
«ВЕРСИЯ = «20.04.2 LTS (Фокусная ямка)»
флаг aq
Почему вы используете alias.sh, а не .bashrc пользователя?
Рейтинг:1
флаг cn

Стандартный подход в Ubuntu является то, что псевдонимы определены и полностью контролируется пользователем, а не администратором. Да, некоторые псевдонимы по умолчанию определяются при создании учетной записи, но эти определения добавляются в .bashrc файл и, таким образом, может быть удален/изменен, если пользователь этого предпочитает.

Вы можете настроить псевдонимы по умолчанию, которые поставляются с новой учетной записью, отредактировав /etc/skel/.bashrc. Этот файл по умолчанию .bashrc файл для новых учетных записей.

Управление определениями псевдонимов от имени администратора

Если вместо этого вы хотите взять под контроль псевдонимы текущих пользователей, как администратор, вы можете определить их в скрипте, который вы добавляете в /etc/profile.d. Все присутствующие там скрипты выполняются /etc/профиль, общесистемный профиль скрипт, выполняемый до приватного доступа пользователя ~/.профиль сценарий для оболочек входа в систему. Предпочитайте это прямому редактированию /etc/профиль, потому что последний файл контролируется вашим менеджером пакетов и может быть перезаписан во время будущего обновления.

Имейте в виду, что некоторым пользователям вы можете не понравиться, если возьмете на себя такой контроль. Также знайте, что пользователи могут отрицать псевдонимы, которые вы им навязываете с помощью unalias команды в личном кабинете .bashrc файл.

Рейтинг:0
флаг ca

Я думаю, вам просто нужно поместить файл alias.sh в /etc/profile.d

в моем случае /etc/profile.d/99-alias.sh он содержит:

#Добавлен JP
псевдоним du='du -h'
псевдоним dfh='df -h | grep -v snap'

работает для каждого входа в систему.

hariraj avatar
флаг cn
Я добавил то же, что и вы предложили, но все еще не работает "кошка /etc/profile.d/alias.sh псевдоним extend_shutdown_15='bash extend_shutdown.sh 15;bash /bin/max_timetrack.sh' псевдоним extend_shutdown_30='bash extend_shutdown.sh 30;bash /bin/max_timetrack.sh' псевдоним extend_shutdown_60='bash extend_shutdown.sh 60;bash /bin/max_timetrack.sh'
hariraj avatar
флаг cn
автоматически изменения не вступают в силу, но когда я выполняю их вручную, например, "bash /etc/profile.d/alias.sh", изменения вступают в силу, но я не хочу выполнять их вручную...
jpbrain avatar
флаг ca
Скажите, пожалуйста, чего вы пытаетесь достичь? Кроме того, что показывает команда «псевдоним» после помещения файла в /etc/profile.d
hariraj avatar
флаг cn
Я добавил файл "alias.sh" в "/etc/profile.d/" , поэтому я хочу, чтобы псевдонимы создавались для всех пользователей в системе Linux автоматически. Теперь, когда я выполняю команду «alias» в корневом пользователе, псевдонимы не создаются, о которых я упоминал в файле alias.sh.
jpbrain avatar
флаг ca
Привет. как вы входите в систему под пользователем root? какую команду вы используете для проверки пользователя root?
Рейтинг:0
флаг cn
raj

Во-первых, псевдонимы временный и действительный только для текущей оболочки. Когда вы запускаете псевдоним.sh файл, он выполняется в собственной скорлупе, а не в оболочке, из которой он был запущен. Итак, исходники скрипта ~/.bash_aliases (почему этот файл, а не /etc/.bash_aliases? Я думал, вы хотите последнего?), но как только сценарий завершается, оболочка также завершает работу, и все псевдонимы, которые могли быть определены в ~/.bash_aliases файл, они исчезли.

В этом разница между Бег сценарий оболочки и источник Это. Если вы запускаете сценарий оболочки, он запускается в своей собственной оболочке, поэтому любые изменения среды, псевдонимов и тому подобное, сделанные в сценарии, не влияют на родительскую оболочку (оболочку, из которой был запущен сценарий). Но когда вы используете тот же скрипт, он выполняется в текущей оболочке, поэтому все изменения, которые он делает, остаются после завершения сценария (конечно, они остаются до тех пор, пока существует оболочка - если вы выйдете из оболочки, все изменения снова исчезнут).

Принимая это во внимание, если вы хотите, чтобы псевдонимы из файла /etc/.bash_aliases быть доступным для любой пользователь в любая оболочка, которую они запускают, файл должен быть получен из /etc/bash.bashrc файл. Этот файл выполняется всякий раз, когда запускается любая оболочка (от любого пользователя), и обычно используется для установки начальной среды.

Итак, если вы добавите следующую строку в конце /etc/bash.bashrc (конечно, вы должны сделать это как root, чтобы иметь возможность редактировать файл):

источник /etc/.bash_aliases

вы должны получить то, что хотите.

псевдоним.sh файл вообще не нужен.

hariraj avatar
флаг cn
azureuser@puppetclient-ubuntu:~$ cat /etc/bash.bashrc источник /etc/.bash_aliases автоматические изменения не действуют в системе, но когда я выполняю их вручную, изменения выполняются «источник /etc/bash.bashrc», но я не хочу выполнять их вручную. Пожалуйста, помоги мне..
raj avatar
флаг cn
raj
@hariraj `/etc/bash.bashrc` должен выполняться автоматически при запуске оболочки, я не знаю, почему это не так. Возможно, ваша система настроена на выполнение какого-то другого файла. Вы должны найти этот файл и вставить в него `source /etc/.bash_aliases`. Если у вас нестандартная конфигурация системы, никто, кроме вас, не может знать, какой файл на самом деле выполняется.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.