用户管理
用户管理命令表格示意:
命令 | 功能 | 介绍 |
---|---|---|
useradd [-m -g] 组 新建用户名 | 新建用户 | -m : 自动创建家目录 ; -g : 指定用户所在的组,不然会建立一个同名组 |
passwd 用户名 | 设置用户密码 | 如是普通用户,直接用 passwd 就可修改自己的账户密码 |
userdel -r 用户名 | 删除用户 | -r :自动删除用户家目录 |
cat /etc/passwd 通道 grep 用户名 | 查看用户信息 | 创建用户后,用户信息会保存在 etc/passwd 文件中 ,此命令使用了 通道 来查看用户信息 |
用户命令使用提示:
- 在使用用户管理的命令需要通过 sudo 的权限才能执行。
- 创建用户时,如忘记 -m 选项指定新用户的家目录,就 直接删除此用户,重新创建 。
- 创建用户时,会默认 * 创建一个用户名同名的组名* 。
用户信息保存在 etc/passwd 文件中。
查看用户信息
命令 | 功能 |
---|---|
id [用户名] | 查看用户 UID 和 GID 信息 |
who | 查看当前所有登录的用户列表 |
whoami | 查看当前用户的帐户名 |
passwd 文件
passwd :位于etc/passwd ,存放是用户的信息,由6个分号组成的7个信息,分别是
- 用户名
- 密码(x,表示加密的密码)
- UID(用户标识)
- GID(组标识)
- 用户全名或本地账户
- 家目录
登录使用的 Shell ,就是登录之后使用的终端命令。Ubuntu 默认是 dash 。
id [用户名]
示例 :
usermod命令
usermod :用来设置 用户 的 主组 / 附加组 和 登录 Shell 。
主组:新建用户时,通过 -g 选项指定该用户所属组,在 etc/passwd 中的 **GID所对应的信息。
附加组:在 etc/group 中的最后一列标识该组的用户列表,用于指定 用户的附加权限 。
使用提示 :
- 设置用户的附加组后,需要重新登录才能使权限生效。
- 建议不使用修改 主组 ,以修改 附加组 来修改用户所属组的权限。
- 使用 * useradd * 添加的用户是没有权限使用 sudo 以 root 身份执行命令的,但需要先将用户添加 sudo 的附加组,如 usermod -G sudo 用户名。
usermod 命令示意:
修改用户的主组 (passwd 中的 GID)
usermod -g 组 用户名
修改用户的附加组
usermod -G 组 用户名
修改用户登录 Shell
usermod -s /bin/bash
which命令
/etc/passwd 是保存用户信息的文件。
/usr/bin/passwd 是修改用户密码的程序。
which 示例:
输入:which ls
输出:/bin/ls
输入:which useradd
输出:/usr/sbin/useradd
bin 和 sbin 解释:
- 在 Linux ,大多数可执行文件都是保存在 /bin 、/sbin 、/usr/bin 、/usr/sbin 中。
- /bin ( binary )是二进制执行文件目录,用于具体应用。
- /sbin ( System binary )是系统管理源专用的二进制代码存放目录,用于系统管理。
- /usr/bin ( user commands for applications)后期安装的软件。
- /usr/sbin ( super user commands for applications )超级用户的管理程序。
切换用户
切换用户使用时注意 :
su 不加用户名,就直接切换到了 root 身份,不推荐使用。
命令 | 功能 | 介绍 |
---|---|---|
su - 用户名 | 切换用户 |
|
exit | 退出当前登录用户 |
修改文件权限
命令 | 功能 |
---|---|
chown | 修改拥有者 |
chgrp | 修改组 |
chmod | 修改权限 |
命令格式如下 :
& 修改文件|目录的拥有者
chown 用户名 文件名|目录名
& 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名
& 递归修改文件的权限
chmod -R 755 文件名|目录名
注意 :在设置权限时,可以使用三个数字分别代表 拥有者 / 组 / 和 其他用户 的权限。
例: 直接修改文件|目录的 读|写|执行 的权限,但是不能精确到 拥有者|组|其他 。
chmod +/-rwx 文件名|目录名
另一种方式来修改文件的权限,精确到拥有者、组、其他用户:
常见数字组合(u 用户;g 组; o 其他):
777 ====> u=rwx;g=rwx;o=rwx
755 ====> u=rwx;g=rx;o=rx
644 ====> u=rw;g=r;o=r