Linux 02003 Liunx 基础 - Linux 命令 - 用户/权限管理

花花花次元 · 2021年10月25日 · 1071 次阅读

概述

1,用户是 Unix/Linux 系统工作中重要的一环,用户管理包括用户与组账号的管理。
2,在 Unix/Linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
3,Unix/Linux 系统中的 root 账号通常用于系统的维护和管理,它对 Unix/Linux 操作系统的所有部分具有不受限制的访问权限。
4,在 Unix/Linux 安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为 “标准用户”。
5,在大多数版本的 Unix/Linux 中,都不推荐直接使用 root 账号登录系统。

访问用户

通过设定权限可以从以下三种访问方式限制访问权限:
只允许用户自己访问,所有者就是创建文件的用户,用户是所有用户所创建文件的所有者,用户可以允许所在的用户组能访问用户的文件。
允许一个预先指定的用户组中的用户访问,多个用户组合成用户组,例如,某一类或某一项目中的所有用户都能够被系统管理员归为一个用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。
允许系统中的任何用户访问, 用户将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。在这种意义上,系统内的其他所有用户就是 other 用户类

访问权限

用户能够控制一个给定的文件或目录的访问程度,一个文件或目录可以有读、写及执行权限:
读权限(r)对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
写权限(w)对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
可执行权限(x)对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
注意:通常,Unix/Linux 系统只允许文件的属主 (所有者) 或超级用户改变文件的读写权限。

第 1 个字母代表文件的类型:

  • “d” 代表文件夹
  • “-” 代表普通文件
  • “c” 代表硬件字符设备
  • “b” 代表硬件块设备
  • “s” 表示管道文件
  • “l” 代表软链接文件

后 9 个字母分别代表三组权限:文件所有者、用户者、其他用户拥有的权限。每一个用户都有它自身的读、写和执行权限。
第一组权限控制访问自己的文件权限,即所有者权限。
第二组权限控制用户组访问其中一个用户的文件的权限。
第三组权限控制其他所有用户访问一个用户的文件的权限。
这三组权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限就构成了一个有 9 种类型的权限组。

用户管理常用命令

whoami:查看当前账号的用户名
whoami 该命令用户查看当前系统当前账号的用户名。可通过 cat /etc/passwd 查看系统用户信息。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以 su 命令切换到 root 身份对传统进行管理。这时候就可以使用 whoami 来查看当前用户的身份

who:查看登陆用户

选项:
-m 或 am I :只显示运行 who 命令的用户名、登录终端和登录时间
-q 或--count :只显示用户的登录账号和登录用户的数量

exit:退出登陆账户

如果是图形界面,退出当前终端;
如果是使用 ssh 远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。

useradd:添加用户账号

在 Unix/Linux 中添加用户账号可以使用 adduser 或 useradd 命令,因为 adduser 命令是指向 useradd 命令的一个链接,因此,这两个命令的使用格式完全一样。
useradd 命令的使用格式如下:useradd [参数] 新建用户账号。

相关说明:
Linux 每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录 (/home/用户);
每一个用户必须有一个主目录,所以用 useradd 创建用户的时候,一定给用户指定一个主目录;
用户的主目录一般要放到根目录的 home 目录下,用户的主目录和用户名是相同的;
如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。

passwd:设置用户密码

在 Unix/Linux 中,超级用户可以使用 passwd 命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。

userdel:删除用户

userdel abc(用户名) :删除 abc 用户,但不会自动删除用户的主目录
userdel -r abc(用户名) :删除用户,同时删除用户的主目录

su:切换用户

可以通过 su 命令切换用户,su 后面可以加 “-”。su 和 su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:

cat /etc/group:查看有哪些用户组

groupadd 添加/删除组账号
groupdel  删除组账号

groups 用户名:查看用户在那些组

usermod:修改用户所在组

chmod:修改文件权限

chmod 修改文件权限有两种使用格式:字母法与数字法。
字母法:chmod u/g/o/a +/-/= rwx 文件

chmod 修改文件权限有两种使用格式:字母法与数字法。
字母法:chmod 777 文件
用二进制位来表示三种权限的组合,rwx -> 100 代表有读权限,对应的十进制值为 4;rwx -> 010 代表有写权限,对用的十进制值为 2;rwx -> 001 代表有可执 1 权限,对用的十进制值为 4;rwx -> 110 代表有读写权限,对用的十进制值为 6;rwx -> 111 代表有读写和执行权限,对用的十进制值为 7。

特殊权限 SUID,SGID,SBIT

SUID 是 Set UID 的简称,suid 意味着如果 A 用户对属于他自己的 shell 脚本文件设置了这种权限,那么其他用户在执行这个脚本的时候就拥有了 A 用户的权限。所以,如果 root 用户对某一脚本设置了这一权限的话则其他用户执行该脚本的时候则拥有了 root 用户权限。同理,guid 意味着执行相应脚本的用户则拥有了该文件所属用户组中用户的权限。
给文件添加 suid 权限:
chmod 4755 file

SGID 即 Set GID 的缩写,它出现在文件所属组权限的执行位上面,它对普通二进制文件和目录都有效。当它作用于普通文件时,和 SUID 类似,在执行该文件时,用户将获得该文件所属组的权限。当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录用 SGID 修饰,则该用户在这个目录下建立的文件都是属于这个目录所属的组。
给目录添加 sgid 权限:
chmod 2755 folder

SBIT 即 Sticky Bit,它出现在其他用户权限的执行位上,它只能用来修饰一个目录。当某一个目录拥有 SBIT 权限时,则任何一个能够在这个目录下建立文件的用户,该用户在这个目录下所建立的文件,只有该用户自己和 root 可以删除,其他用户均不可以。
给目录添加 sbit 权限:
chmod 1755 folder

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册