Terminal users mac os

Список учетных записей пользователей на Mac с командной строки

Администраторы Mac могут оказаться в ситуации, когда им необходимо отобразить список всех учетных записей пользователей на конкретном Mac с помощью командной строки. Мы рассмотрим несколько способов для продвинутых пользователей перечислить все учетные записи, как пользователей, так и системы, на любом Mac с любой версией программного обеспечения Mac OS X.

Несколько предварительных базовых подходов к этому было бы получить доступ к экрану входа в систему или перечислить содержимое каталога / Users, хотя если учетная запись пользователя будет скрыта, то она не будет отображаться на экране входа в систему, и это также просто для того, чтобы обфускать пользователя из в папке / Users. Кроме того, наличие имени в каталоге / Users / не является надежным, поскольку вы можете удалить учетную запись пользователя, но сохранить домашний каталог пользователей. В результате, хотя эти подходы могут быть подходящими для обычного пользователя Mac, который хочет показать, какие пользователи у них есть на компьютере, ни один из этих методов не является особенно достаточным для большинства потребностей администратора. Но, обратившись к командной строке, вы можете раскрыть все учетные записи пользователей на Mac, будь то общие учетные записи пользователей активных пользователей, учетных записей администратора, а также любой системной учетной записи.

Как перечислить все учетные записи пользователей на Mac из командной строки

Откройте терминал, если вы еще этого не сделали, либо на локальном компьютере, на котором хотите просмотреть учетные записи пользователей, либо подключитесь к удаленному Mac, на который вы хотите включить учетные записи пользователей. Затем мы будем использовать команду dscl, которая работает во всех версиях системного программного обеспечения Mac OS X.

Просмотр всех пользователей и учетных записей на Mac

dscl. список / Пользователи

Преимущество (или проблема) в этом подходе состоит в том, что он перечисляет не только все учетные записи пользователей на Mac, но также показывает каждую учетную запись процесса демона и сервера. Это будет включать имена пользователей, такие как Paul, Bob, Jill, а также демоны, системные учетные записи и пользователи процессов, такие как networkd, windowserver, daemon, nobody, root, _spotlight, _ard, _appserver, _iconservices и многие другие.

Если полный список пользователей, таким образом, нежелателен, вы можете легко исключить все демона _underscore и учетные записи процессов, выполнив вывод через grep, как мы покажем дальше.

Показывать только учетные записи пользователей

dscl. список / Пользователи | grep -v ‘_’

Эта команда будет отфильтровывать любого из пользователей-префикс-префиксов _ underscore, которые на самом деле не являются учетными записями пользователей. В результате вы получите гораздо более короткий список имен пользователей, но вы все равно найдете три пользовательских имени, которые не являются типичными учетными записями пользователей, но их обычно можно найти в установках Mac OS X; демона, никто и корень.

Показать все учетные записи пользователей, каталоги пользователей и информацию пользователя GECOS на Mac

Другим подходом было бы показать и перечислить подробный список учетных записей пользователей, связанный с ним каталог учетной записи пользователя и учетную запись пользователя GECOS (обычно это описание учетной записи или полное имя пользователя). Если вам интересно узнать, какие именно из системных учетных записей и обрабатывать учетные записи идентификаторов пользователей в вышеупомянутых списках, этот подход предлагает более подробную информацию, включая описание gecos для каждой учетной записи (например, пользователь _qtss — демон QuickTime Streaming Server)

Пользователь dscacheutil -q

Вывод этой команды будет довольно обширным, поэтому вы можете захотеть передать результат более или менее или перенаправить его в текстовый файл для упрощения разбора.

Вероятно, есть другие способы отображения всех учетных записей пользователей на Mac, независимо от версии системы, если вы знаете об эффективном информационном методе, который здесь не рассматривается, поделитесь им в комментариях.

Источник

Как создать учетные записи пользователей из Терминала в Mac OS X 10.5?

Я хотел бы иметь возможность создавать новых пользователей в Mac OS X 10.5 удаленно после ssh’ing в машину. Как мне это сделать?

Используйте команду dscl. Этот пример создаст пользователя «luser», вот так:

Затем вы можете использовать passwd для изменения пароля пользователя или использовать:

Вам нужно будет создать / Users / luser для домашнего каталога пользователя и изменить владельца, чтобы пользователь мог получить к нему доступ, и быть уверенным, что UniqueID на самом деле уникален.

Эта строка добавит пользователя в группу администраторов:

(Этот ответ следует рассматривать как дополнение к некоторым пробелам в процедуре Палмера)

Чтобы выбрать неиспользуемый UniqueID для вашего нового пользователя, вы можете использовать:

. затем используйте последовательность команд dscl, которые дал palmer для создания учетной записи, а затем создайте домашний каталог нового пользователя с помощью:

(есть команда createhomedir, но она не работала, когда я ее тестировал.)

Если вам нужно создать группу пользователей, можно создать структурированный текстовый файл и передать его dsimport для выполнения работы.

Руководство по администрированию командной строки Apple содержит целую главу о пользователях и группах.

Еще один способ выбрать уникальный идентификатор пользователя перед созданием учетной записи — просто просмотреть список и убедиться, что того, кого вы хотите использовать, там нет:

Удобно, если вам нужно использовать определенный идентификатор

Читайте также:  Asus f3s драйвер windows 10

Я использовал разные ответы здесь, чтобы придумать хороший сценарий для создания учетных записей пользователей. Следует признать, что он не предназначен для одновременного запуска команды из ssh; Более того, он предназначен для выполнения сценариев при компиляции образа OS X на основе пакетов (созданного Casper Imaging или InstaDMG ).

Скрипт позволяет указать, к каким группам должен принадлежать пользователь. Мне кажется, что это может отличаться в зависимости от версии OS X, которую вы используете. Я получаю другие результаты при работе id в качестве администратора в OS X 10.6, чем при работе в качестве администратора в OS X 10.5.

Источник

Секреты Терминала. Часть 1: Навигация

Mac OS X интересна тем, что подойдёт каждому: новичкам понравится интуитивность и понятность интерфейса, а опытным пользователям пригодятся практически неограниченные возможности, которые спрятаны «под капотом» системы. Для работы с ними нужен совершенно иной, уже непривычный современным пользователям компьютера способ — командная строка. С помощью командной строки можно управлять компьютером и файлами на нём, настройками практически всех программ, системными процессами и многим другим. Более того, активировать многие интересные возможности Mac OS и устранить многие неполадки можно только через командную строку. Окном в этот интересный мир для вас будет Терминал Mac OS X. Его возможностям мы решили посвятить данный цикл статей, в котором рассмотрим наиболее полезные рядовому пользователю команды и параметры.

Для начала — небольшое вступление. Многие пользователи зададутся вопросом «а зачем мне нужен Терминал с какой-то там командной строкой, когда в моём распоряжении и так есть симпатичный и удобный интерфейс Finder и десятков подобных программ от сторонних производителей?». Мы честно вам ответим — Терминал вам не нужен. Но только до тех пор, пока у вас не возникнут проблемы с компьютером или пока вы не захотите поменять что-то в скрытых настройках системы. Сложность интерфейса командной строки надуманна, нужно просто понимать сферу применимости Терминала. Для каких-то задач использовать его бессмысленно, потому что гораздо быстрее получится это сделать стандартными средствами. Но, например, ни одна навороченная программа не даст вам таких возможностей групповой обработки файлов, какие заложены в Терминале.

Итак, не освоив основы работы с командной строкой, вы не сможете использовать потенциал своего Мака на все 100%.

То же самое относится и к iPhone с iPod Touch. Процедура джейлбрейка даёт вам доступ к файловой системе аппарата, а Терминал (который можно завести и на айфоне) открывает значительные возможности работы с файлами и настройками.

Первая статья нашего цикла будет посвящена самому главному — навигации по папкам. Без этого вы не сможете сделать в Терминале ровным счётом ничего.

Запустив Терминал (он лежит в папке Программы/Служебные программы), вы увидите такое окно:

Серый прямоугольничек — это и есть курсор. В командной строке нет привычного указателя мыши. Слева от курсора находится бессмысленный (на первый взгляд) набор символов. Но на самом деле, смысл здесь есть в кадой детали. Итак:

  • ArkSnow — это имя компьютера. Разумеется, у вас оно будет совсем другим.
  • двоеточие разделяет имя компьютера и название папки, в которой вы находитесь

означает, что вы находитесь в домашней папке пользователя

  • Arkkeeper$ — это имя пользователя
  • Эти элементы называются приглашением. Если вы видите их на экране, то Терминал готов выслушать вашу команду. Если приглашения и курсора нет, то выполнение предыдущих команд ещё не закончилось, и вводить новые пока нельзя.

    Терминал показывает слева только само имя текущей папки. Это ни о чём не говорит, потому что на компьютере может быть несколько папок с одинаковыми именами. Поэтому запомните первую и самую главную команду навигации:

    Это английская аббревиатура Print Working Directory — напечатать рабочий каталог. Она покажет вам путь к той папке, в которой вы находитесь.

    Введите в Терминале pwd и нажмите Enter. Вы увидите следующее:

    / — это обозначение корневой папки диска, на котором установлена Mac OS X.

    /Users — это папка пользователей, которая находится в корневой папке диска

    /Users/Arkkeeper — это папка текущего пользователя, которая находится в папке пользователей.

    Как перейти в другую папку? Очень просто. Запомните вторую самую главную команду:

    cd означает Сhange Directory — сменить папку. Для этой команды недостаточно ввести её имя — так вы просто скажете, что хотите поменять папку, но не скажете, куда хотите перейти. Поэтому после cd нужен пробел и путь к каталогу, в который вы хотите переместиться.

    Это перенесёт вас в корень диска (не забудьте нажать Enter — как всегда).

    Заметьте, что содержимое приглашения поменялось. Тильда (

    Ваша домашняя папка не зря обозначается тильдой. Чтобы вам не пришлось каждый раз вбивать в Терминале /Users/ваше имя/, придумано это полезное сокращение.

    Вбейте в командную строку

    И вы снова окажетесь в свой домашней папке.

    Команда cd имеет несколько особенностей, связанных с путями к папкам. Пути бывают двух видов:

    • абсолютные — от корня диска. Они всегда начинаются со слэша (/).
    • относительные — от текущей папки.

    Например, если вы находитесь в домашней папке и хотите попасть в папку с музыкой, которая находится внутри неё, то вам не нужно вводить

    Всё проще. Поскольку вы уже в папке пользователя (

    ), то можно ввести только название папки, в которую хотите попасть:

    Обратите внимание — слэш не нужен! Если вы введёте

    то Терминал будет искать папку Music в корне диска. Естественно, он её не найдёт и напишет:

    Запомните ещё одно полезное сокращение — две точки (..). Это переход на уровень выше — в материнскую папку. Например, если вы находитесь в папке /Users/ваше имя/Music, и введёте в Терминал:

    то окажетесь в папке /Users/ваше имя. Если снова введёте cd . то попадёте в /Users. Если ещё раз — то в корне диска.

    cd — — переход к предыдущему местоположению в файловой системе. Важно понимать отличие между верхним в иерархии и предыдущим, а им может быть совершенно иное место, например, если Вы переместились с /Users в

    /Documents , то предыдущим будет именно /Users , а не

    . Однако после того, как мы спускались от папки к папке, пробираясь сквозь недры вложений, то абсолютно нет никакой разницы между верхним каталогом и предыдущим, а значит смело можно писать любую команду. Кстати, подобное поведение можно наблюдать и в графических менеджерах файлов, отличных от Finder. В них тоже отличается переход «назад» и переход «вверх». После вызова такой команды будет сразу же вызвана уже рассмотренная команда pwd , которая и оповестит нас о том, куда же мы перешли.

    Для навигации по истории команд можно использовать команду history . Она выведет 500 последних команд. Для выполнения последней достаточно ввести !! . А для вызова команды из того длинного списка — !*и тут номер в списке* . Обращаем ваше внимание на тот факт, что после выполнения команды, она в списке сдвинется, у нас не получится войти в одну воду дважды, то есть по одному номеру вызвать одну и ту же команду.

    И последняя хитрость Терминала на сегодня: если вам нужно ввести несколько похожих команд, не нужно вводить каждую по отдельности. Стрелка вверх и стрелка вниз позволяют вам пролистывать все введенные ранее команды.

    В следующей статье мы поговорим о том, как увидеть содержимое папок в командной строке.

    Источник

    List User Accounts on Mac from Command Line

    Mac administrators may find themselves in a situation where they need to display a list of all user accounts on a particular Mac by way of the command line. We’ll review a few methods for advanced individuals to list all accounts, both user and system, on any Mac with any version of Mac OS X system software.

    A few preliminary basic approaches to this would be to access the login screen or to list the contents of the /Users directory, though if a user account is hidden then it would not display at the login screen and it’s equally simple to obfuscate a user from the /Users folder. Additionally, the existence of a name in the /Users/ directory is not foolproof, because you can delete a user account but preserve that users home directory. As a result, while those approaches may be appropriate for the casual Mac user looking to show what users they have on a computer, neither of those methods are particularly sufficient for most admin needs. But, by turning to the command line you can reveal all user accounts on a Mac, whether they are general user accounts of active users, admin accounts, as well as any system account.

    How to List All User Accounts on a Mac from Command Line

    Open the Terminal if you haven’t done so already, either on the local machine you want to list user accounts for, or by connecting to a remote Mac you’d like to see the user accounts on. We’ll then use the ‘dscl’ command, which works in all versions of Mac OS X system software.

    View All Users & Accounts on a Mac

    dscl . list /Users

    The benefit (or trouble) with this approach is that it lists not only all user accounts on a Mac but it also shows every daemon and server process account. This would include usernames like Paul, Bob, Jill, but also daemons, system accounts, and process users like networkd, windowserver, daemon, nobody, root, _spotlight, _ard, _appserver, _iconservices, and many more.

    If the complete list of users is thus undesirable, you can easily exclude all the _underscore daemon and process accounts by running the output through grep, as we’ll show next.

    Show User Accounts Only

    dscl . list /Users | grep -v ‘_’

    This command will filter out any of the _ underscore prefixed daemon users, which are not actually user accounts. You’ll get a much shorter list of user names returned as a result, but you’ll still find three user names included that are not typical user accounts, but are normal to be found on Mac OS X installs; daemon, nobody, and root.

    Show All User Accounts, User Directories, & User GECOS Info on a Mac

    Another approach would be to show and list a detailed account list of user accounts, the associated user account directory, and the user account GECOS info (which is usually a description of the account or a full user name). If you find yourself wondering what on earth some of the system accounts and process user ID accounts in the aforementioned lists are, this approach offers more details, including the gecos description for each account (for example, _qtss user is the QuickTime Streaming Server daemon)

    dscacheutil -q user

    The output of that command will be rather extensive, so you may want to pipe the result through more or less or redirect it into a text file for easier parsing.

    There are likely other means of displaying all user accounts on a Mac, regardless of system version, if you know of an effective of informative method not covered here, do share it in the comments.

    Enjoy this tip? Subscribe to our newsletter!

    Get more of our great Apple tips, tricks, and important news delivered to your inbox with the OSXDaily newsletter.

    Thank you!

    You have successfully joined our subscriber list.

    17 Comments

    I love a good know-it-all. 😭😭

    I wonder why nobody answers the non-command-line guys question with the first normal-mac-user answer: use the “Users and Groups” pane of the “System Preferences” to list, control and manage your Mac users and groups, if you’re not prepared for the unix-style mess that is the command-line.

    Furthermore, a “Mac” user is NOT a “unix/posix” user. It bases on it – but has much more (data, definitions, home directory, provisioning, profiles etc.) that is beyond the scope of these command-lines. trying to Create or Delete users from the command-line would really mess things up, and leave lots of orphaned junk on your Mac. DO NOT do that from the command-line unless you know very well what you are doing – and even then – that’s a bad idea. the only time I would do that, is if I need to control a remote machine and I only have an ssh login (terminal + shell) to the remote machine. any other way – Apple’s UI (and its automation) provide a better solution.

    Next – if you’re talking about those _prefixed_usernames as “process” or “daemon” you should also give at least a sentence about what these are (special users set up for background-processes that exist and run outside the context of any normal “Mac user”, and even when no Mac user is logged in. These ‘users’ have the minimal access and capabilities for the need of the processes running “under” them.

    Also, I didn’t really understand the last “GECOS Info” thing – please explain what it is, aside from providing the command-line. It also emits LOTS of information that would be nice if explained.

    I’ve tried to add a user from a basic bash line and single user mode and all variations of prompts dscl/ -create/User “etc” on my macbook and every time I get “command not found” any suggestions?

    I am confused, when i typed “dscacheutil -q user”. I got deamons and roots, and some of the other users were anonymous. I dont exactly know, what a deamon is, and what a root user is. Can someone please tell me why i do have more than 59 accounts on my mac, is it bad?

    Listing all accounts on a Mac will show many that are NOT users, but daemons etc. Those are for system processes, those are not user accounts. Root is super user, every Mac has root.

    User accounts are found in the /Users directory of Mac OS at your root Macintosh folder. That’s what someone is logging in as in most cases.

    I just wonder why you’re even looking at this if you’re confused by it, what do you aim to achieve? If you don’t know what any of this is, it’s not relevant to you. It’d be like reading about the specifics of rocket science or brain surgery, probably not relevant to you either.

    this is how learning works

    I just wonder what you aim to acheive by being such a prick?

    Great post. Very helpful. I didn’t like the nobody account either. I found it in a dialogue box under privileges, groups, nobody = admin. Previous to I found users, my user name, and then under my selected user name it said admin. This made sense. I am using High Sierra v 10.13 .. Thanks again for the terminal commands, I can add them to my little OS X cheat sheet / notebook. Maybe I will write a book one day!

    Excellent suggestions, thank you all. Can someone tell me why Groupmembership would state: root (and my computer name here). I never activated “enable root”.

    How delete users account except two users account ? For example :

    I have 4 users account/
    1-admin
    2-usertemplate
    3-user1
    4-user2
    I want to delete all users except : admin & usertemplate?

    What’s the good syntax?
    dscl . delete /Users/ !(admin | usertemplate) don’t work?

    What is a good syntax ?

    If you want to delete a user you need to do the following be in a root prompt or do sudo

    sudo dscl . -delete /Users/$username

    This will delete the user from the directory. Then if you want to delete the user folder you can do

    sudo rm -rf /Users/$username

    I have listed the users on my mac suspecting that someone had hacked my Mac as it had turned out to be very slow.
    I got many users with “_” before them, I got root, nobody daemon.
    That is in addition to my created users. Does this mean that everything is ok, or should I start worrying!

    Not sure, but I think it’s an idea to run this and maybe share the results with me or someone who can ger a picture of the results: http://etrecheck.com

    Maybe post at the Apple Discussions forum?
    https://discussions.apple.com

    If the computer is unusually slow it’s probably some process that’s running or the drive is reading and/or writing. Or a bad file system.

    Just checking something as I am not a command line user.
    When I use dscl . list /Users | grep -v ‘_’
    I get an account called “nobody”. Who is this and should I get rid of it?

    NOBODY owns no files, is NOT in a privileged group, and has ONLY the permissions that any user would have (less the user directory, and control of those files) IOW, it’s a process account. It’s common on UN*X type systems.

    LEAVE NODOBY ALONE.

    If you have Fast User Account Switching enabled in Mac OS (X) you can see the list of possible user names on the Mac by clicking on the name or icon in the upper right corner.

    I use a different trick for this to list admin account / admin users

    dscl . -read /Groups/admin GroupMembership

    WIll list all administrator accounts on the Mac

    Источник

    Читайте также:  Astra linux создание пользователя без пароля
    Оцените статью