Linux入门到进阶(二) #系统操作 #用户管理 #权限管理

文章目录

  • 3. 系统操作(用户&权限)
    • 3.1 用户管理
      • useradd 新建用户
      • userdel 删除用户
      • usermod 修改用户账户信息
    • 3.2 组管理
    • 3.3 su和sudo
    • 3.4 用户与组配置文件介绍
    • 3.5 文件权限
      • 3.5.1 文件类型
      • 3.5.2 权限介绍
      • 3.5.3 修改权限
      • 3.5.4 特殊权限

3. 系统操作(用户&权限)

3.1 用户管理

useradd 新建用户

Linux入门到进阶(二) #系统操作 #用户管理 #权限管理_第1张图片
创建用户,会同时发生以下几件事(注意,要用root用户创建,我这里系统特殊):

  1. 会拥有用户自己的家目录(加-m参数)
  2. 会在/etc/passwd中记录
  3. 会创建一个和用户名同名的组
  • id命令可以查看是否存在该用户
    id 用户名,若不指定用户名,表示查看当前用户
  • 为用户定义密码(修改密码):passwd 用户名在这里插入图片描述

userdel 删除用户

  • -r 删除用户时,也删除其家目录

注: 如果删除不了用户,可能是用户未登出,多按几下Ctrl D来登出,再删除

  • 如果没加-r,保留的家目录就是无主的,只有root用户可以访问。
  • 如果一家删除了用户,还想删除家目录,也可以用userdel -r再次删除

usermod 修改用户账户信息

  • -d 修改用户家目录位置
    usermod -d 新路径 用户名
  • chage 修改用户账户信息

3.2 组管理

  • 创建组
    groupadd 组名
  • 删除组
    groupdel 组名
  • 修改用户组
    usermod -g 组名 用户名
  • 创建用户时,指定组
    useradd -g 组名 用户名

3.3 su和sudo

  • su 临时用户切换
    - 切换用户同时切换用户环境(比如从根目录切到该用户家目录)
    su - 用户名

  • sudo 以其他用户身份执行命令
  • 修改sudo权限:
    visudo
    在这里插入图片描述
    Linux入门到进阶(二) #系统操作 #用户管理 #权限管理_第2张图片
    点击这里查看nano用法

另: 个人用vim比较习惯,可以看到上面显示了文件名/etc/soduers.tmp,去这个路径下找到这个文件(实际名为/etc/soduers),然后用vim修改。
在这里插入图片描述
用户名 登录主机=(可以使用的命令) 是否需要输入密码

  • 如果是用户组,前面要加%
  • 如果是字符终端,为localhost。如果希望远程登录,用ALL
  • 多条命令,可用逗号隔开
    忘了命令的路径,可用: !which 命令名在vim中查找
    在这里插入图片描述
  • DEMO: 赋予xiaoming用户在远程终端上阻止关机的权限
    在文件末尾添加一行
    xiaoming ALL=/sbin/shutdown -c

3.4 用户与组配置文件介绍

/etc/passwd 保存用户和用户配置相关信息
Linux入门到进阶(二) #系统操作 #用户管理 #权限管理_第3张图片

  • 用户名:是否需要密码验证:uid:gid:注释:家目录位置:用户登录的命令解释器
  • 密码验证:需要:x,不需要:空着
  • uid:如果重复,以小的为准,比如将xiaowang的uid修改为0,则切换为xiaowang时,虽然显示为xiaoming,实则为root用户。
    nologin表示该用户不能登录终端

/etc/shadow 包含用户和密码相关信息
在这里插入图片描述

  • 用户名:密码(密码是加密过的,即使相同密码,结果也不一样)

/etc/group
在这里插入图片描述

  • 组名:是否需要密码验证:gid:用户名


pi用户是属于pi组的,上面这个的意思是,pi同时属于sudo组

3.5 文件权限

3.5.1 文件类型

类型 说明
- 普通文件
d 目录文件
b 块特殊文件(就是设备,比如插入一个硬盘)
c 字符特殊文件(终端)
l 符号链接
f 命名管道
s 套接字文件

3.5.2 权限介绍

Linux入门到进阶(二) #系统操作 #用户管理 #权限管理_第4张图片

  • 对于文件来说,rwx对应可读、可写、可操作
  • 对于目录来说。r表示是否可以读取目录内容,如ls;w表示是否可以增删改目录内容,如rm;x表示是否可以进入目录,如cd。
  1. 前三个:属主权限
  2. 中间三个:属组权限
  3. 后三个:其他用户权限
  • 数字权限的表示方法:r=4, w=2, x=1
  • 数字表示方法,很像一个古老的思维游戏:分金块。分金块的逻辑就是二进制。
  • vim并不是真正的写入文件,它是复制了一个.文件名.swp文件,对其进行操作,然后在保存时替换原文件。所以测试rwx时,不要用vim。可以用echo写入文件。echo 内容 > 文件路径覆盖写入。echo 内容 >> 文件路径追加写入。
  • 创建文件有默认权限,根据umask值计算(666-umask计算),属主/组根据当前进程的用户设定

3.5.3 修改权限

权限是管不住root用户的,不要拿root用户做测试

  • chmod 修改文件、目录权限(有两种方法)
    chmod u+x 文件路径
    chmod 755 文件路径
    修改属主u、属组g、其它o,都修改a。
    属主增加写权限:u+w
    属主减少写权限:u-w
    属主等于全权限:u=rwx
    在这里插入图片描述

  • chown 更改属主、属组
    chown 属主名 文件路径更改文件属主
    chown :属组名 文件路径更改文件属组
    chown 属主名:属组名 文件路径更改文件属主、属组

  • chgrp 单独更改属组(不常用)
    chgrp 属组名 文件路径更改文件属组

注意: 如果属主属于属组,并且权限冲突,以属主为准。

3.5.4 特殊权限

以下权限不建议手动制定,保持系统默认即可

  • SUID 用于二进制可执行文件,执行命令时取得文件属主权限(特点:属主的x变为s)
    如:/usr/binpasswd
    定义:chmod 4xxx 文件路径来定义,x处是数字
  • SGID 用于目录(一般用于共享),在该目录下创建新的文件和目录,权限自动更改为该目录的属组(特点:属组的x变为s)
    定义:chmod 2xxx 文件路径来定义,x处是数字
  • SBIT 用于目录,该目录下新建的文件和目录,仅root用户和自己可删除(特点:其它的x变为t)
    如:/tmp
    定义:chmod 1xxx 文件路径来定义,x处是数字
    Linux入门到进阶(二) #系统操作 #用户管理 #权限管理_第5张图片

你可能感兴趣的:(Linux,linux,centos)