账号和权限管理
用户账号和组账号概述
用户账号一般分为三种:
1.超级用户(默认为root,权限最高)
2.普通用户(权限设置的一些用户,可登录,权限受制)
3.程序用户(用来管理特定程序的用户)
组账号:
基本组(私有组)
附加组(公共组)
基本组在前,附加组在后;基本组是必要的,有且唯一,附加组可有可无
UID(用户标识号):每个用户都通过UID唯一标识(1-60000自动分配)
管理员:root,0
程序用户:1-499(centos6以前),1-999(centos7以后)对守护进程获取资源进行权限分配
普通用户:500+(centos6以前),1000+(centos7以后)给用户进行交互式登录使用
GID(组标识号)
用户账号文件:/etc/passwd(保存用户名称,宿主目录,登录shell等基本信息)
文件位置:/etc/passwd
例子:lisi:x:1002:1002::/home/lisi:/bin/bash
lisi:(用户名)
x:(密码占位符)
1002:uid
1002:gid
:描述信息
home/lisi:家目录文件
/bin/bash:shell环境
密码
第一字段:用户名
第二字段:密码,当密码为“*”或“!!”时表示用户不能登录到此系统,若此字段为空,则表示无需密码即可登录
第三字段:上次修改密码的时间
第四字段:最小修改密码间隔时间(防止登录用户频繁改动密码)
第五字段:密码有效期(强制用户定期修改密码)
第六字段:密码到期提醒
第七字段:密码过期后宽限天数
第八字段:账号失效时间
第九字段:保留字段
添加用户账号:
useradd [选项] 用户名
常用选项: 说明
-u 指定用户的UID号,要求该UID号码未被其他用户使用。
-d 指定用户的宿主目录位置(当与-M一起使用时,不生效)。
-e 指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g 指定用户的基本组名(或使用GID号)。
-G 指定用户的附加组名(或使用GID号)
-M 不建立宿主目录,即使/etc/login.defs系统配置中已设定要建立宿主目录。
-S 指定用户的登录Shell
设置/更改用户口令passwd
passwd [选项] 用户名
选项 说明
-d 清空指定用户的密码, 仅使用用户名即可登录系统。
-l 锁定用户账户。
-S 查看用户账户的状态(是否被锁定)。
-u 解锁用户账户。
修改账号属性:usermod
usermod [选项] 用户名
常见选项 说明
-l 更改用户账号的登录名称(Login Name)
-L 锁定用户账户
-u 修改用户的UID号
-U 解锁锁用户账户
-d 修改用户的宿主目录位置。
-e 修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式
-g 修改用户的基本组名(或使用 GID号)
-G 修改用户的附加组名(或使用 GID号
-S 指定用户的登录Shell
删除用户账号userdel
userdl命令:
userdl -r 用户名(添加r选项时表示连用户的宿主目录一并删除)
用户账号的初始配置文件
用户宿主目录下的初始配置文件只对当前用户有效
~/ .bash profile 此文件中的命令将在该用户每次登录时被执行,他会设置一些环境变量,并且会调用该用户的~/.bashrc文件
~/.bashrc 此文件中的命令将在该用户每次打开新的bash shell时(包括登录系统)被执行
~/.bash_ logout 此文件中的命令将在该用户每次退出时bash shell时使用
组账号文件
与用户帐号文件相类似
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息
例子:
[root@localhost ~]# grep "adm" /etc/group
sys:x:3:root,bin,adm
adm:(组帐号名)x:4:root,adm,daemon(组成员列表)
添加组账号groupadd
groupaddap命令
groupadd [-g GID] 组账号名
例子:
[root@localhost ~]# groupadd -g 1000 market
添加删除组成员gpasswd
设置组帐号密码(极少用)
添加/删除组成员
gpasswd [选项] 组帐号名
常用选项 说明
-a 向组内添加一个用户
-d 从组内删除一个用户成员
-M 定义组成员列表,以逗号分隔
查询账号信息
finger命令:
1.查询用户帐号的详细信息
2.需要安装
命令格式:finger [用户名]
w、who、users命令
查询已登录到主机的用户信息
文件/目录的权限和归属
访问权限:
1.读取r:允许查看文件内容、显示目录列表
2.写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
3.可执行x:允许运行程序、切换目录
归属(所有权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
查看文件/目录的权限和归属
[root@localhost ~]# Is -I install.log
-rw-r--r-- (文件类型、权限)1 root root(属主、属组) 34298 04-02 00:23 install.log
设置文件和目录的权限
chomd命令:
命令格式:
chomd [u,g,o,a] (属主,属组,其他用户,全用户) [+-=] (增加,去除,设置权限) [r,w,x] 文件或目录
chomd nnn (三位八进制数) 文件或目录
-R:递归修改指定目录下所有子项的权限
例子:
chomd u +x 1.txt
设置文件和目录的归属chown
chown命令
命令格式:
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
-R:递归修改指定目录下所有文件,子目录的归属
权限掩码umask
umask作用:
1.控制新建的文件或者目录的权限
2.默认权限去除umask的权限为新建的文件或者目录的权限
umask设置: umask 022
umask查看: umask
示例:
将umask设为000,新建目录或者文件,查看权限
将umask设为022,新建目录或者文件,再查看权限
#umask 000
#touch 1.txt(权限为666,没有可执行权限)
#mkdir sss(权限为777)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~