Mac 下创建隐藏用户

Mac 下创建隐藏用户
Mac 下创建隐藏用户, 例如 nobody, nginx, mysql 用户等等, 这些是 Apache, Nginx, Mysql, PHP-fpm 等软件要用到的. 但是, 这些用户又不想它能登录系统.

1
2
3
4
5
6
7
sudo dscl . create /Groups/nginx PrimaryGroupID 390
sudo dscl . create /Users/nginx UniqueID 390
sudo dscl . create /Users/nginx PrimaryGroupID 390
sudo dscl . create /Users/nginx UserShell /bin/false
sudo dscl . create /Users/nginx RealName nginx
sudo dscl . create /Users/nginx NFSHomeDirectory /dev/null
sudo dscl . create /Groups/nginx GroupMembership nginx

查看用户列表

1
dscacheutil -q group

创建git用户实例
创建组

1
2
3
1、 dscl . -list /Groups PrimaryGroupID | awk '{print $2}' | sort -n  // 列出已经被用的组ID
2、 sudo dscl . -create /Groups/git
3、 sudo dscl . -create /Groups/git PrimaryGroupID 1000 // 这里设置ID为1000 (可以选择其他未被用到的ID)

创建用户

1
2
3
4
5
6
7
8
9
1、 dscl . -list /Users UniqueID | awk '{print $2}' | sort -n  // 列出已经被用的用户ID
2、 sudo dscl . -create /Users/git
3、 sudo dscl . -create /Users/git UserShell /bin/bash
4、 sudo dscl . -create /Users/git UniqueID "503" // 这里设置ID为503
5、 sudo dscl . -create /Users/git PrimaryGroupID 1000 // 选择刚刚创建的组ID
6、 sudo dscl . -create /Users/git NFSHomeDirectory /Users/git
7、 sudo mkdir /Users/git
8、 sudo chown -R git:git /Users/git

启用root用户并,隐藏登陆

一、启用root用户

注:root用户拥有最高系统权限,谨慎使用
1.进入“系统偏好设置”

在这里插入图片描述

2.进入“用户与群组”

在这里插入图片描述

3.解锁后点击“登陆选项”,之后点击网络账户服务“加入”

在这里插入图片描述

4.在弹出的页面点击“打开目录实用工具”并解锁

在这里插入图片描述

5.点击状态栏“编辑”,选择“启用root用户”

在这里插入图片描述

6.设置root用户密码

在这里插入图片描述

二、隐藏账户

1.打开“终端”登陆root用户

1
su - root

输入root密码即可登陆

2.隐藏账户

1
dscl . create /Users/username IsHidden 1

3.取消隐藏账户

1
dscl . create /Users/username IsHidden 0

有些 MAC 用户可能会在一台机器上有好几个账户,他们有时候会希望隐藏一个特定的账户,不让它出现在 OS X 的登录屏上。这对于系统管理员来说相当常见,他们想要隐藏一个管理员账号,可用于直接或远程故障诊断,但是其他的用户出于各种原因也可以这样做。通过这种方式来隐藏账号 ,只要你知道这个账户,它就依然存在,你仍然可以通过远程登陆和屏幕共享来进入,只是不作为一个登陆选项出现在启动页而已。

注意,这种方法是针对在登录界面隐藏特定用户帐户,适用于mac与多个用户帐户之间。如果你只是单纯地不想让OS X 的登陆页显示所有计算机图标,你可以使用OS X首选项设置来隐藏所有的用户名,这样它显示的就是一个简单的登陆页面,而不会对这台Mac上有什么账户作任何提示。

1、如果要隐藏特定用户帐户,你需要知道该帐户的名称,并且对命令行使用很熟悉,启动OS X终端,然后准备好账户名称。名称几乎都跟用户主目录一致,后者我们常常用来隐藏或者显示账户。

2、该方法仅适用于 OS X Yosemite(10.10及更新版本)。隐藏一个账户所使用的终端命令如下如下,使用用户账号的主目录代替ACCOUNTNAME使它不再显示,sudo dscl . create /Users/ACCOUNTNAME IsHidden 1

比如说,要在一台Mac上用给定的用户主目录如/Users/ weiosx 来隐藏“weiosx”这个账户,语法如下:sudo dscl . create /Users/weiosx IsHidden 1

3、重新启动,您会注意到目标帐户不再在计算机列表中可见。在快速用户切换菜单和OS X的通用登录和注销菜单中该账户也不可见了。然而,假设该用户知道这个账号的存在,他就可以继续通过SSH、屏幕共享、远程登录,甚至GUI登录面板访问它。

有一天你厌倦了这样登录,想改回来怎么办!重复之前的操作,输入下面代码旧可以恢复了,

sudo dscl . create /Users/ACCOUNTNAME IsHidden 0

这个对于管理员设置是非常方便的

1
2
3
4
5
6
7
8
9
10
11
1、打开终端Terminal,输入以下命令,需要root权限用户,即管理员:

sudo dscl . create /Users/要隐藏的用户名 IsHidden 1

注意点“.”的前后有空格;

2、重启计算机即可,登录页面用户列表不再显示被隐藏的用户名。

3、恢复显示方法:

sudo dscl . create /Users/要隐藏的用户名 IsHidden 0