如何在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 参数表示,删除用户时,连同该用户家目录的所有文件一起删除
网友评论