3

Я установил Cygwin, но мне сложно работать с ним удобно. Мне бы хотелось, например, возможность 'su peter', где у peter есть свои предпочтения для домашнего каталога и оболочки. Меня не волнует безопасность. Мне не нужно, чтобы эти "учетные записи пользователей" были видны механизмам Windows.

Я был в тупике в моих усилиях. Я не знаю, как установить "пароль не требуется" в /etc /passwd. 'su' дает команду не найдена.

(Кстати, я установил Cygwin на другую машину несколько лет назад без проблем. Я борюсь с недавними "улучшениями"?)

Позвольте мне уточнить мой вопрос. Возможности из /etc /passwd: * назначить домашний каталог. Я хочу, чтобы у Джорджа и Питера были разные каталоги. Мне все равно, могут ли Джордж и Питер изменять файлы друг друга или нет * Я хочу, чтобы Джордж мог использовать другую оболочку из Питера. Я не хочу, чтобы goerge нужно было вводить ** tcsh ** cd /home /george ** source .cshrc для каждой создаваемой оболочки. Есть ли простой способ добиться этого? Есть ли у объекта Windows концепция предпочитаемой оболочки Cygwin?

1 ответ1

4

Меня не волнует безопасность.

Мне не нужно, чтобы эти "учетные записи пользователей" были видны механизмам Windows.

Каждый пользователь Cygwin должен иметь соответствующего пользователя Windows.


Как добавить нового пользователя в Cygwin?

  1. Создать пользователя Windows

    • Создайте пользователя в Windows (Пуск> Панель управления> Управление учетными записями пользователей> Добавить ...)
  2. Создайте соответствующего пользователя Cygwin

    • Запустите следующие команды:

      mkpasswd -l > /etc/passwd
      mkgroup -l > /etc/group 
      
    • Это позволит синхронизировать пользователей и группу Cygwin с учетной записью Windows.

    • Если вы находитесь в Домене, используйте -d вместо -l

  3. Установить оболочку пользователя

    • Измените оболочку пользователя по умолчанию, изменив /etc/passwd (это простой текстовый файл

    • Формат файла следующий:

      Username:Password:UID:GID:Info:Home:Shell
      
  4. Измените разрешения для домашнего каталога пользователя в соответствии с вашими потребностями


Я не знаю, как установить "пароль не требуется"

Если вы действительно не заботитесь о безопасности и не хотите использовать пароль:

password -p username

Из документации passwd :

конспект

passwd [OPTION] [USER]

Опции

...

-p, --pwd-not-required пароль не требуется для пользователя.

Источник passwd


Я борюсь с недавними "улучшениями"?

Начиная с версии Cygwin 1.7.34 /etc/passwd больше не используется по умолчанию для управления учетными записями пользователей.

  • Если /etc/passwd существует, он будет использоваться, но только для обслуживания существующих установок и особых ситуаций.

  • Если /etc/passwd не существует, вы все равно можете его создать. Смотрите mkpasswd и mkgroup для получения дополнительной информации.

Начиная с версии 1.7.34, Cygwin использует собственное управление пользователями Windows.

  • Active Directory, если он доступен,
  • Сэм в противном случае.

Вы должны использовать новый механизм для управления учетными записями пользователей вместо /etc/passwd:

Начиная с Cygwin 1.7.34, Cygwin использует автоматический внутренний перевод из Windows SID в POSIX UID/GID. Этот механизм, который является предпочтительным методом для сопоставления SID <=> UID/GID, подробно описан в разделе Сопоставление учетных записей Windows с учетными записями POSIX.

До Cygwin 1.7.34 последняя часть SID, так называемый "Relative IDentifier" (RID), по умолчанию использовалась в качестве UID и / или GID при создании файлов / etc / passwd и / etc / group с использованием инструменты mkpasswd и mkgroup . Эти инструменты, а также чтение учетных записей из файлов /etc/passwd и /etc/group по-прежнему присутствуют в последних версиях Cygwin, но вам следует переключиться на вышеупомянутый автоматический перевод, если у вас нет особых потребностей. Опять же, обратитесь к разделу "Сопоставление учетных записей Windows с учетными записями POSIX".

Исходные учетные записи POSIX, разрешения и безопасность:


su дает команду не найден.

Установите sshd и используйте ssh username@localhost в качестве замены su .

Вы можете определить псевдоним su чтобы сделать это проще.

Почему Су не работает?

Команда su и выходила из дистрибутивов Cygwin, но она не была перенесена в Cygwin и никогда не работала. В настоящее время он установлен как часть sh-utils , но, опять же, он не работает.

Вам лучше установить sshd и использовать ssh username@localhost в качестве замены su .

Чтобы узнать, почему su не работает, прочитайте О команде 'su' и связанных с ней сообщениях почтового архива.

Источник Почему не работает?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .