3.用户管理 终端命令

提示:创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行

3.1创建用户/修改密码/删除用户

序号 命令 作用 说明
01 useradd -m -g 组 新建用户名 添加新用户 * -m自动建立用户家目录
* -g 指定用户所在的组,否则会建立一个和同名的组
02 passwd 用户名 设置用户密码 如果是普通用户,直接用password
可以修改自己账户密码
03 userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录
04 cat/etc/passwd | grep 用户名 确认用户信息 新建用户后,用户信息会保存在/etc/passwd文件中

提示:

  • 创建用户时,如果忘记添加-m选项指定新用户的家目录--最简单的方能股份就是删除用户,重新创建
  • 创建用户时,默认会创建一个和用户名同名的组名
  • 用户信息保存在/etc/passwd文件中

3.2查看用户信息

序号 命令 作用
01 id[用户名] 查看用户UID和GID的信息
02 who 查看当前所有登录的用户列表
03 whoami 查看当前登录用户的账户名

passwd文件

/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,列分别是

1.新建用户名

2.密码(x,表示加密的密码)

3.UID(用户标识)

4.GID(组标识)

5.用户全名或本地账号

6.家目录

7.登录使用的Shell,就是登录之后,使用的终端命令,ubuntu默认是dash

查看当前用户的信息只用输入id即可:

下图中的(:0)登录地址为当前计算机

用Shell实现多用户登录

再回到Ubuntu就可以看到多用户who,下图就是用Shell登录的张三的用户,时间以及ip地址

usermod

  • usermod可以用来设置用户 的主组/附加组合登录Shell ,命令格式如下:
  • 主组:通常在新建用户是指定,在etc/passwd的第4列GID对应的组
  • 附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限

提示:设置了用户的附加主之后,需要重新登录才能生效!

#修改用户的主组(passwd 中的GID)
usermod -g 组 用户名 #修改用户的附加组
usermod -G 附加组 用户名 #修改用户登录 Shell
usermod -s /bin/bash

*注意:默认使用useradd添加的用户是没有权限使用sudo以root usermod -G sudo 用户名`

后面的python表示用户名,而前面的附加组比如:adm,cdrom等都是python用户所具有的权限

像zhangsan的用户就没有附加组的权限:

给zhangsan添加附加组:

which(重要)

提示

  • /etc/passwd是用于保存用户信息的文件
  • /usr/bin/passwd是用于修改用户密码的程序
  • which命令可以查看执行命令所在位置,例如:
which ls   

#输出
#/bin/ls which useradd #输出
#/usr/sbin/useradd

执行后如下: 其中rws的s表示__可执行权限__

bin 和 sbin

  • 在Linux中,大多数可以执行文件都保存在/bin、/sbin、/usr/bin、/usr/sbin
  • /bin (binary)是二进制执行文件目录,主要用于具体应用
  • /sbin (system binary)是系统管理员专用的二进制存放目录,主要用于系统管理
  • /usr/bin (user commard dor applications)后期安装的一些软件
  • /usr/sbin (super user commands for applications)禅机用户的一些管理程序

提示:

*cd这个终端命令是内置在系统内核中的,没有独立的文件,因此用which无法找到cd命令的位置

3.3 切换用户

序号 命令 作用 说明
01 su -用户名 切换用户,并且切换目录 -可以切换到用户家目录,否则保持位置不变
02 exit 退出当前登录账户
  • su不接用户名,可以切换到root,但是不推荐使用,因为不安全
  • exit示意图如下:

3.4 修改文件权限

序号 命令 作用
01 chown 修改拥有者
02 chgrp 修改组
03 chmod 修改权限

注意:操作文件夹,需要另外加R的命令

*命令格式如下:

# 修改文件|目录拥有者  “|”是或者的意思
chown 用户名 文件名|目录名 #递归修改文件|目录的组
chgrp -R 组名 文件名|目录名 #递归修改文件权限,操作文件夹
chmod -R 755 文件名|目录名
  • chmod在设置权限时,可以简单第使用三个数字分别对应__拥有者/组__和__其他__用户的权限
# 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
chmod +/-rwx 文件名|目录名

  • 常见数字组合有(u表示用户/g表示组/o表示其他):
  • 777===>u=rwx,g=rwx,o=rwx
  • 755===>u=rwx,g=rx,o=rx
  • 644===>u=rw,g=r,o=r

例子:

操作文件夹:需要有R

3-3 用户管理-新建用户useradd和passwd的更多相关文章

  1. Linux 用户篇——用户管理命令之useradd、passwd、userdel、usermod

    一.用户重要,用户管理命令同样重要 用户是Linux系统安全的核心,每个登录Linux系统的用户都会分配相应的权限,这些权限取决于能否访问系统中各种对象.而管理这些用户的相关信息离不开用户管理命令,比 ...

  2. (四)Linux之用户管理(用户和用户组)

    Linux之用户管理(用户和用户组) 目录 Linux之用户管理(用户和用户组) 一.概述 二.用户和组的关系 三.关于UID和GID(用户ID和组ID) 四.用户和组的数据 /etc/passwd内 ...

  3. 用户管理 之 用户(User)和用户组(Group)配置文件详解

    用户(User)和用户组(Group)的配置文件,是系统管理员最应该了解和掌握的系统基础文件之一,从另一方面来说,了解这些文件也是系统安全管理的重要组成部份:做为一个合格的系统管理员应该对用户和用户组 ...

  4. linux 用户管理,用户权限管理,用户组管理

    linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到 ...

  5. 给Linux添加新用户,新建用户,新建帐号

    给Linux添加新用户,新建用户,新建帐号 添加用户组 sudo groupadd groupname 添加用户 sudo useradd username -m -s /sbin/nologin - ...

  6. Linux系统 关机/重启/用户切换/注销,用户管理(用户创建/修改,用户组增加/删除),Linux中 / 和 ~ 的区别

    1.关机/重启命令 shutdown命令 shutdown -h now :立即关机 shutdown -h 1 :1分钟后关机 shutdown -r now :立即重启 shutdown -r 1 ...

  7. 【Linux学习】Linux用户管理2—用户配置文件

    Linux用户管理2-用户配置文件 /etc/passwd: 存放系统用户的文件 输入 vi /etc/passwd /etc/shadow: 保存保密文件 /etc/group: 群组文件 输入 v ...

  8. 【Linux学习】Linux用户管理1—用户查询指令、用户切换

    Linux用户管理1-用户查询指令.用户切换 一.用户查询指令 who: 查看当前在线用户情况 -a:显示所有用户的所有信息 -m:显示运行该程序的用户名,和"who am I"的 ...

  9. Oracle Database XE 11gR2 自带的用户,新建用户,修改用户密码

    操作系统:Windows 10 x64 第一节:下载 Oracle Database XE 11gR2 第二节:安装.验证安装 Oracle Database XE 11gR2 第三节:Oracle ...

随机推荐

  1. linux查看磁盘及文件夹大小命令

    https://www.runoob.com/w3cnote/linux-view-disk-space.html 1.使用lsof查看已删除但未释放的文件 lsof -n | grep delete ...

  2. SpringBoot系列-整合Mybatis(注解方式)

    目录 一.常用注解说明 二.实战 三.测试 四.注意事项 上一篇文章<SpringBoot系列-整合Mybatis(XML配置方式)>介绍了XML配置方式整合的过程,本文介绍下Spring ...

  3. Angular--AOT和JIT两种编译方式带来的改变

    Angular 应用主要由组件及其 HTML 模板组成.由于浏览器无法直接理解 Angular 所提供的组件和模板,因此 Angular 应用程序需要先进行编译才能在浏览器中运行.Angular 提供 ...

  4. 一些实用的Django+HTML设置

    一.关于引入变量 1.变量引入方法: {% block 块名称 %} <p>{{变量名}}<p> {% endblock %} 2.引入变量的值中标签是否转义: 不转义: {% ...

  5. Kingfisher

    Kingfisher ima1.kf.setImage(with: url) 为了兼容macOS, IOS 通过协议定义了kf,实际上就是本身 KingfisherOptionsInfo 可以配置一些 ...

  6. Python Exception处理

    Python中的错误处理分为两类:语法错误和异常处理.语法错误一般是指由于python语句.表达式.函数等存在书写格式活语法规则上的错误抛出的异常,如python常见的缩进控制,若同层次的执行语句存在 ...

  7. Dotnetcore安装nuget包时不能使用content中的文件

    问题:用NUGET打包了一个asp.netcore的项目,试图安装到另一个asp.netcore项目中,除了自动添加引用外,还希望自动释放一些文件以供修改.这些操作以前在netframe中是正常的,脚 ...

  8. BIM工程信息管理系统-EF实体框架数据操作基类

    EF实体框架数据操作基类主要是规范增.改.查.分页.Lambda表达式条件处理,以及异步操作等特性,这样能够尽可能的符合基类这个特殊类的定义,实现功能接口的最大化重用和统一. 1.程序代码 /// & ...

  9. InnoDB On-Disk Structures(一)-- Tables (转载)

    转载.节选于https://dev.mysql.com/doc/refman/8.0/en/innodb-tables.html 1.InnoDB Architecture The following ...

  10. docker安装Mysql8.0并挂载外部配置和数据

    环境 CentOS Linux release 7.7.1908 (Core) 拉取Mysql8.0 镜像 docker pull mysql:8.0.18 创建挂载目录 mkdir -p /home ...