文章目录

    • 目标
  • 一、用户 和 权限 的基本概念
    • 1.1 基本概念
    • 1.2 组
    • 1.3 ls -l 扩展
    • 1.4 `chmod` 简单使用(重要)
    • 1.5 超级用户
      • 1.5.1 sudo
  • 二、组管理 终端命令
  • 三、用户管理 终端命令
    • 3.1 创建用户/设置密码/删除用户
    • 3.2 查看用户信息
      • 3.2.1 passwd 文件
      • 3.2.2 usermod(重点)
      • 3.2.3 which(重要)
        • 3.2.3.1 `bin` 和 `sbin`
    • 3.3 切换用户(su)
  • 四、修改文件权限(chown,chgrp,chmod)

目标

  • 用户权限 的基本概念
  • 用户管理 终端命令
  • 组管理 终端命令
  • 修改权限 终端命令

一、用户 和 权限 的基本概念

1.1 基本概念

  • 用户 是 Linux 系统工作中重要的一环,用户管理包括 用户 管理
  • 在 Linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限
  • 在 Linux 中,可以指定 每一个用户 针对 不同的文件或者目录不同权限
  • 文件/目录 的权限包括:
序号 权限 英文 缩写 数字代号
01 read r 4
02 write w 2
03 执行 excute x 1

1.2 组

  • 为了方便用户管理,提出了 的概念,如下图所示:

  • 在实际应用中,可以预先针对 设置好权限,然后 将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限

1.3 ls -l 扩展

  • ls -l 可以查看文件夹下文件的详细信息,从左到右依次是:

    • 权限,第 1 个字符如果是 d 表示目录
    • 硬链接数,通俗地讲,就是有多少种方式,可以访问到当前目录/文件
    #1表示:
    #绝对路径:在系统的任何位置都可以访问到这个文件,这个文件的硬链接数是:1
    python@ubuntu:~/Desktop$ cd ~
    python@ubuntu:~$ cat /home/python/Desktop/a.txt
    hello#2表示:
    # 一种方式可以通过绝对路径到达
    # 一种方式在当前这个目录下,通过 cd .这种方式可以达到#3表示:
    # 一种方式可以通过绝对路径到达
    # 一种方式在当前这个目录下,通过 cd .这种方式可以达到
    # 一种方式在下一级目录中,通过 cd .. 返回上一级......
    注:一个目录的子目录越多,它的硬链接数越多。
    • 拥有者,家目录下 文件/目录 的拥有者通常都是当前用户
    • ,在 Linux 中,很多时候,会出现组名和用户名相同的情况.
    • 大小,目录/文件大小
    • 时间
    • 名称
python@ubuntu:~/Desktop$ ls -l
总用量 16
-rw-rw-r-- 1 python python  237 9月  13 09:40 123.txt
drwxrwxr-x 3 python python 4096 9月  12 09:56 a
-rw-rw-r-- 1 python python    6 9月  13 11:10 a.txt
-rw-rw-r-- 1 python python  440 9月  13 11:21 f

1.4 chmod 简单使用(重要)

  • chmod 可以修改 用户/组文件/目录 的权限
  • 命令格式如下:
chmod +/-rwx 文件名|目录名

提示:以上方式会一次性修改 拥有者 / 权限

+:表示增加权限

-:表示减少权限

注:一个目录/文件如果没有可执行权限,针对这个目录/文件将不能执行其他终端命令。

1.5 超级用户

  • Linux 系统中的 root 账号通常 用于系统的维护和管理,对操作系统的所有资源 具有所有访问权限
  • 在大多数版本的 Linux 中,都不推荐 直接使用 root 账号登录系统
  • 在 Linux 安装的过程中,系统会自动创建一个用户账号,而这个默认的用户就称为“标准用户”

1.5.1 sudo

  • susubstitute user 的缩写,表示 使用另一个用户的身份
  • sudo 命令用来以其他身份来执行命令,预设的身份为 root
  • 用户使用 sudo 时,必须先输入密码,之后有 5 分钟的有效期限,超过期限则必须重新输入密码

若其未经授权的用户企图使用 sudo,则会发出警告邮件给管理员

二、组管理 终端命令

提示:创建组 / 删除组 的终端命令都需要通过 sudo 执行

序号 命令 作用
01 groupadd 组名 添加组
02 groupdel 组名 删除组
03 cat /etc/group 确认组信息
04 chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组

提示:

  • 组信息保存在 /etc/group 文件中
  • /etc 目录是专门用来保存 系统配置信息 的目录

  • 在实际应用中,可以预先针对 设置好权限,然后 将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限
# 1、在 python 用户的桌面文件夹下创建 Python学习 目录
python@ubuntu:~$ cd Desktop/
python@ubuntu:~/Desktop$ mkdir Python学习# 2、新建 dev 组
python@ubuntu:~/Desktop$ sudo groupadd dev
python@ubuntu:~/Desktop$ cat /etc/group    # 查看组信息# 3、将 Python学习 目录的组修改为 dev
python@ubuntu:~/Desktop$ sudo chgrp -R dev Python学习/

三、用户管理 终端命令

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

3.1 创建用户/设置密码/删除用户

所有用户的家目录都默认保存在/home文件夹下。

序号 命令 作用 说明
01 useradd -m -g 组 新建用户名 添加新用户 -m 自动建立用户家目录;
-g 指定用户所在的组,否则会建立一个和同名的组
02 passwd 用户名 设置用户密码 如果是普通用户,直接用 passwd 可以修改自己的账户密码
03 userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录
04 cat /etc/passwd | grep 用户名 确认用户信息 新建用户后,用户信息会保存在 /etc/passwd 文件中
# 1、添加新用户从属于开发群组dev,zhangsan是用户名。
python@ubuntu:~$ sudo useradd -m -g dev zhangsan# 查看根目录下,home文件夹的详细内容
python@ubuntu:~$ ls -l /home
总用量 8
drwxr-xr-x 33 python   python 4096 9月  21 12:06 python
drwxr-xr-x  2 zhangsan dev    4096 9月  23 17:22 zhangsan# 2、设置用户密码
python@ubuntu:~$ sudo passwd zhangsan
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码# 3、删除用户
python@ubuntu:~$ sudo userdel -r zhangsan# 4、确认用户信息
python@ubuntu:~$ ls -l /etc/passwd
-rw-r--r-- 1 root root 2703 9月  23 17:22 /etc/passwd
python@ubuntu:~$ cat /etc/passwd

提示:

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

3.2 查看用户信息

序号 命令 作用
01 id [用户名] 查看用户 UID 和 GID 信息
02 who 查看当前所有登录的用户列表
03 whoami 查看当前登录用户的账户名
# 1、查看用户代号和组代号
python@ubuntu:~$ id zhangsan
uid=1001(zhangsan) gid=1001(dev) 组=1001(dev)
# 在passwd文件中是以冒号来分组信息的,每一个冒号分隔一段信息,其中x表示用户有密码。
python@ubuntu:~$ cat -n /etc/passwd | grep zhangsan49  zhangsan:x:1001:1001::/home/zhangsan:
python@ubuntu:~$ cat -n /etc/group | grep dev35    plugdev:x:46:python48   netdev:x:109:75 dev:x:1001:# 2、查看当前用户的信息
python@ubuntu:~$ id
uid=1000(python) gid=1000(python) 组=1000(python),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)# 3、查看当前登录用户python@ubuntu:~$ whoami
python
python@ubuntu:~$ who
python   tty7         2021-09-21 12:06 (:0)

3.2.1 passwd 文件

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

  1. 用户名
  2. 密码(x,表示加密的密码)
  3. UID(用户标识)
  4. GID(组标识)
  5. 用户全名或本地帐号
  6. 家目录
  7. 登录使用的 Shell,就是登录之后,使用的终端命令,ubuntu 默认是 dash

3.2.2 usermod(重点)

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

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

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

注意:默认使用 useradd 添加的用户是没有权限使用 sudoroot 身份执行命令的,可以使用以下命令,将用户添加到 sudo 附加组中

sudo usermod -G sudo 用户名

3.2.3 which(重要)

提示

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

3.2.3.1 binsbin

  • Linux 中,绝大多数可执行文件都是保存在 /bin/sbin/usr/bin/usr/sbin
  • /binbinary)是二进制执行文件目录,主要用于具体应用
  • /sbinsystem binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
  • /usr/binuser commands for applications)后期安装的一些软件
  • /usr/sbinsuper user commands for applications)超级用户的一些管理程序

提示:

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

3.3 切换用户(su)

序号 命令 作用 说明
01 su - 用户名 切换用户,并且切换目录 - 可以切换到用户家目录,否则保持位置不变
02 exit 退出当前登录账户
python@ubuntu:~$ su zhangsan
密码:
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.zhangsan@ubuntu:/home/python$ cd
zhangsan@ubuntu:~$ pwd
/home/zhangsan
zhangsan@ubuntu:~$ exit
exit
python@ubuntu:~$ # - 可以切换到用户家目录
python@ubuntu:~$ su - zhangsan
密码:
zhangsan@ubuntu:~$ pwd
/home/zhangsan
zhangsan@ubuntu:~$ exit
注销
  • su 不接用户名,可以切换到 root,但是不推荐使用,因为不安全
  • exit 示意图如下:

四、修改文件权限(chown,chgrp,chmod)

序号 命令 作用
01 chown 修改拥有者
02 chgrp 修改组
03 chmod 修改权限
  • 命令格式如下:
# 修改文件|目录的拥有者
chown 用户名 文件名|目录名# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名# 递归修改文件权限
chmod -R 755 文件名|目录名
# 1、chown修改拥有者
python@ubuntu:~$ cd Desktop/
python@ubuntu:~/Desktop$ sudo chown zhangsan Python学习/
[sudo] python 的密码:
python@ubuntu:~/Desktop$ ls -l
总用量 20
-rw-rw-r-- 1 python   python  237 9月  13 09:40 123.txt
drwxrwxr-x 3 python   python 4096 9月  12 09:56 a
-rw-rw-r-- 1 python   python    6 9月  13 11:10 a.txt
-rw-rw-r-- 1 python   python  440 9月  13 11:21 f
drwxrwxr-x 2 zhangsan dev    4096 9月  23 14:43 Python学习
python@ubuntu:~/Desktop$ id
uid=1000(python) gid=1000(python) 组=1000(python),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)# 2、chgrp修改组
python@ubuntu:~/Desktop$ sudo chgrp python Python学习/
python@ubuntu:~/Desktop$ ls -l
总用量 20
-rw-rw-r-- 1 python   python  237 9月  13 09:40 123.txt
drwxrwxr-x 3 python   python 4096 9月  12 09:56 a
-rw-rw-r-- 1 python   python    6 9月  13 11:10 a.txt
-rw-rw-r-- 1 python   python  440 9月  13 11:21 f
drwxrwxr-x 2 zhangsan python 4096 9月  23 14:43 Python学习

  • 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
# 1、将 01.py 的权限修改为 u=rwx,g=rx,o=r
python@ubuntu:~/Desktop$ chmod 754 01.py# 2、将 123.txt 的权限修改为 u=rw,g=r,o=-
python@ubuntu:~/Desktop$ chmod 640 01.py# 3、将 test 目录以及目录下的 所有 文件权限修改为 u=rwx,g=rwx,o=rx
python@ubuntu:~/Desktop$ chomd -R 775 test

【快速入门Linux】6_Linux命令—用户权限相关命令相关推荐

  1. 【大数据day02】——Linux系统02(find 搜索,VI编辑器_终端编辑器,用户权限相关命令,系统信息相关命令)

    搜索命令 1.find 搜索 1.1 目标 通过find命令 在特定目录下(包含它的后代目录) 搜索 符合条件的文件 1.2 实现 : 在指定目录中 根据名称 搜索 命令格式 序号 命令格式 作用 0 ...

  2. Linux用户权限相关命令

    P60 用户权限相关命令 重点是用户和权限的相关概念.对于用户管理.组管理.修改权限的终端命令了解即可,以后的工作中使用频率也不高 在Linux中,每个系统都必须有一个账户,并且每一个用户针对不同的文 ...

  3. linux下打开配置文件命令_Linux下用户权限相关命令

    09.Linux下用户权限相关命令 用户权限的基本概念: 用户 是Linux 系统工作中重要的一环,用户管理包括 用户 与 组 管理 在Linux系统中,不论是由本机或是远程登陆系统,每个系统都必须拥 ...

  4. Linux查看所有用户与住目录,Linux查看所有用户的相关命令

    1.Linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 或者用cat /etc/p ...

  5. linux 用户权限 数字,几个linux命令之用户权限相关命令

    一.基本概念 1.用户是Linux系统工作中重要的一环,用户管理包括用户和组,在LINUX系统中可以给不同的用户或组针对某一文件或目录设定不同的操作权限,其中这些权限包括读(r,数字代号是4),写(w ...

  6. linux sftp没有读写权限,Linux下SFTP用户权限设置条件及实现命令

    Linux下SFTP用户权限设置条件及实现命令 众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的,今天的教程就是教大家进行SFTP用户权限设置. 必要条件: 你的op ...

  7. HDFS权限管理、用户身份认证和数据访问授权、UGO权限管理、umask权限掩码、UGO权限相关命令、Web页面修改UGO权限

    HDFS权限管理 1.1 总览概述 作为分布式文件系统,HDFS也集成了一套兼容POSIX的权限管理系统.客户端在进行每次文件操时,系统会从用户身份认证和数据访问授权两个环节进行验证: 客户端的操作请 ...

  8. linux能修改用户的权限,linux怎样修改用户权限

    ls -l  查看目录下的文件详细信息 ll 同上 whoami 功能说明:先似乎用户名称. 语 法:whoami [--help][--version] 补充说明:显示自身的用户名称,本指令相当于执 ...

  9. linux用户密码管理,Linux_详解Linux中的用户密码管理命令passwd和change,passwd 修改用户密码参数 nbsp - phpStudy...

    详解Linux中的用户密码管理命令passwd和change passwd 修改用户密码 参数 -k 保持未过期身份验证令牌 -l 关闭账号密码.效果相当于usermod -L,只有root才有权使用 ...

最新文章

  1. android 字体加下划线,android自定义带下划线EditText解决文字压线的问题
  2. gulp + webpack 构建多页面前端项目 1
  3. Flink SQL Client进行Kafka事实表与Hbase维度表Join(纯DDL/SQL方式)
  4. 关于TensorFlow开发者证书,你想要的资源都在这里!
  5. 华为NOVa8Pr0是用鸿蒙系统吗,华为Nova8即将发布,采用麒麟芯片,高端平板适配鸿蒙系统...
  6. 有没有一些细分IT行业,没有35岁现象
  7. SAP License:MM中的几个概念
  8. java代码执行linux命令_怎么用java代码运行linux命令
  9. 聊聊Eureka Server的REST API
  10. debian php mysql 安装_debian 安装mysql或者php出问题
  11. python 服务器_使用 Python 开发 EMQ X MQTT 服务器插件
  12. Putty 使用记录
  13. 赖世雄英语学习三原则
  14. 计算理论导论第1章答案 Michael Sipser
  15. ffmpeg命令分析-b:v
  16. Aras Innovator-学-习-之-旅-
  17. access简述报表的功能_access中报表的作用
  18. ArcGIS Server 发布服务失败
  19. vmware启动sda assuming drive cache黑屏
  20. dhcp服务器是如何进行租约信息的更新的,DHCP服务器

热门文章

  1. 红米手机 android 版本,#MIUI#关于红米手机4高配版 Android版本适配的说明【miui9吧】_百度贴吧...
  2. MySQL 开源工具集合
  3. 催人泪下!做技术打铁还需自身硬
  4. TypeScript 2.0开启空值的严格检查
  5. 面对行业难题,华为云邀请物联网全行业拿出“亮剑”精神
  6. 面试官问我:如何在 Python 中解析和修改 XML
  7. 后疫情时代,华为云会议如何定义未来会议?
  8. 【华为云技术分享】华为云多元计算+AI 打造企业级智能数据湖
  9. 漫谈边缘计算(四):赢家是软还是硬
  10. 华为云ModelArts图深度学习,学习知识还能考取微认证