Linux 用户及权限

概览

本文主要引导如何看用户和权限,及简单的权限设置,不做详细的用户增删查改等操作说明。

1. 查看用户

1.1 查看用户列表

$ cat /etc/passwd

输出说明:

# 格式
# 用户名:密码:用户ID:组ID:用户全名:主目录:登录shell
# 密码:存在/etc/shadow中,x表示有, !表示不能用密码访问
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
...
deploy:x:1000:1000::/home/deploy:/bin/bash
backup:x:1001:1001::/home/backup:/bin/bash

1.2 查看用户组别

$ cat /etc/group

输出说明:

# 用户组:密码:GROUPID:组的附加用户(不含同名的默认用户)
# 密码: 真正的密码在 /etc/gshadow
root:x:0:
bin:x:1:
adm:x:4:
...
deploy:x:1000:
docker:x:992:deploy
backup:x:1001:

1.3 查看用户活动

显示当前登录系统的用户

$ who -H

$ w

2. 查看权限

2.1 查看文件权限

$ ls -lh /data

输出说明:

# 权限
# 第一列: 目录 + owner 权限 + group 权限 + others 的权限
# 第三列: owner
# 第四列: group
drwxr-xr-x 5 deploy deploy 4.0K Feb  3  2021 docker
drwx--x--x 3 root   root   4.0K Feb  3  2021 lib
drwx------ 2 root   root    16K Feb  3  2021 lost+found
  • 第一列共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、excutable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。
  • 第二列表示链接数,表示有多少个文件链接到inode号码。
  • 第三列表示拥有者
  • 第四列表示所属群组
  • 第五列表示文档容量大小,单位字节
  • 第六列表示文档最后修改时间,注意不是文档的创建时间哦
  • 第七列表示文档名称。以点(.)开头的是隐藏文档

2.2 查看进程权限

# 尝试用 backup 用户进入到容器(无权限)
backup$ docker exec -it saas bash
> Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/saas/json: dial unix /var/run/docker.sock: connect: permission denied

==可以看到拒绝了,因为 backup 用户没有该进程的访问权限==。通过 root 查看了 /var/run/docker.sock 的权限信息,如下:

root$ ls -lh /var/run/docker.sock
srw-rw---- 1 root docker 0 Jan 18  2021 /var/run/docker.sock

==可以看到 root 用户 和 docker 组拥有该进程的访问权限,所以只要把 backup 用户加入到 docker 组即可== 用户及组管理会在下面提及

3. 管理用户

# 新建用户
$ useradd [用户名]

# 密码设置
$ passwd [用户名]

用户默认会添加到自己的组别上,如果需要添加到其他组别以便获得对应组别的权限,则可以:

# 添加用户到某个组
$ usermod -a -G [组名] [用户名]

指令说明:

-G, --groups GROUPS           new list of supplementary GROUPS 
-a, --append          append the user to the supplemental GROUPS 

4. 管理权限

4.1 标准用户的管理员权限

默认添加的用户都是标准用户,如果我们需要给标准用户 root 权限,则将他加入到 sudoers (慎用)

# 打开 sudoers 文件
$ visudo

# 添加用户行到文件尾
[用户名]  ALL=(ALL)       ALL

# :wq 保存退出

测试:

# 切换用户
$ su [用户名]

# 进入到 sudo 模式(能进入则表示成功)
$ sudo su

4.2 管理文件夹的权限

参考 《Linux 目录文件权限》

5. 参考

《Linux who命令》

《五分钟学会 Linux ACL 权限的全部内容》

你可能感兴趣的:(Linux 用户及权限)