|
| 1 | +--- |
| 2 | +title: Linux 用户管理命令 |
| 3 | +date: 2018/02/27 |
| 4 | +categories: |
| 5 | + - linux |
| 6 | +tags: |
| 7 | + - linux |
| 8 | + - command |
| 9 | +--- |
| 10 | + |
| 11 | +# Linux 用户管理命令 |
| 12 | + |
| 13 | +> 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo` |
| 14 | +
|
| 15 | +<!-- TOC depthFrom:2 depthTo:2 --> |
| 16 | + |
| 17 | +- [groupadd](#groupadd) |
| 18 | +- [groupdel](#groupdel) |
| 19 | +- [groupmod](#groupmod) |
| 20 | +- [useradd](#useradd) |
| 21 | +- [userdel](#userdel) |
| 22 | +- [usermod](#usermod) |
| 23 | +- [passwd](#passwd) |
| 24 | +- [su](#su) |
| 25 | +- [sudo](#sudo) |
| 26 | + |
| 27 | +<!-- /TOC --> |
| 28 | + |
| 29 | +## groupadd |
| 30 | + |
| 31 | +> groupadd 命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。 |
| 32 | +> |
| 33 | +> 参考:http://man.linuxde.net/groupadd |
| 34 | +
|
| 35 | +示例: |
| 36 | + |
| 37 | +```sh |
| 38 | +# 建立一个新组,并设置组 ID 加入系统 |
| 39 | +groupadd -g 344 jsdigname |
| 40 | +``` |
| 41 | + |
| 42 | +## groupdel |
| 43 | + |
| 44 | +> groupdel 命令用于删除指定的工作组,本命令要修改的系统文件包括 `/ect/group` 和 `/ect/gshadow`。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。 |
| 45 | +> |
| 46 | +> 参考:http://man.linuxde.net/groupdel |
| 47 | +
|
| 48 | +示例: |
| 49 | + |
| 50 | +```sh |
| 51 | +groupadd damon # 创建damon工作组 |
| 52 | +groupdel damon # 删除这个工作组 |
| 53 | +``` |
| 54 | + |
| 55 | +## groupmod |
| 56 | + |
| 57 | +> groupmod 命令更改群组识别码或名称。需要更改群组的识别码或名称时,可用 groupmod 指令来完成这项工作。 |
| 58 | +> |
| 59 | +> 参考:http://man.linuxde.net/groupmod |
| 60 | +
|
| 61 | +## useradd |
| 62 | + |
| 63 | +> useradd 命令用于 Linux 中创建的新的系统用户。useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码.而可用 userdel 删除帐号。使用 useradd 指令所建立的帐号,实际上是保存在 `/etc/passwd` 文本文件中。 |
| 64 | +> |
| 65 | +> 参考:http://man.linuxde.net/useradd |
| 66 | +
|
| 67 | +示例: |
| 68 | + |
| 69 | +```sh |
| 70 | +# 新建用户加入组 |
| 71 | +useradd –g sales jack –G company,employees # -g:加入主要组、-G:加入次要组 |
| 72 | + |
| 73 | +# 建立一个新用户账户,并设置 ID |
| 74 | +useradd caojh -u 544 |
| 75 | +``` |
| 76 | + |
| 77 | +## userdel |
| 78 | + |
| 79 | +> userdel 命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。 |
| 80 | +> |
| 81 | +> 参考:http://man.linuxde.net/userdel |
| 82 | +
|
| 83 | +示例: |
| 84 | + |
| 85 | +userdel 命令很简单,比如我们现在有个用户 linuxde,其家目录位于`/var`目录中,现在我们来删除这个用户: |
| 86 | + |
| 87 | +```sh |
| 88 | +userdel linuxde # 删除用户linuxde,但不删除其家目录及文件; |
| 89 | +userdel -r linuxde # 删除用户linuxde,其家目录及文件一并删除; |
| 90 | +``` |
| 91 | + |
| 92 | +## usermod |
| 93 | + |
| 94 | +> usermod 命令用于修改用户的基本信息。usermod 命令不允许你改变正在线上的使用者帐号名称。当 usermod 命令用来改变 user id,必须确认这名 user 没在电脑上执行任何程序。你需手动更改使用者的 crontab 档。也需手动更改使用者的 at 工作档。采用 NIS server 须在 server 上更动相关的 NIS 设定。 |
| 95 | +> |
| 96 | +> 参考:http://man.linuxde.net/usermod |
| 97 | +
|
| 98 | +示例: |
| 99 | + |
| 100 | +```sh |
| 101 | +# 将 newuser2 添加到组 staff 中 |
| 102 | +usermod -G staff newuser2 |
| 103 | + |
| 104 | +# 修改 newuser 的用户名为 newuser1 |
| 105 | +usermod -l newuser1 newuser |
| 106 | + |
| 107 | +# 锁定账号 newuser1 |
| 108 | +usermod -L newuser1 |
| 109 | + |
| 110 | +# 解除对 newuser1 的锁定 |
| 111 | +usermod -U newuser1 |
| 112 | +``` |
| 113 | + |
| 114 | +## passwd |
| 115 | + |
| 116 | +> passwd 命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。 |
| 117 | +> |
| 118 | +> 参考:http://man.linuxde.net/passwd |
| 119 | +
|
| 120 | +示例: |
| 121 | + |
| 122 | +```sh |
| 123 | +# 如果是普通用户执行 passwd 只能修改自己的密码。 |
| 124 | +# 如果新建用户后,要为新用户创建密码,则用 passwd 用户名,注意要以 root 用户的权限来创建。 |
| 125 | +[root@localhost ~]# passwd linuxde # 更改或创建linuxde用户的密码; |
| 126 | +Changing password for user linuxde. |
| 127 | +New UNIX password: # 请输入新密码; |
| 128 | +Retype new UNIX password: # 再输入一次; |
| 129 | +passwd: all authentication tokens updated successfully. # 成功; |
| 130 | + |
| 131 | +# 普通用户如果想更改自己的密码,直接运行 passwd 即可,比如当前操作的用户是 linuxde。 |
| 132 | +[linuxde@localhost ~]$ passwd |
| 133 | +Changing password for user linuxde. # 更改linuxde用户的密码; |
| 134 | +(current) UNIX password: # 请输入当前密码; |
| 135 | +New UNIX password: # 请输入新密码; |
| 136 | +Retype new UNIX password: # 确认新密码; |
| 137 | +passwd: all authentication tokens updated successfully. # 更改成功; |
| 138 | + |
| 139 | +# 比如我们让某个用户不能修改密码,可以用`-l`选项来锁定: |
| 140 | +[root@localhost ~]# passwd -l linuxde # 锁定用户linuxde不能更改密码; |
| 141 | +Locking password for user linuxde. |
| 142 | +passwd: Success # 锁定成功; |
| 143 | + |
| 144 | +[linuxde@localhost ~]# su linuxde # 通过su切换到linuxde用户; |
| 145 | +[linuxde@localhost ~]$ passwd # linuxde来更改密码; |
| 146 | +Changing password for user linuxde. |
| 147 | +Changing password for linuxde |
| 148 | +(current) UNIX password: # 输入linuxde的当前密码; |
| 149 | +passwd: Authentication token manipulation error # 失败,不能更改密码; |
| 150 | + |
| 151 | +[root@localhost ~]# passwd -d linuxde # 清除linuxde用户密码; |
| 152 | +Removing password for user linuxde. |
| 153 | +passwd: Success # 清除成功; |
| 154 | + |
| 155 | +[root@localhost ~]# passwd -S linuxde # 查询linuxde用户密码状态; |
| 156 | +Empty password. # 空密码,也就是没有密码; |
| 157 | +``` |
| 158 | + |
| 159 | +## su |
| 160 | + |
| 161 | +> su 命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。 |
| 162 | +> |
| 163 | +> 参考:http://man.linuxde.net/su |
| 164 | +
|
| 165 | +示例: |
| 166 | + |
| 167 | +```sh |
| 168 | +# 变更帐号为 root 并在执行 ls 指令后退出变回原使用者: |
| 169 | +su -c ls root |
| 170 | + |
| 171 | +# 变更帐号为 root 并传入`-f`选项给新执行的 shell: |
| 172 | +su root -f |
| 173 | + |
| 174 | +# 变更帐号为 test 并改变工作目录至 test 的家目录: |
| 175 | +su -test |
| 176 | +``` |
| 177 | + |
| 178 | +## sudo |
| 179 | + |
| 180 | +> sudo 命令用来以其他身份来执行命令,预设的身份为 root。在 `/etc/sudoers` 中设置了可执行 sudo 指令的用户。若其未经授权的用户企图使用 sudo,则会发出警告的邮件给管理员。用户使用 sudo 时,必须先输入密码,之后有 5 分钟的有效期限,超过期限则必须重新输入密码。 |
| 181 | +> |
| 182 | +> 参考:http://man.linuxde.net/sudo |
| 183 | +
|
| 184 | +示例: |
| 185 | + |
| 186 | +```sh |
| 187 | +# 指定用户执行命令 |
| 188 | +sudo -u userb ls -l |
| 189 | +# 列出目前的权限 |
| 190 | +sudo -l |
| 191 | +# 显示sudo设置 |
| 192 | +sudo -L |
| 193 | +``` |
0 commit comments