用户账号和组账号概述
- Linux基于用户身份对资源访问进行控制
- 用户账号
- 超级用户(root),uid,gid=0,超级用户是系统管理员,具备系统最高权限
- 程序用户(每个程序在创建时会自动创建一个程序用户)uid,gid=1-999,一般这个用户旨在维护这个程序时才会被使用,一般也不会允许此用户使用账号尼玛等力道系统中去
- 普通用户(系统账号,命令创建)uid,gid=1000,一般普通用户的权限是有限的,需要让他具备管理权限的话,需要用到sudo命令进项提权
- 组账号
- 用户账号
基本组(是私有组,必须有)
附加组(是共有组,不必需有)
-
- UID和GID
UID(User IDentity,用户标识符)
GID(Group IDentity,组标识符)
- 用户帐号文件
保存用户名称,宿主目录,登录shell等信息
文件位置/etc/passwd
每一行对应一个用户的账号记录
用户账号 用户ID 用户说明
root :x :0 :0 :root : /root :/bin/bash
密码占位符 组账号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 关闭用户的所有进程
- 组账号管理
- 添加组账号
groupdel 组名
group -g GID 组账号名
例:
~]# groupadd -g 1000 market
~]# tail -1 /etc/group
market :x :1000 :
-
- 查询组账号
grep “用户名” /etc/group “”可以不带
-
- 删除组账号
groupdel 组名
-
- 将用户从特定组中移除(把用户从基本组中移除不生效)
gpasswd -d 用户名 组名
-
- 将用户加入到指定组中
gpasswd -a 用户名 组名(用户要已存在)
-
- 查询账户信息
id 用户名 查询用户的uid和gid,所属基本组、附加组
groups 用户名 查询用户所属的组
finger 用户名 查询用户所有的详细信息
w 查询当前主机登录情况
-
- 指定多个用户同时加入某个组
gpasswd -M XXX1,XXX2,XXX3 组名
grep 组名 /etc/group 查询效果
- 文件/目录的权限和归属
权限分三段:属主: 属组:其他用户
文件属性:’d’代表目录 ‘-‘代表文件 ’l’代表链接文件 ‘b’代表块设备文件
-
- 访问权限
读取r:允许查看文件内容,显示目标 列表
写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或目录
可执行x:允许运行程序,切换目录
-
- 归属(所有权)
属主:拥有该文件或目录的所有用户账号
属组:拥有该文件或者目录的组账号
-
- 查看文件/目录的权限和归属
~]# ls -l install.log
-rw-r-1 root root 34298 04-02 00:23 install.log
文件类型 属主 属组
-
- 修改文件的属主和属组
chown 属主:属组 文件名 修改文件的属主和属组
chown 属主: 文件名 只修改文件的属主
chown :属组 文件名 只修改文件的属组
- 权限类型
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者 | 文件所属组 | 其他用户 |
- 权限分配
- 设置文件和目录的权限chmod
文件所有者 | 文件所属组 | 其他用户 | ||||||
r | w | - | r | - | - | r | - | - |
4 | 2 | 0 | 4 | 0 | 0 | 4 | 0 | 0 |
6 | 6 | 6 |
chomd [ugoa] [+-=] [rwx] 文件或目录
或
chomd nnn(三位8进制数) 文件或目录
u、g、o、a分别代表属主、属组、其他用户、所有用户
r、w、x分别代表读、写、执行权限
+、-、=分别代表增加、去除、设置权限
常用选项: -R 递归修改指定目录下的所有子项的权限
例:chomd -R 755 目录名
实验效果
- 新建一个组txt,将用户liming的基本组指向txt。
- 锁定用户liming,查看用户状态,解锁用户liming。
- 删除liming连带宿主目录一起删除。
将用户aa,ab,ac添加进txt组。
将aa从txt组中删除。
删除组txt。
查询ab用户的uid,gid和所属的组。
查询当前系统登录的账户。
新建一个目录,目录下创建一个文件,修改目录及子文件的权限为777。