Linux用户与权限管理详解

[复制链接]
发表于 2025-11-23 19:57:28 | 显示全部楼层 |阅读模式
一、用户的管理

   在 Linux 中,用户分为以下几种范例
  

  • 超等用户(root):拥有体系的最高权限,可以实行全部利用
  • 寻常用户:权限受到限定,只能访问被授权的资源
  • 体系用户:体系进程运行时所使用的用户(如 nobody、daemon),通常不能登录体系
1、添加用户

  useradd是Linux体系中用于创建新用户的根本下令。
根本语法
  1. useradd [options] username
复制代码
常用选项


  • -d:指定用户的主目次(默认主目次是 /home/用户名)
  • -g:指定用户所属的初始组(默认组名是用户名)
  • -G:为用户分配附加的组
  • -u:指定用户 ID(默认体系会自动分配)
   常用示例
  

  • 添加用户testuser
    1. useradd testuser
    复制代码
  • 添加用户zhangsan并设置该用户的主目次
    1. useradd -d /usr/zhangsan zhangsan
    复制代码
  • 添加lisi用户,该用户的主目次/usr/lisi,所属主组dev,附加组test
    1. useradd -d /usr/lisi -g dev -G test lisi
    复制代码
2、设置用户暗码

  创建用户后,必要为其设置暗码,否则用户无法登录。
根本语法
  1. passwd username
复制代码
  常用示例
  

  • 为用户testuser设置暗码()
    1. passwd testuser
    复制代码
  • 体系会提示输入两次暗码以举行确认

3、切换用户

  su是switch user(切换用户)的缩写,紧张用于在终端中切换到另一个用户(通常是root)实行利用。
根本语法
  1. su [username]
复制代码
  常用示例
  

  • 切换到寻常用户testuser
    1. su testuser
    复制代码
    输入testuser的暗码后,会切换到该用户
  • 切换到root用户(假如你是寻常用户)
    1. su -        # 切换到 root 用户,并加载 root 的完整环境
    复制代码
    大概直接:
    1. su
    2. # 或
    3. su root                # 切换到 root 用户,但不加载目标用户的完整环境
    复制代码
    输入root用户的暗码后,切换到超等用户,前者加载root完备环境,后者生存当前用户环境
  • 切换用户并加载其登录环境(保举)
    1. su - username
    复制代码
    加-或--login参数,会加载目的用户的完备登录环境(包罗环境变量、工作目次等)
  • 退出当前用户
    1. exit
    复制代码
    或按快捷键:
    1. Ctrl + D
    复制代码
    切换到其他用户后,可以使用以下下令返回到上一个用户
   快速验证当前用户
  

  • 使用whoami检察当前用户名

  • 使用id检察当前用户信息

4、修改用户

  修改用户就是对用户名,用户主目次,用户组等举行修改。
根本语法
  1. usermod [options] username
复制代码
常用选项


  • -l:指定新的用户名
  • -d:指定新用户的主目次
  • -g:指定新用户属于哪个组(主组)
  • -G:指定新用户分配附加的组
   常用示例
  

  • 修改用户名(将zhangsan修改为lis)
    1. usermod -l lis zhangsan  
    复制代码
  • 修改主目次
    1. # -m 选项很重要,当有了这个选项之后,目录不存在时会新建该目录。
    2. usermod -d /usr/zhangsan2 -m zhangsan
    复制代码
  • 修改所属组
    1. usermod -g dev1 zhangsan
    复制代码
  • 锁定用户
    1. usermod -L zhangsan
    复制代码
  • 解锁用户
    1. usermod -U zhangsan
    复制代码
5、删除用户



  • 删除用户并连同主目次一块删除
    1. userdel -r zhangsan
    复制代码
  • 默认环境下,专属用户组会被自动删除,非专属组不会删除
6、sudo下令

  sudo允许寻常用户以超等用户(root)或其他用户的身份实行下令。它是提拔权限的一种安全方式,制止直接使用root登录。
根本语法
  1. sudo [选项] [命令]
复制代码
常用选项
选项作用示例-i模拟登录目的用户(默认 root),加载完备的登录环境sudo -i
-u <user>以指定用户(<user>)的身份运行下令。默以为 rootsudo -u www-data whoami
-k立即失效当前用户的 sudo 缓存,要求下次使用 sudo 时重新输入暗码sudo -k-l列出当前用户可以使用的 sudo 权限sudo -l-v验证用户的 sudo 权限,但不运行任何下令(重新输入暗码时可用)sudo -v--edit 或 -e以编辑模式打开文件(以 sudo 权限)sudo -e /etc/fstab

  • 默认环境下,sudo 在输入暗码后会缓存一段时间(通常是15分钟)
  • 在缓存时间内,重复实行sudo下令无需再次输入暗码
   常用示例
  

  • 以sudo权限运行单个下令
    1. sudo apt update   # 更新系统软件包信息
    复制代码

    • 特点:临时得到root权限,运行竣过后权限开释

  • 切换到root用户
    1. sudo -i
    复制代码

    • 作用:切换到root,加载root用户的完备登录环境(类似su -)
    • 实用场景:必要长时间以root身份运行多个下令

  • 以指定用户运行下令
    1. sudo -u www-data whoami
    复制代码

    • 作用:以www-data用户的身份实行下令

   sudo设置文件(/etc/sudoers)
  

  • sudoers 文件是 sudo 权限的设置文件,界说了哪些用户或用户组可以实行哪些下令
常见规则示例
  1. # 允许用户 `user1` 以 `root` 权限执行任何命令
  2. user1 ALL=(ALL:ALL) ALL
  3. # 允许用户 `user2` 在不输入密码的情况下运行所有命令
  4. user2 ALL=(ALL:ALL) NOPASSWD: ALL
  5. # 允许用户 `user3` 只运行特定命令
  6. user3 ALL=(ALL:ALL) /usr/bin/systemctl restart apache2
  7. # 允许用户组 `admin` 执行所有命令
  8. %admin ALL=(ALL:ALL) ALL
复制代码
  sudo 和 su 的区别
  特点sudosu作用提拔权限实行单个下令或切换到root切换到另一个用户(默认是root)暗码使用使用当前用户的sudo暗码使用目的用户的暗码(如root暗码)权限控制通过/etc/sudoers举行细粒度控制必要知道目的用户暗码,没有细粒度权限控制安全安全(制止袒露root暗码,且支持日志日志审计)较不安全(必要启用并袒露root暗码)实用场景实行单次提权下令、管理体系长期以root用户身份工作二、用户组的管理

  在Linux体系中,用户组管理是用户管理的紧张部门。通过对用户组的管理,可以方便地设置用户权限,构造用户,以及控制对资源的访问。


  • 用户组的添加、修改和删除实际上就是对/etc/group文件的更新
  • 使用root账户检察当前体系的用户组有哪些


    • lighthouse:组名,组的的名称
    • x:暗码占位符,通常为 x,实际暗码存储在/etc/gshadow文件中
    • 1001:组的ID
    • lighthouse:组内用户列表,属于该组的用户

  • 检察当前登录的账户属于哪一组

  • 检察某个用户属于哪一组

1、添加用户组

  使用groupadd下令可以创建一个新的用户组。
根本语法
  1. groupadd [选项] 用户组名
复制代码
  常用示例
  

  • 创建一个名为developers的用户组
    1. groupadd developers
    复制代码
  • 指定组ID创建用户组
    1. groupadd -g 1001 developers
    复制代码
2、修改用户组

  使用groupmod下令修改组的信息,包罗组名和组ID。
   常用示例
  

  • 将组developers的名字改为devteam
    1. groupmod -n devteam developers
    复制代码

    • -n:指定新的组名

  • 将组developers的GID修改为2000
    1. groupmod -g 2000 developers
    复制代码
  • 将用户john的主组修改为developers
    1. usermod -g developers john
    复制代码
  • 将用户john添加到admins附加组
    1. usermod -aG admins john
    复制代码

    • -a:追加用户到附加组(不加 -a 会覆盖用户当前的附加组)
    • -G:指定附加组列表

3、删除用户组



  • 删除一个名为developers的用户组
    1. groupdel developers
    复制代码
  • 假如体系中有文件或目次属于该组,删除组后文件大概会表现为无效的组ID
三、文件权限

1、检察文件属性



  • 使用下令 ls -l或ll可以检察文件的具体属性信息
   示例
  1. $ ls -l
  2. -rw-r--r--  1 user group  1234 Dec 22 12:00 example.txt
复制代码
输出的每一部门的寄义如下:
字段示例值寄义 文件范例和权限-rw-r--r--文件范例和权限(文件、目次、符号链接等)硬链接数目1指向该文件的硬链接数目全部者(用户)user文件所属用户所属组group文件所属组文件巨细1234文件巨细,以字节为单元修改时间Dec 22 12:00文件的末了修改时间文件名example.txt文件的名称2、文件范例



  • 文件范例由第一个字符决定
字符文件范例阐明-寻常文件常见的文本文件、二进制文件等d目次文件夹l符号链接指向另一个文件的快捷方式b块装备文件存储装备(如硬盘、光盘)c字符装备文件终端装备等s套接字文件用于进程间通讯p定名管道(FIFO)用于进程间通讯的特殊文件3、文件权限



  • 文件权限由rwx组合表现,分为三组

    • 全部者(User):文件的拥有者
    • 所属组(Group):文件所属的用户组
    • 其他用户(Other):体系中全部其他用户

权限表现
字符权限阐明r读取(read)检察文件内容或列出目次内容w写入(write)修改文件内容或在目次中创建/删除文件x实行(execute)运行文件(脚本或步伐)或进入目次-无权限无法实行对应利用权限结构


  • 权限由10个字符构成

    • 第 1 个字符:文件范例(如 -、d 等)
    • 后 9 个字符:文件权限,分为三组(全部者、组、其他用户)

示例表明-rw-r--r--寻常文件,全部者可读写,组用户和其他用户只读drwxr-xr-x目次,全部者可读写实行,组用户和其他用户可读实行-rwx------寻常文件,仅全部者可读写实行4、修改文件权限



  • 权限可以通过chmod下令修改
语法
  1. chmod [模式] 文件名
复制代码
  方式 1:使用数字表现权限
  

  • 每种权限用一个数字表现
权限数字r4w2x1-0示例


  • chmod 755 file

    • 全部者:rwx(4+2+1=7)
    • 组用户:r-x(4+1=5)
    • 其他用户:r-x(4+1=5)

   方式 2:使用符号表现权限
  

  • 符号表现法

    • u:全部者
    • g:组用户
    • o:其他用户
    • a:全部效户
    • +:增长权限
    • -:移除权限
    • =:设置权限

示例
  1. chmod u+x file    # 给所有者增加执行权限
  2. chmod g-w, o-w file    # 删除同组人员和其他组人员写的权限
  3. chmod o=r file    # 将其他用户权限设置为只读
复制代码
5、修改文件全部者和所属组



  • 使用chown和chgrp下令修改文件全部者和所属组
   常用示例
  

  • 修改全部者
    1. chown 新所有者 文件名
    复制代码
    示例:
    1. chown user2 file
    复制代码
  • 修改所属组
    1. chgrp 新组 文件名
    复制代码
    示例:
    1. chgrp developers file
    复制代码
  • 同时修改全部者和组
    1. chown 新所有者:新组 文件名
    复制代码
    示例:
    1. chown user2:developers file
    复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表