Linux 账号与权限管理
前言Linux 是一个多用户、多任务操作系统账号管理、权限控制是 Linux 运维最基础、最重要的内容也是企业面试必考点。本文依据账号和权限管理整理结合 CentOS 7 实操内容包括用户 / 组账号概念用户创建、修改、删除组账号管理文件权限详解chmod、chown 实操常见企业用法适合初学 Linux、准备考证、面试复习、日常运维。一、用户账号和组账号概述1.1 用户账号分类超级用户rootUID0拥有系统最高权限可做任何操作普通用户UID 一般从 1000 开始权限受限只能操作自己文件程序用户系统用户UID 1–999无登录权限用来运行服务www、mail、ftp、nginx等1.2 组账号分类基本组私有组创建用户默认自带只有自己附加组公有组多个用户加入用于共享权限1.3 关键配置文件/etc/passwd用户信息用户名、UID、GID、家目录、shell/etc/shadow加密密码、有效期、锁定/etc/group组信息二、用户账号管理2.1 创建用户useradduseradd 用户名常用参数-u UID指定 UID-g 组名指定基本组-G 组名加入附加组-m自动创建家目录-s /sbin/nologin禁止登录示例# 创建用户 tomUID2000家目录自动建 useradd -u 2000 -m tom # 创建 nginx 程序用户禁止登录 useradd -s /sbin/nologin nginx2.2 设置密码passwdpasswd 用户名root可以直接改任何人密码普通用户只能改自己密码示例passwd tom2.3 修改用户usermodusermod [选项] 用户名常用-u改 UID-g改基本组-G改附加组-L锁定用户-U解锁用户示例# 锁定 tom usermod -L tom # 解锁 tom usermod -U tom # 加入附加组 users usermod -G users tom2.4 删除用户userdeluserdel 用户名 # 彻底删除含家目录 userdel -r tom三、组账号管理3.1 创建组groupaddgroupadd dev3.2 修改组groupmod# 改名 groupmod -n newdev dev3.3 删除组groupdelgroupdel dev注意不能删除用户的基本组必须先删用户。3.4 查询账号信息id tom cat /etc/passwd cat /etc/group四、目录和文件权限管理4.1 权限类型Linux 权限分三类读 r、写 w、执行 x对应数字r 4w 2x 1对象分三类u所有者g所属组o其他人4.2 查看权限ls -lls -l test.txt输出示例plaintext-rw-r--r-- 1 root root 0 May 22 10:00 test.txt含义-普通文件rw-所有者权限r--所属组权限r--其他人权限4.3 修改权限chmod两种方式数字模式推荐、字符模式数字模式# rwxr-xr-x 755 chmod 755 test.txt # 目录递归改权限 chmod -R 755 /data字符模式chmod ux,g-w,or test.txt4.4 修改归属chown、chgrp# 改所有者组 chown tom:dev test.txt # 只改组 chgrp dev test.txt # 递归 chown -R tom:dev /data五、总结考试 / 面试必背rootUID0最高权限普通用户UID≥1000useradd、passwd、usermod、userdel为用户管理四件套groupadd、groupdel管理组权限数字r4、w2、x1chmod 改权限chown 改归属企业原则普通用户日常操作root 少用权限最小化