Linux命令(3)

4. 用户权限相关命令

4.1 用户和权限的基本概念

1. 基本概念

  • 用户是Linux系统工作中重要的一环,用户管理包括 用户 管理

  • 在Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号, 并且对于不同的系统资源拥有不同的使用权限

  • 对文件/目录的权限包括:

权限英文缩写数字代号
readr4
writew2
执行excutex1

2. 组

  • 为方便用户管理,提出了组的概念

在实际引用中可预先对组设置权限,然后 将用户添加到对应的组中,不用依次为用户设置权限

3. ls -l 扩展

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

    • 权限:第1个字符如果是d表示目录
    • 硬链接数:通俗地讲,就是有多少种方式,可以访问到当前目录/文件
    • 拥有者:家目录下文件/目录的拥有者通常都是当前用户
    • :在Linux中, 很多时候,会出现组名和用户名相同的情况
    • 大小
    • 时间
    • 名称

    在这里插入图片描述

4. chmod的简单使用

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 要对一个文件进行操作,文件必须具有可执行权限

5. 超级账户

  • Linux系统中的 root 账户 通常用于 系统的维护和管理,对 操作系统的 所有资源具有访问权限
  • 在大多数 Linux 版本中,不推荐直接用 root 账号登录系统
  • 在 Linux 系统安装过程中,系统会自动创建一个用户账号,这个默认的用户称为标准用户
sudo
  • sudo 是 substitute user 的缩写,表示使用另一个用户的身份
  • sudo 命令用来以其他身份执行命令,预设的身份为 root
  • 用户使用 sudo 时,必须先输入密码,之后的5分钟为有效期限,超过则需重新输入密码

未经授权的用户用 sudo, 会发送警告邮件给管理员

4.2 组管理的基本命令

创建/删除 组的命令都需要通过 sudo 命令执行

命令作用
groupadd 组名添加组
groupdel 组名删除组
cat /ect/group确认组信息
chgrp -R 组名 文件/目录名修改文件/目录的所属组
  • 组信息保存在 /etc/group 文件中
  • /etc 目录是专门用来保存 系统配置信息 的目录
  • 在实际应用中,预先对组设置好权限,然后将不同的用户添加到组中

实战

  1. 在 xiao 用户的桌面文件夹下创建 xiao学习 目录
  2. 新建 dev 组
  3. 将 xiao学习 目录的组改为 dev

在这里插入图片描述
在这里插入图片描述

4.3 用户管理终端命令

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

1. 创建用户/设置密码/删除用户

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

在这里插入图片描述
注意:创建新的用户以后需要设置密码
在这里插入图片描述

 cat -n /etc/passwd  # youzi在最后一行出现,-n是显示行号,可不要
sudo useradd -p dev yayi 
cat -n /etc/passwd  # yayi在最后一行出现,但是computer——>home文件夹中不出现
  • 创建用户时,如果忘记添加一m选项指定新用户的家目录–最简单的方法就是删除用户,重新创建
  • 创建用户时,默认会创建一一个和用户名同名的组名
  • 用户信息保存在/etc/passwd 文件中
sudo userdel -r yayi

再使用 cat 命令,yayi 那列没有了

2. 查看用户信息

命令信息
id[用户名]查看用户UID和GID信息
who查看所有当前登录的用户列表
whoaim查看当前用户登录的账户名
passwd文件
  • /etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,分别是
  1. 用户名
  2. 密码(x, 表示加密的密码)
  3. UID (用户标识) 在/etc/passwd中
  4. GID (组标识) 在/etc/group中
  5. 用户全名或本地帐号
  6. 家目录
  7. 登录使用的Shell,就是登录之后,使用的终端命令,ubuntu 默认是dash
 cat -n /etc/group | grep dev

在这里插入图片描述

cat -n /etc/group | grep dev

在这里插入图片描述

id   # 查看系统默认用户的uid和gid信息
cat -n /etc/passwd | grep xiao

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

usermod

usermod 可以用来设置用户的主组/附加组和登录Shell, 命令格式如下:

  • 主组:通常在新建用户时指定,在 etc/passwd 的第4列GID对应的组
  • 附加组:在 etc/group 中最后一列表示该组的用户列表,用于指定用户的附加权限

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

#修改用户的主组(passwd 中的GID)
usermod -g组用户名

#修改用户的附加组
usermod -G组用户名

#修改用户登录Shell
usermod -s /bin/bash

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

usermod -G sudo 用户名 
which
  • /etc/passwd 是用于保存用户信息的文件
  • /usr/bin/passwd 是用于修改用户密码的程序
  • which 命令可以查看执行命令所在位置
which ls
# /bin/ls

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

bin 和 sbin

  • 在Linux中,绝大多数可执行文件都是保存在/bin、 /sbin、 /usr/bin、 /usr/sbin

  • /bin (binary) 是二进制执行文件目录,主要用于具体应用

  • /sbin( system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理

  • /usr/bin ( user commands for applications ) 后期安装的一些软件

  • /usr/sbin ( super user commands for applications) 超级用户的一些管理程序

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

3. 切换用户

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

在这里插入图片描述

4. 修改文件权限

命令作用
chown修改拥有者
chgrp修改组
chmod修改权限
  • 命令格式如下
#修改文件|目录的拥有者
chown 用户名 文件名|目录名

#递归修改文件|目录的组
chgrp -R 组名 文件名|目录名

#递归修改文件权限
chmod -R 755 文件名|目录名
  • chmod 在使用权限时,可简单使用三个数字分别对应 拥有者/组其他用户权限
#直接修改文件|目录的读|写|执行权限,但是不能精确到拥有者|组|其他
chmod +/-rwx 文件名|目录名

在这里插入图片描述
在这里插入图片描述

chmod演练
  1. 将 01.py 的权限修改为u=rwx, g=rx,o=r
  2. 将 123.txt |的权限修改为u=rw,g=r,0=-
  3. 将test目录以及目录下的所有文件权限修改为| u=rwx, g=rwx, o=rx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值