远程登陆服务器
首先要有一个已获取sudo权限的用户,利用ssh命令来登陆服务器:
ssh xxx@ip
xxx为用户名,ip为服务器ip地址
创建新用户
sudo adduser username # username是你设置的用户名
输入这个命令后会提示输入密码、确认密码,然后是设置个人信息,可以全部按enter设置为空。
添加权限
上面的步骤让我们可以通过新用户来登陆服务器,但在运行sudo时会出现以下提示:
xxx is not in the sudoers file. This incident will be reported.
因此需要切换到已有sudo权限的用户登陆服务器,并通过修改/etc/sudoers文件来添加权限。
sudo chmod +w /etc/sudoers给/etc/sudoers文件添加写权限sudo vim /etc/sudoers利用vim来添加一行:username ALL=(ALL) ALL

sudo chmod -w /etc/sudoers撤销文件的写命令
使用自己的用户登陆之后,我发现我对存放数据的data盘没有写权限,连创建文件夹都需要加上sudo才能成功,虽然也能用,但是很烦,捣鼓了一阵之后终于解决了。
首先使用ls -ld查看/data文件夹的权限:

左边那10个字母就代表了权限:d表示这是个文件夹,紧接的9个字母每3个表示拥有者、组、其他用户对/data的读、写、操作权限。因此第一个rwx表示拥有者对/data有读、写、操作权限,后面两个r-x都说明组内用户和其他用户都没有写权限。
奇怪的是我修改/data的权限,给组内用户和其他用户都加上了写权限之后也还是不能对/data进行修改,目前还不清楚原因是什么。
另一个解决方法相对安全和正确,就是把自己新建的用户加入到这个文件夹拥有者所在的组,然后仅给组内用户增加写权限。
- 使用
groups user来查看user所在的组,一般有多个 - 使用
gpasswd -a user group把user加入到group组中 - 使用
chmod g+w /data给组用户增加权限 - 再次查看文件夹权限:

问题解决。
另外,之前使用sudo来创建的文件夹的拥有者是root用户,因此还是会没有写权限;而在这之后创建的文件夹的拥有者就是我自己的用户了,默认拥有全部权限。

本文介绍了如何在Ubuntu远程服务器上创建新用户,并详细阐述了赋予新用户sudo权限的过程。通过修改文件权限和将新用户加入特定组,成功解决文件夹写权限问题。
1237

被折叠的 条评论
为什么被折叠?



