我已经根据自己的需求配置了 Ubuntu Server,基本上一切都按我的意愿运行。我是 Linux 新手,但通过使用和解释不同的指南学到了很多东西,然而,这个特殊问题让我很头疼。因为我不想弄乱权限等,所以我想寻求你的帮助。
我使用最新的 Webmin。我可以轻松创建新用户(我也使用命令行与我的默认用户一起创建)。我可以使用 ssh test@ip 登录 ssh,我有用户的主目录,但我无法执行任何命令,如 ls、ifconfig,什么都不能执行。我读到我应该使用相对路径等。但我想要的是实现新用户具有与安装 Ubuntu 时配置的用户相同的默认权限,并用作默认权限。我还读到 bash 需要配置一些 PATH 变量,但我不明白那部分。
我的默认用户是“server”,运行良好。假设我创建了一个新用户“test”。你能一步一步指导我下一步怎么做吗?
另外,如果我希望新用户“test”能够访问用户“server”创建的文件,并且“server”能够访问用户“test”创建的文件,我需要将用户“test”添加到用户“server”组中吗?
非常感谢!
答案1
创建新用户的正确方法是使用adduser
二进制文件(它涵盖了从用户密码到组和主文件夹创建的所有内容,这要归功于@muru @Takkat为了指出这一点,命令手册页):
ubuntu@ip:/$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1003) ...
Adding new user `testuser' (1002) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for testuser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
这将创建名为的用户testuser
,并在 中为他们提供自己的主目录/home/testuser
。新主目录中的文件是从/etc/skel
包含默认主目录文件的文件夹复制而来的。如果您想要为用户设置默认值,可以通过修改或添加该目录中的文件来实现。如果您希望新用户拥有与server
用户相同的环境,只需将这些文件从server
主目录复制到testuser
主目录(确保复制后每个文件的所有者均为 testuserchown testuser:testuser .bash_profile
等):
.bash_profile .bashrc .inputrc .mkshrc .profile
是的,如果您希望两个用户都能访问他们的文件和文件夹,您必须将他们每个人都添加到其他用户组:
adduser server testuser
adduser testuser server
用户可以访问的内容由该组的文件夹/文件权限决定(例如,为了让用户 testuser 读取和写入服务器主文件夹中的文件 test.txt,它必须至少具有 760 的权限)。您可以通过执行
$ ls -al
drwxrwxr-x 3 server server 4096 Jun 14 10:11 test.txt