用户和权限
基本概念
- 用户管理包括 用户 与 组管理
- Linux可以指定每个用户针对不同目录和文件的不同权限
- 对文件/目录权限包括:
| 序号 | 权限 | 缩写 | 数字编号 |
| ---- | ---- | --------- | -------- |
| 01 | 读 | r | 4 |
| 02 | 写 | w | 2 |
| 03 | 执行 | x(excute) | 1 |
组的概念
一个组中权限相同,先规定组的权限,然后往上添加即可。
ls -l扩展
- 可以查看文件夹下详细信息
- 最前面那个
-
代表文件,d
开头则代表文件夹
第一列是文件拥有者权限,文件组的权限,其他人的权限。3个为一组
drwxr-xr-x
# d代表文件夹 rwx代表文件拥有者拥有可读可写可执行权限
# r-x代表组拥有的权限
# 下一个r-x代表其他人的权限
- 硬连接数 有多少种方式可以访问到当前目录/文件
chmod 简单实用(重要)
-
chmod
可以修改 用户/组 对文件/目录 的权限 -
命令格式如下:
chmod +-rwx 文件名/目录
-
没有可读权限,看都看不了,无法执行在
-
python文件中加上
#!python解释器路径
,直接使用./文件名
即可执行 -
一个目录没有可执行权限,不能针对目录执行任何命令,但图形化界面可以进去,但每次需要输入密码进行操作。如果有可修改权限则可以执行删除等操作,并且无法恢复。
-
没有可读权限,则无法读取里面内容
-
没有可写权限,无法修改目录内容
超级用户
root
账户不推荐使用
组管理
序号 | 命令 | 作用 |
---|---|---|
01 | groupadd 组名 | 添加组 |
02 | groupdel 组名 | 删除组 |
03 | cat /etc/group | 确认组信息 |
04 | chgrp -R 组名 文件/目录名 | 递归修改文件/目录的所属组 |
用户管理
创建用户/设置密码/删除用户
序号 | 命令 | 作用 | 说明 |
---|---|---|---|
01 | useradd -m -g 组 新建用户名 | 添加新用户 | -m 自动建立用户家目录 -g 指定用户所在的组,否则会建立一个同名的组 |
02 | passwd 用户名 | 设置用户密码 | 如果是普通用户,直接用 passwd 可以修改自己的账户密码 |
03 | userdel -r 用户名 | 删除用户 | -r 选项会自动删除用户家目录 |
04 | cat /etc/passwd | grep 用户名 | 确认用户信息 | 新建用户后,用户信息会保存在 /etc/passwd 文件中 |
查看用户信息
序号 | 命令 | 作用 |
---|---|---|
01 | id[用户名] | 查看用户 UID 和 GID 信息 |
02 | who | 查看当前所有登录的用户列表 |
03 | whoami | 查看当前登录用户的账户名 |
passwd文件
/etc/passwd
文件存放的是用户的信息,由6个分好组成的7个信息,分别是:
- 用户名
- 密码(x 表示加密的密码)
- UID (用户标识)
- GID(组标识)
- 用户全名或本地账号
- 家目录
- 登录使用的Shell,就是登录之后,使用的终端,
ubuntu
默认是dash
# 查看组信息
cat -n /etc/group | grep ts
5 adm:x:4:syslog,ts
18 cdrom:x:24:ts
21 sudo:x:27:ts
23 dip:x:30:ts
30 gnats:x:41:
35 plugdev:x:46:ts
55 lpadmin:x:116:ts
65 ts:x:1000:
66 sambashare:x:126:ts
usermod
usermod
可以用来设置 用户 的 主组/附加组 和 登录Shell,命令如下:- 主组: 通常再新建用户时候指定,再
etc/passwd
的第4列 GID对应的组 - 附加组: 在
etc/group
中最后一列表示该组的用户列表,用于指定 用户的附加权限
# 修改用户的主组(passwd 中的 GID)
usermod -g 组 用户名
# 修改用户的附加组
usermod -G 组 用户名
# 修改用户登录Shell,ubuntu中是dash,但在windows下不方便使用
usermod -s /bin/bash
默认使用
useradd
添加的用户是没有权限使用sudo
以root
身份执行命令的,可以使用一下命令将用户添加到sudo
附加组中
usermod -G sudo 用户名