如何更改linux权限设置密码

使用 passwd 用户名 修改用户密码;通过 chmod [权限] 文件/目录 调整权限(如 `chmod

在Linux系统中,权限管理密码设置是保障系统安全的核心操作,以下从基础概念到实战操作进行全面解析,涵盖文件/目录权限调整、用户账户管理、密码策略配置及常见问题解决方案。

如何更改linux权限设置密码


Linux权限体系详解

核心权限类型

权限类型 含义 数值 符号表示
读(r) 4 r
写(w) 修改/删除 2 w
执行(x) 运行程序/进入目录 1 x

三元组权限模型

每个文件/目录具有三组独立权限集:
属主(Owner):创建该文件的用户
属组(Group):关联的用户组
其他用户(Others):剩余所有用户

查看当前权限状态

ls -l filename       # 显示详细信息
# 输出示例:-rw-r--r-1 user group 1234 Oct 20 10:00 test.txt
# 解析:第一列共10字符,前三位为属主权限,中间三位属组,后四位其他用户

修改权限的三种方式

(1) 符号法(推荐)

操作 说明 示例
u+x 给属主增加执行权限 chmod u+x script.sh
g-w 移除属组的写权限 chmod g-w config.conf
o=rx 设置其他用户可读+执行 chmod o=rx public_html/index.html
a+r 给所有人添加读权限 chmod a+r .log
u=rwx,go=rx 精确设置属主全权,属组/其他只读+执行 chmod u=rwx,go=rx new_program

(2) 数字法(高效批量操作)

将三组权限转换为二进制相加:
| 权限组合 | 计算公式 | 十进制值 | 示例 |
|———-|—————-|———-|—————————|
| rwx | 4+2+1=7 | 7 | chmod 755 important_dir |
| rw | 4+2+0=6 | 6 | chmod 644 secret.txt |
| r-x | 4+0+1=5 | 5 | chmod 500 restricted_bin |

(3) 递归修改(含子目录)

chmod -R 770 project/     # 项目目录及其子目录均设为rwx+rwx
find /var/www -type d -exec chmod 755 {} ;  # 仅修改目录权限

特殊权限位

特殊权限 符号 作用场景 设置命令
SUID s 临时获取属主身份执行程序 chmod u+s /usr/bin/ping
SGID s 新建文件继承属组而非属主 chmod g+s shared_folder
Sticky Bit T 仅允许属主删除/移动该目录内文件 chmod +t /tmp

默认权限掩码(Umask)

通过umask控制新创建文件的默认权限:

umask 022          # 默认权限:644(文件)/755(目录)
umask 077          # 最严格模式:仅属主可读写执行

密码管理全指南

修改用户密码

(1) 普通用户自助修改

passwd                 # 根据提示输入旧密码→新密码→确认新密码
# 密码强度要求:至少8位,包含大小写字母+数字+特殊符号

(2) root管理员修改他人密码

sudo passwd username   # 无需知道原密码即可强制修改
# 输入新密码两次确认即可生效

root密码特殊处理

若需重置遗忘的root密码:
1️⃣ 重启系统 → 启动时按任意键中断GRUB引导
2️⃣ 编辑启动参数:linux single 进入单用户模式
3️⃣ 执行:mount -o remount,rw / passwd 设置新root密码
4️⃣ 退出并重启:init 6

如何更改linux权限设置密码

密码策略强化(/etc/login.defs)

参数 默认值 作用说明
PASS_MIN_LEN 8 最小密码长度
PASS_MAX_DAYS 99999 密码有效期(天)
PASS_MIN_DAYS 0 两次修改间隔天数
PASS_WARN_AGE 7 过期前警告天数
UMASK 022 新建文件默认权限掩码

PAM认证机制增强

编辑/etc/pam.d/system-auth添加以下行:

password required pam_pwquality.so retry=3 minlen=12 dcredit=1 ucredit=1 lcredit=1 ocredit=1 enforcing=yes
# 强制要求:12位以上,包含大小写字母、数字、特殊符号各至少1个

典型场景操作示例

场景1:部署Web应用

# 1. 创建专用运行账户
sudo useradd -r -m -d /opt/app -s /bin/bash appuser
# 2. 设置目录权限
sudo chown -R appuser:appuser /opt/app
sudo chmod -R 750 /opt/app       # 仅属主可写,同组可读执行
# 3. 限制SSH访问(可选)
echo "AllowUsers appuser" | sudo tee -a /etc/ssh/sshd_config
sudo systemctl restart sshd

场景2:共享协作目录

# 1. 创建共享目录并设置SGID
sudo mkdir /data/teamwork
sudo chmod 2770 /data/teamwork  # drwxrws---
# 2. 将成员加入同一用户组
sudo usermod -aG developers alice,bob,charlie
# 3. 验证效果:成员在此目录创建的文件自动属于developers组

相关问答FAQs

Q1: 为什么修改了文件权限却不生效?

A: 可能原因及解决方法:
1️⃣ ACL覆盖:检查是否有getfacl显示的额外访问控制列表,用setfacl -b清除
2️⃣ 挂载选项限制:若是挂载的文件系统(如NFS),需检查客户端挂载时的noexec,ro等参数
3️⃣ SELinux拦截:执行ls -Z查看安全上下文,尝试chcon -t httpd_sys_content_t file调整
4️⃣ 硬链接特性:硬链接的权限修改会影响所有链接副本,可用stat查看原始文件位置

Q2: 如何限制普通用户的sudo权限?

A: 最佳实践方案:
1️⃣ 创建专属配置文件:sudo visudo -f /etc/sudoers.d/webadmin
2️⃣ 添加精细规则:

webadmin ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
webadmin ALL=(webserv) /usr/local/bin/,!/usr/bin/rm
# 解释:允许无密码重启nginx,且仅能以webserv用户执行指定目录命令(排除rm)

3️⃣ 验证配置:sudo -l -U webadmin 查看可用命令列表
4️⃣ 立即生效:sudo visudo --check 校验语法后无需重启服务

如何更改linux权限设置密码


通过系统化的权限管理和密码策略,可显著提升Linux系统的安全性,建议定期执行sudo grep -v '^#' /etc/passwd检查异常账户,并结合审计日志(`/var/log/auth.log

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/95838.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年8月7日 08:33
下一篇 2025年8月7日 08:40

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN