Linux用户管理命令

一、用户管理命令

相关命令:useradd、userdel、usermod、passwd、su、sudo、id

用户管理文件 /etc/passwd

各字段解释,以root用户为例

root:x:0:0:root:/root:/bin/bash

 

2.useradd命令

Linux useradd 命令用于建立用户帐号。

语法: useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>]

参数说明

  • -c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。
  • -d<登入目录>  指定用户登入时的起始目录。
  • -D  变更预设值.
  • -e<有效期限>  指定帐号的有效期限。
  • -f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。
  • -g<群组>  指定用户所属的群组。
  • -G<群组>  指定用户所属的附加群组。
  • -m  自动建立用户的登入目录。
  • -M  不要自动建立用户的登入目录。
  • -n  取消建立以用户名称为名的群组.
  • -r  建立系统帐号。
  • -s<shell>   指定用户登入后所使用的shell。
  • -u<uid>  指定用户ID。

3.userdel命令

Linux userdel命令用于删除用户帐号。

语法: userdel [-r][用户帐号]

参数说明

  • -r  删除用户登入目录以及目录中所有文件。

4.usermod命令

Linux usermod命令用于修改用户帐号。

语法: usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]

参数说明

  • -c<备注>  修改用户帐号的备注文字。
  • -d登入目录>  修改用户登入时的目录。
  • -e<有效期限>  修改帐号的有效期限。
  • -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
  • -g<群组>  修改用户所属的群组。
  • -G<群组>  修改用户所属的附加群组。
  • -l<帐号名称>  修改用户帐号名称。
  • -L  锁定用户密码,使密码无效。
  • -s<shell>  修改用户登入后所使用的shell。
  • -u<uid>  修改用户ID。
  • -U  解除密码锁定。

5.passwd命令

Linux passwd命令用来更改使用者的密码

语法:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]

必要参数

  • -d 删除密码
  • -f 强迫用户下次登录时必须修改口令
  • -w 口令要到期提前警告的天数
  • -k 更新只能发送在过期之后
  • -l 停止账号使用
  • -S 显示密码信息
  • -u 启用已被停止的账户
  • -x 指定口令最长存活期
  • -g 修改群组密码
  • 指定口令最短存活期
  • -i 口令过期后多少天停用账户

6.su命令

Linux su(英文全拼:switch user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

使用权限:所有使用者。

语法:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

参数说明

  • -f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
  • -m -p 或 --preserve-environment 执行 su 时不改变环境变数
  • -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
  • -s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
  • --help 显示说明文件
  • --version 显示版本资讯
  • - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
  • USER 欲变更的使用者帐号
  • ARG 传入新的 shell 参数

细节

su -: 会切换root用户,也会把用户变量也切换到root的环境变量

su :  只是会切换root用户,但是当前的环境变量还是以前用户的环境变量

 

7.sudo命令

Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

使用权限:在 /etc/sudoers 中有出现的使用者。

参数说明

  • -V 显示版本编号
  • -h 会显示版本编号及指令的使用方式说明
  • -l 显示出自己(执行 sudo 的使用者)的权限
  • -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
  • -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
  • -b 将要执行的指令放在背景执行
  • -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
  • -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
  • -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
  • -H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
  • command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

8.id命令

Linux id命令用于显示用户的ID,以及所属群组的ID。

id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。

语法:id [-gGnru][--help][--version][用户名称]

参数说明

  • -g或--group  显示用户所属群组的ID。
  • -G或--groups  显示用户所属附加群组的ID。
  • -n或--name  显示用户,所属群组或附加群组的名称。
  • -r或--real  显示实际ID。
  • -u或--user  显示用户ID。
  • -help  显示帮助。
  • -version  显示版本信息。
posted @ 2021-09-27 12:47  mik99  阅读(841)  评论(0编辑  收藏  举报