Linux下,Root(管理员)新建用户,并赋普通用户文件夹的权限,同时普通用户设置文件权限仅自己能访问

1、新建用户

(1)为了获取创建用户的权限,切换为root用户

peng@ubuntu:~$ sudo su

(2)添加一个新用户(如用户名为xyz)

root@ubuntu:/home/peng# adduser xyz
然后根据系统提示,1、输入密码;2、再次确认密码;之后一直回车,直到输入y回车完成新用户xyz的创建

2、赋普通用户文件夹的权限

命令是 chown -R 用户名 文件夹路径
例:sudo chown -R xyz /mnt/ssd1/yuyu
(请注意:1、文件夹/mnt/ssd1/yuyu首先要存在,不存在就创建一个;2、以上命令仍在Root(管理员)用户下操作)

3、普通用户设置文件权限仅自己能访问

1、登陆普通用户xyz的账户,进入到/mnt/ssd1/的路径下,输入ls -l命令,可以看到/mnt/ssd1/yuyu文件夹的所有者是xyz;
2、执行:chmod o-rwx /mnt/ssd1/yuyu,即可达到目的。

PS: 若新建用户遇到无法打开终端的情况,请参照下面链接博客中的第72条。
【https://blog.csdn.net/u013920434/article/details/106950595】

4、主要参考

1、https://blog.csdn.net/u014447845/article/details/80862416
2、https://blog.csdn.net/yuzeyuan12/article/details/96426715

### Linux SSH 普通用户连接失败而 Root 用户正常的原因分析 当普通用户尝试通过 SSH 连接到服务器时出现问题,而 Root 用户可以正常连接,这通常是由以下几个原因引起的: #### 1. 配置文件限制 SSH 的配置文件 `/etc/ssh/sshd_config` 中可能设置允许特定用户组或用户登录。如果 `AllowUsers` 或 `AllowGroups` 参数未包含普通用户用户名或所属组,则该用户会被拒绝访问。 - 如果存在如下配置项: ```bash AllowUsers root alice bob ``` 则只有 `root`、`alice` 和 `bob` 可以通过 SSH 登录[^1]。 - 类似地,如果有以下参数: ```bash DenyUsers user1 user2 ``` 列出的用户将被显式拒绝访问。 #### 2. 密钥认证问题 对于基于密钥的身份验证方式,如果普通用户的 `.ssh/authorized_keys` 文件不存在或者不包含有效的公钥,也会导致连接失败。即使 Root 用户能够正常使用密钥认证,其他用户的密钥路径和权限也需要正确设置。 - 确保目标用户的家目录下的 `.ssh` 文件夹及其子文件具有正确的权限: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` - 同时确认 SELinux 或 AppArmor 不会阻止对这些文件的读取操作[^3]。 #### 3. 权限不足 某些情况下,系统管理员可能禁用了密码身份验证功能 (`PasswordAuthentication no`) 强制要求使用密钥认证。然而,如果没有为普通用户提供相应的私钥配对,他们就无法完成身份验证过程。 另外需要注意的是,在默认安装过程中,部分发行版可能会关闭 SFTP 功能或其他服务模块,从而影响非特权账户的操作能力。 #### 解决方法概述 针对上述提到的各种可能性,以下是具体的修复措施建议列表: - **调整SSHD_CONFIG 设置** 编辑主配置文档保存更改后记得重新加载守护进程来应用新的规则集。 ```bash vi /etc/ssh/sshd_config # 添加或修改下面两行内容 PasswordAuthentication yes # 开启密码登陆模式(视需求决定) PermitRootLogin prohibit-password # 对于安全性考虑推荐此选项代替简单的'no' systemctl reload sshd # 应用改动后的设定值 ``` - **检查授权钥匙状态** 若采用无密码形式进入机制,请核实对应个人资料里的公开加密串是否匹配以及其属性级别是否恰当。 ```bash cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chown -R $USER:$USER ~/.ssh/ restorecon -RvF ~/.ssh # 在启用SELinux环境里执行额外指令恢复安全上下文标签 ``` - **排查日志记录** 查看最近发生的事件详情可以帮助定位具体障碍所在位置。 ```bash tail -f /var/log/auth.log # Debian-based systems like Ubuntu use this file name. journalctl _SYSTEMD_UNIT=sshd.service --since today | grep 'Failed password' ``` --- ### 示例代码片段展示如何调试与修正常见情形之一——缺少适当权限 假设我们怀疑是因为缺乏必要的文件所有权而导致的问题,那么可以通过下面这段脚本来批量纠正所有潜在受影响区域内的状况: ```bash #!/bin/bash # Define target directory and username variables here as needed. TARGET_DIR="/home/example_user/.ssh" USERNAME="example_user" if [[ ! -d "$TARGET_DIR" ]]; then echo "Error: Target Directory does not exist." exit 1; fi chown -R ${USERNAME}:${USERNAME} "${TARGET_DIR}" find "${TARGET_DIR}" -type d -exec chmod u=rwx,go= {} \; || true find "${TARGET_DIR}" -type f \( -name "*.pub" -o -name "known_hosts*" \ -o -name "config*" \) -exec chmod u=rw,g=r,o= {} \; echo "Permissions updated successfully!" ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值