【linux命令讲解大全】123.SSH-Add和Useradd:管理用户和密钥的Linux命令

2024-03-02 14:03:08 浏览数 (2)

ssh-add

将专用密钥添加到ssh-agent的高速缓存中。

补充说明

ssh-add命令是将专用密钥添加到ssh-agent的高速缓存中。该命令位于/usr/bin/ssh-add

语法
代码语言:javascript复制
ssh-add [-cDdLlXx] [-t life] [file ...]
ssh-add -s pkcs11
ssh-add -e pkcs11
选项
  • -D:删除ssh-agent中的所有密钥。
  • -d:从ssh-agent中删除密钥。
  • -e pkcs11:删除PKCS#11共享库pkcs1提供的密钥。
  • -s pkcs11:添加PKCS#11共享库pkcs1提供的密钥。
  • -L:显示ssh-agent中的公钥。
  • -l:显示ssh-agent中的密钥。
  • -t life:设置加载的密钥的超时时间,超时后ssh-agent将自动卸载密钥。
  • -X:解锁ssh-agent。
  • -x:锁定ssh-agent。
实例
  1. 把专用密钥添加到ssh-agent的高速缓存中:
代码语言:javascript复制
ssh-add ~/.ssh/id_dsa
  1. 从ssh-agent中删除密钥:
代码语言:javascript复制
ssh-add -d ~/.ssh/id_xxx.pub
  1. 查看ssh-agent中的密钥:
代码语言:javascript复制
ssh-add -l

useradd

创建新的系统用户。

补充说明

useradd命令用于Linux中创建新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码,而可用userdel删除帐号。使用useradd指令所建立的帐号实际上是保存在/etc/passwd文本文件中。

在Slackware中,adduser指令是一个脚本程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd命令建立新用户,这样可方便管理员建立用户帐号。在Red Hat Linux中,adduser命令则是useradd命令的符号链接,两者实际上是同一个指令。

语法
代码语言:javascript复制
useradd [选项] [参数]
选项
  • -b, --base-dir BASE_DIR:如果未指定-d HOME_DIR,则为系统的默认基本目录。如果未指定此选项,useradd将使用/etc/default/useradd中的HOME变量指定的基本目录,或默认使用/home
  • -c, --comment COMMENT:添加备注文字,可以是任何文本字符串。通常用于对登录名的简短描述,目前用作用户全名的字段。
  • -d, --home HOME_DIR:将使用HOME_DIR作为用户登录目录的值来创建新用户。
  • -D, --defaults:更改默认值。
  • -e, --expiredate EXPIRE_DATE:设置用户帐户的禁用日期。日期格式为YYYY-MM-DD。
  • -f, --inactive INACTIVE:设置密码过期后到帐户被永久禁用的天数。
  • -g, --gid GROUP:指定用户初始登录组的组名或编号。组名必须存在,组号必须引用已经存在的组。
  • -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指定用户的附加组列表,用逗号分隔。每个组名之间没有空格。
  • -h, --help:显示帮助信息并退出。
  • -k, --skel SKEL_DIR:指定骨架目录,其中包含要在用户的主目录中复制的文件和目录,当主目录由useradd创建时。
  • -K, --key KEY=VALUE:覆盖/etc/login.defs中的默认值(如UID_MIN、UID_MAX、UMASK、PASS_MAX_DAYS等)。
  • -l, --no-log-init:不要将用户添加到lastlog和faillog数据库。
  • -m, --create-home:如果用户的主目录不存在,则创建它。
  • -M:不要创建用户的主目录,即使/etc/login.defs中的系统范围设置为yes
  • -N, --no-user-group:不要创建与用户名相同的组,而是将用户添加到由-g选项或/etc/default/useradd中的GROUP变量指定的组中。
  • -o, --non-unique:允许创建具有重复(非唯一)UID的用户帐户。此选项仅与-o选项结合使用时有效。
  • -p, --password PASSWORD:指定加密密码。密码使用crypt(3)加密并返回。默认禁用密码。
  • -r, --system:创建一个系统帐户。
  • -s, --shell SHELL:指定用户登录的shell名称。
  • -u, --uid UID:指定用户ID。
  • -U, --user-group:创建一个与用户名相同的组,并将用户添加到该组中。
  • -Z, --selinux-user SEUSER:指定用户登录的SELinux用户。默认情况下留空,系统将选择默认的SELinux用户。
参数
  • 用户名:要创建的用户名。
退出值

useradd命令以以下值退出:

  • 0:成功。
  • 1:无法更新密码文件。
  • 2:无效的命令语法。
  • 3:选项的参数无效。
  • 4:UID已经在使用(没有-o选项)。
  • 6:指定的组不存在。
  • 9:用户名已被使用。
  • 10:无法更新组文件。
  • 12:无法创建主目录。
  • 13:无法创建邮件假脱机。
  • 14:无法更新SELinux用户映射。
文件
  • /etc/passwd:用户帐户信息。
  • /etc/shadow:保护用户帐户信息。
  • /etc/group:组帐户信息。
  • /etc/gshadow:保护组帐户信息。
  • /etc/default/useradd:帐户创建的默认值。
  • /etc/skel/:包含默认文件的目录。
  • /etc/login.defs:影子密码套件配置。
实例

新建用户加入组:

代码语言:javascript复制
useradd -g sales jack -G company,employees

建立一个新用户账户,并设置ID:

代码语言:javascript复制
useradd caojh -u 544

需要注意的是,设定的ID值应尽量大于500,以免冲突。因为Linux安装后会创建一些特殊用户,一般0到499之间的值留给系统账号如bin、mail。

0 人点赞