- Linux基于用户身份对资源访问进行控制
a) 用户账号
i. 超级用户(root),uid,gid=0,超级用户是系统管理员,具备系统最高权限
ii. 程序用户(每个程序在创建时会自动创建一个程序用户)uid,gid=1-999,一般这个用户旨在维护这个程序时才会被使用,一般也不会允许此用户使用账号尼玛等力道系统中去
iii. 普通用户(系统账号,命令创建)uid,gid=1000,一般普通用户的权限是有限的,需要让他具备管理权限的话,需要用到sudo命令进项提权
b) 组账号
基本组(是私有组,必须有)
附加组(是共有组,不必需有)
c) UID和GID
UID(User IDentity,用户标识符)
GID(Group IDentity,组标识符)
- 用户帐号文件
保存用户名称,宿主目录,登录shell等信息
文件位置/etc/passwd
每一行对应一个用户的账号记录
用户账号 用户ID 用户说明
密码占位符 组账号ID 宿主目录 登录shell
- 保存用户的密码、账号有效期等信息
文件位置:/etc/shadow
每一行对应一个用户的密码记录
用head -2 /etc/shadow命令显示
root :$1$55H12lcfhakbf kjabfkbaibfuiab
显示为用户字段+空字段
- 添加用户账号
useradd [选项] 用户名
常用选项
-u 指定uid
-d 指定宿主目录
-e 特定账号失效时间 时间格式为XXXX-XX-XX
-g 指定用户基本组
-G 指定用户附加组
-M 不建立宿主目录
-s 指定用户登录shell
例:~]#useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/nologin mike
- 设置/更改用户口令
passwd [选项] 用户名
常用选项
-d 清空密码
-l 锁定用户
-S 查询用户状态
-u 解锁用户
-f 强制操作
echo “123456” | passwd –stdin 用户名 初始化密码为:123456 (双引号可省略)
注:不设置密码不能登录,清空密码可以空密码登录
- 修改用户账号的属性
usermod [选项] 用户名
常用选项:
-u 修改用户uid
-d 修改宿主目录
-e 修改用户账户失效时间
-s 指定用户登录shell
-l 更改用户登录名
-L 锁定用户
-U 解锁用户
-g 修改用户所属的基本组
-G 修改用户所属的附加组
- 删除用户
user 用户名
-r 删除时将宿主目录页连带删除
killall -u 关闭用户的所有进程
- 组账号管理
a) 添加组账号
groupdel 组名
group -g GID 组账号名
例:
~]# groupadd -g 1000 market
~]# tail -1 /etc/group
market :x :1000 :
b) 查询组账号
grep “用户名” /etc/group “”可以不带
c) 删除组账号
groupdel 组名
d) 将用户从特定组中移除(把用户从基本组中移除不生效)
gpasswd -d 用户名 组名
e) 将用户加入到指定组中
gpasswd -a 用户名 组名(用户要已存在)
f) 查询账户信息
id 用户名 查询用户的uid和gid,所属基本组、附加组
groups 用户名 查询用户所属的组
finger 用户名 查询用户所有的详细信息
w 查询当前主机登录情况
g) 指定多个用户同时加入某个组
gpasswd -M XXX1,XXX2,XXX3 组名
grep 组名 /etc/group 查询效果
- 文件/目录的权限和归属
权限分三段:属主: 属组:其他用户
文件属性:’d’代表目录 ‘-‘代表文件 ’l’代表链接文件 ‘b’代表块设备文件
a) 访问权限
读取r:允许查看文件内容,显示目标 列表
写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或目录
可执行x:允许运行程序,切换目录
b) 归属(所有权)
属主:拥有该文件或目录的所有用户账号
属组:拥有该文件或者目录的组账号
c) 查看文件/目录的权限和归属
~]# ls -l install.log
文件类型 属主 属组
d) 修改文件的属主和属组
chown 属主:属组 文件名 修改文件的属主和属组
chown 属主: 文件名 只修改文件的属主
chown :属组 文件名 只修改文件的属组
- 权限类型
权限项 |
读 |
写 |
执行 |
读 |
写 |
执行 |
读 |
写 |
执行 |
字符表示 |
r |
w |
x |
r |
w |
x |
r |
w |
x |
数字表示 |
4 |
2 |
1 |
4 |
2 |
1 |
4 |
2 |
1 |
权限分配 |
文件所有者 |
文件所属组 |
其他用户 |
- 权限分配
文件所有者 |
文件所属组 |
其他用户 |
||||||
r |
w |
- |
r |
- |
- |
r |
- |
- |
4 |
2 |
0 |
4 |
0 |
0 |
4 |
0 |
0 |
6 |
6 |
6 |
- 设置文件和目录的权限chmod
chomd [ugoa] [+-=] [rwx] 文件或目录
或
chomd nnn(三位8进制数) 文件或目录
u、g、o、a分别代表属主、属组、其他用户、所有用户
r、w、x分别代表读、写、执行权限
+、-、=分别代表增加、去除、设置权限
常用选项: -R 递归修改指定目录下的所有子项的权限
例:chomd -R 755 目录名