Ubuntu操作

Ubuntu操作方法,命令
< 返回上一级

创建用户和和修改登录密码

创建用户,修改登录密码

子节点:

-- 暂无子节点 --

内容:

adduser:向导模式创建用户

向导模式创建用户

adduser:向导模式,

会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。

命令格式:

sudo adduser username

执行的操作配置:

默认情况下,adduser在创建用户时会主动调用 /etc/adduser.conf;

创建用户主目录:

  • 在创建用户主目录时默认在/home下,而且创建为 /home/用户名,
  • 默认登录时会进入这个目录下
  • 如果主目录已经存在,就不再创建,
  • 但是因为这个主目录在创建前已经存在 且并不属于这个新用户,
    所以使用时上会有问题:
  1. 虽然此主目录作为新用户的主目录,但是这个目录并不是属于这个新用户,
  2. 而且当使用userdel删除新用户时,并不会删除这个主目录,

用户命令shell版本:

为用户指定shell版本为:/bin/bash

常用参数选项:

–home: 指定创建主目录的路径,
默认是在/home目录下创建用户名同名的目录,这里可以指定;
如果主目录同名目录存在,则不再创建,仅在登录时进入主目录。

–quiet: 即只打印警告和错误信息,忽略其他信息。

–debug: 定位错误信息。

–conf: 在创建用户时使用指定的configuration文件。

–force-badname:
默认在创建用户时会进行/etc/adduser.conf中的正则表达式检查用户名是否合法,
如果想使用弱检查,则使用这个选项,
如果不想检查,可以将/etc/adduser.conf中相关选项屏蔽

对比(类比)

useradd:自定义模式创建用户

useradd:自定义模式创建用户

useradd:自定义模式创建用户

需要使用参数选手动指定用户创建基本设置,
如果未配置任何参数,则创建无密码、无主目录、没有指定shell版本的用户


命令格式:

sudo useradd username

#不会为用户创建主目录,不会为用户指定shell版本,不会为用户创建密码。

另外为用户指定登录密码:
sudo passwd username

另外为用户指定用户主目录:
sudo usermod -d /home/tt username

另外为用户指定命令解释程序(通常为/bin/bash):
sudo usermod -s /bin/bash username


常用命令行选项:

-d: 指定用户的主目录

-m:-m和-d一块使用
如果主目录不存在,则创建主目录;
如果存在不再创建,但是此目录并不属于新创建用户;

-M: 不创建主目录

-s: 指定用户登录时的shell版本


命令实例:

sudo useradd -d "/home/tt" -m -s "/bin/bash" tt

解释: -d “/home/tt” :就是指定/home/tt为主目录

-m 就是如果/home/tt不存在就强制创建

-s 就是指定shell版本

实例(示例)

删除用户

删除用户命令
删除用户
deluser
只删除用户:sudo deluser tt
连同用户的主目录和邮箱一起删除:sudo deluser --remove-home tt
连同用户拥有的所有文件删除:sudo deluser --remove-all-files tt

userdel
只删除用户:sudo userdel tt
连同用户主目录一起删除:sudo derlser -r tt
如果创建时主目录已经存在,即主目录不属于当前要删除的用户,则无法删除主目录

修改用户usermod

修改用户usermod命令
sudo usermod -aG sudo tt  #添加group
另外为用户指定用户主目录:
sudo usermod -d /home/tt username

另外为用户指定命令解释程序(通常为/bin/bash):
sudo usermod -s /bin/bash username

设置用户密码

修改用户密码。
设置当前用户密码或修改某用户密码:

#设置root用户密码
sudo passwd

#设置普通用户密码
passwd username

查询用户信息的系统文件

用户信息的系统文件,可以cat查看

#查看系统用户信息
/etc/passwd

#系统帐号密码加密
/etc/shadow

#群组信息
/etc/group

#创建用户的配置
/etc/default/useradd

#系统广义设定
/etc/login.defs

内含定义档的目录
/etc/skel

为git用户创建不可登录的账号

创建不可登录的账号

创建git账户

  • 在服务器上单独创建git账户,专门用来管理git仓库
  • 创建git账户

# 创建git用户,用户组默认为git

useradd git

# 修改git账户的密码

passwd git

禁用git登录shell

出于安全考虑,上面创建的git用户不允许登录shell,
这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

git:x:1001:1001:,,,:/home/git:/bin/bash

改为

git:x:1001:1001:,,,:/home/git:/bin/git-shell

创建用户

创建用户和其他命令
创建用户有两条命令:adduer和useradd,
对应着两条删除用户的命令:deluser和userdel

adduser:向导模式,会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:自定义模式,需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。

sudo adduser username
默认情况下:
adduser在创建用户时会主动调用 /etc/adduser.conf;
在创建用户主目录时默认在/home下,而且创建为 /home/用户名

如果主目录已经存在,就不再创建,但是此主目录虽然作为新用户的主目录,而且默认登录时会进入这个目录下,但是这个目录并不是属于新用户,
当使用userdel删除新用户时,并不会删除这个主目录,因为这个主目录在创建前已经存在且并不属于这个用户。

为用户指定shell版本为:/bin/bash

常用参数选项为:

    –home: 指定创建主目录的路径,默认是在/home目录下创建用户名同名的目录,这里可以指定;如果主目录同名目录存在,则不再创建,仅在登录时进入主目录。
    –quiet: 即只打印警告和错误信息,忽略其他信息。
    –debug: 定位错误信息。
    –conf: 在创建用户时使用指定的configuration文件。
    –force-badname: 默认在创建用户时会进行/etc/adduser.conf中的正则表达式检查用户名是否合法,如果想使用弱检查,则使用这个选项,如果不想检查,可以将/etc/adduser.conf中相关选项屏蔽。

sudo useradd username
#不会为用户创建主目录,不会为用户指定shell版本,不会为用户创建密码。
为用户指定登录密码:sudo passwd username
为用户指定用户主目录:sudo usermod -d /home/tt username
为用户指定命令解释程序(通常为/bin/bash):sudo usermod -s /bin/bash username

常用命令行选项:

    -d: 指定用户的主目录
    -m: 如果存在不再创建,但是此目录并不属于新创建用户;如果主目录不存在,则强制创建; -m和-d一块使用。
    -M: 不创建主目录
    -s: 指定用户登录时的shell版本

例如:sudo useradd -d "/home/tt" -m -s "/bin/bash" tt
解释: -d “/home/tt” :就是指定/home/tt为主目录
-m 就是如果/home/tt不存在就强制创建
-s 就是指定shell版本

删除用户
deluser
只删除用户:sudo deluser tt
连同用户的主目录和邮箱一起删除:sudo deluser --remove-home tt
连同用户拥有的所有文件删除:sudo deluser --remove-all-files tt

userdel
只删除用户:sudo userdel tt
连同用户主目录一起删除:sudo derlser -r tt
如果创建时主目录已经存在,即主目录不属于当前要删除的用户,则无法删除主目录。

其他命令和文件:
sudo usermod -aG sudo tt  #添加group
sudo su #进入root

相关系统文件可以cat查看
/etc/passwd - 使 用 者 帐 号 资 讯,可以查看用户信息
/etc/shadow - 使 用 者 帐 号 资 讯 加 密
/etc/group - 群 组 资 讯
/etc/default/useradd - 定 义 资 讯
/etc/login.defs - 系 统 广 义 设 定
/etc/skel - 内 含 定 义 档 的 目 录