Ubuntu 16添加等同root权限用户的方法求助,需解决Filezilla读写问题
我来帮你搞定这个问题——在Ubuntu 16上创建一个拥有root级权限的用户,并且能通过Filezilla自由读写服务器上的文件。以下是两种可靠的方案,你可以根据需求选择:
方案一:创建与root完全等同的用户(权限无差别)
这种方法会让新用户的UID(用户ID)和root一致(都是0),本质上就是root的“别名”,拥有完全相同的系统权限,不需要额外sudo操作。
创建用户并配置基础参数
打开终端,执行以下命令(把your_username换成你想要的用户名):useradd -u 0 -o -m -s /bin/bash your_username参数解释:
-u 0:将用户UID设为0(root的专属ID)-o:允许系统中存在相同UID的用户-m:自动创建用户的家目录-s /bin/bash:设置默认shell为bash,保证正常的终端操作
设置用户密码
执行命令设置密码,按照提示输入两次即可:passwd your_username验证配置
输入以下命令确认用户权限:id your_username如果输出显示
uid=0(root),说明配置成功,这个用户已经和root拥有完全相同的权限。
方案二:通过sudo组赋予root级权限(更安全,推荐)
如果你担心UID 0用户的误操作风险,可以用这种方式:给普通用户添加sudo权限,并且配置免密执行sudo命令,同样能实现root级操作。
创建普通用户
先创建一个常规用户并设置密码:useradd -m -s /bin/bash your_username passwd your_username将用户加入sudo组
Ubuntu 16中,sudo组的成员拥有执行sudo命令的权限,执行以下命令添加:usermod -aG sudo your_username配置免密sudo
为了避免每次操作都输入密码,我们需要修改sudo配置文件(必须用visudo命令编辑,防止语法错误导致sudo失效):visudo在文件末尾添加一行(替换
your_username):your_username ALL=(ALL:ALL) NOPASSWD: ALL保存退出(vim编辑器按
Esc,输入:wq回车即可)。验证配置
切换到新用户并测试sudo权限:su - your_username sudo ls /root如果不需要输入密码就能列出root目录的内容,说明配置成功。
配置Filezilla实现读写访问
推荐使用SFTP协议(基于SSH,安全且无需额外安装FTP服务器),配置步骤如下:
- 打开Filezilla,点击左上角「文件」→「站点管理器」。
- 点击「新站点」,在「常规」标签页填写信息:
- 协议:选择「SFTP - SSH File Transfer Protocol」
- 主机:填入你的Ubuntu服务器IP地址
- 登录类型:选择「正常」
- 用户:填写你刚才创建的用户名
- 密码:填写该用户的密码
- 点击「连接」,成功连接后:
- 如果用方案一创建的用户,直接拥有root权限,可自由读写服务器上的所有文件和目录;
- 如果用方案二,默认登录是普通用户权限,若需修改系统目录(如
/etc、/var),可以在终端先通过sudo chmod调整目录权限,或者在Filezilla中使用「自定义命令」执行sudo操作(不过更简便的还是方案一)。
内容的提问来源于stack exchange,提问作者Pilchard2002

