Linux 用户创建adduser及设置root权限

如何在Linux上创建一个新的用户

1,首先你需要有管理员权限,然后用你的账户登陆,此时路径是/home/xxx

其中xxx代表当前用户,SYS-7048GR-TR指的是主机名,~表示当前用户,$表示普通用户

此时用sudo su切换到超级用户root下在#下输入命令

2,创建用户useradd

tail -n1 /etc/passwd // 查看用户详情信息

如果不指定任何参数,那么创建出来用户的信息,都是默认的。默认用户使用的是 Shell 是 bash,默认用户的家目录是 /home/username,默认用户组是一个以当前用户名命名的新组 ... 关于这些信息,我们都够通过几个参数自定义。

-u 自定义用户的 id,也就是 UID。

-g 指定用户属于哪个用户组,通过 GID 指定。

-d 自定义用户的家目录,后面跟上一个目录的路径。

-M 不建立家目录。

-s 自定义 Shell。

3,passwd

刚刚创建出来的用户是不能使用的,还需要为其指定一个密码,这也是一个激活的过程,通过 passwd 命令。

创建完成后发现在home下没有生成对应的同名文件夹,这里有一个注意的地方:

1,在root权限下,useradd只是创建了一个用户名,如 (useradd  +用户名 ),它并没有在/home目录下创建同名文件夹,也没有创建密码,因此利用这个用户登录系统,是登录不了的,为了避免这样的情况出现,可以用 (useradd -m +用户名)的方式创建,它会在/home目录下创建同名文件夹,然后利用( passwd + 用户名)为指定的用户名设置密码。

2. 可以直接利用adduser创建新用户(adduser +用户名)这样在/home目录下会自动创建同名文件夹

如果直接用adduser会提示已经存在,需要先删除

删除后用adduser

在CentOs下useradd与adduser是没有区别的都是在创建用户,在home下自动创建目录,没有设置密码,需要使用passwd命令修改密码。

而在Ubuntu下useradd与adduser有所不同

1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。

2、正确的做法是man page里说的adduser,adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。这个命令实际是一个perl脚本,它会用交互性的方式建立新用户,使用它可以指定新用户的家目录,登录密码,是否加密主目录等等,它会:

1.建立一个新目录作为家目录

2.建立同名新组

3.把用户的主要组设为该组(除非命令选项覆盖以上默认动作,比如–disall-homdirecry之类)

4.从/etc/SKEL目录下拷贝文件到家目录,完成初始化

5.建立新用户的密码

6.如果其存在的话,还会执行一个脚本。


4,设置新增用户为超级管理员

切换到 root,输入sudo vim /etc/sudoers命令

root@ubuntu:~# sudo vim /etc/sudoers

该命令实际上打开的是/etc/sudoers文件,在“root ALL=(ALL:ALL) ALL”这一行下面加入一行:

new_user ALL=(ALL:ALL) ALL

如果遇到修改后无法保存的情况

先将文件权限改为777

sudo su  输入密码切换到root模式

chmod 777 /etc/sudoers

修改保存 :wq

最后将权限改回去,否则会报错

chmod 440 /etc/sudoers


5,userdel

该命令用户删除一个 Linux 用户。

$ userdel只能删除用户,并不会删除相关的目录文件

$ userdel -r testuser // 指定了 -r 参数表示,删除用户时,连同该用户家目录的所有文件一起删除

你可能感兴趣的:(Linux 用户创建adduser及设置root权限)