首页 文章详情

【Linux】| 用户和用户组管理

Python小灶 | 442 2021-04-03 23:48 0 0 0
UniSMS (合一短信)

市面上Linux学习资料太多,实在不用再多做介绍,所以这篇文章主要是做一些自己认为是比较重要的笔记记录,遇到的一些问题及解决办法,好的学习资源分享等等。

本人以菜鸟教程作为学习入门 建议CSDN阅读效果更好(因为Markdown可以跳转)

本文只列出示例用法,更多用法自行搜索 或者man 命令例如man useradd或者命令 --help 例如useradd --help

@

  • 用户管理

    • 添加新用户

    • 切换用户

    • 修改用户

    • 用户口令(密码)的管理

    • 删除用户

  • Linux系统用户组的管理

    • 新增一个用户组

    • 删除一个用户组

    • 修改用户组的属

    • 如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。

  • 与用户账号有关的系统文件

  • 更改文件属性

    • chgrp:更改文件属组

    • chown:更改文件属主,也可以同时更改文件属组

    • chmod:更改文件9个属性

  • 处理目录的常用命令

  • Linux 文件内容查看


Linux简介

用户和用户组管理

用户管理

最令我们熟知的应该就是root账户,其实Linux系统是一个多用户多任务的分时操作系统。实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户账号的添加、删除与修改。
  • 用户口令的管理。
  • 用户组的管理。

添加新用户

useradd -d /home/sam -m sam此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户主目录所在的父目录)。

切换用户

su sam此命令切换当前用户为sam,如果想切回root使用同样的方法,不过要输入密码

修改用户

usermod -g L1 sam此命令将sam用户组改为L1

用户口令(密码)的管理

初始创建用户是没有口令的,可以先用root账号给用户添加口令,有了密码后后续可以在当前账户操作su root   输入密码passwd sam  按照提示设置sam的密码

删除用户

userdel -r sam此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。如果有相关报错

user sam is currently used by process 219359

直接强制删除就好userdel -rf sam

Linux系统用户组的管理

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。

新增一个用户组

groupadd L1此命令向系统中增加了一个新组L1,新组的组标识号是在当前已有的最大组标识号的基础上加1。组标识号也可以通过-g 组标识号来指定。

删除一个用户组

groupdel L1

修改用户组的属

groupmod -g 1002 -n L2 sam此命令将组sam的标识号改为1002,组名修改为L2。

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。

useradd -G L1 a 添加一个新用户,用户组为L1groupadd L2 添加一个新用户组为L2usermod -G L2 a把用户a同时添加进L2组su a切换到用户agroups 显示当前用户所属组,应该是L1 L2

newgrp L2 由属组L1切换到属组L2

groups 显示当前用户所属组,应该是L2 L1

与用户账号有关的系统文件

  • /etc/passwd文件是用户管理工作涉及的最重要的一个文件
  • /etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生
  • 用户组的所有信息都存放在/etc/group文件中
  • 添加批量用户的应用

Linux 文件基本属性

教程的顺序本来是先介绍文件属性,不过我先把用户用户组给介绍一下,接下来再学习文件属性就好理解多了。在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:-rw-r--r-- 1 a L1 22 Apr 2 13:39 hello.py

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为 d 则是目录
  • 当为 - 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

后面依次是:文件数量,所属用户,所属组,大小,最后编辑时间,文件名,详情见图。那么我们最常用的操作就是修改文件或目录的所属用户与权限:

更改文件属性

chgrp:更改文件属组

chgrp [-R] 属组名 文件名

chown:更改文件属主,也可以同时更改文件属组

chown [–R] 属主名 文件名chown [-R] 属主名:属组名 文件名

chmod:更改文件9个属性

可以看以下示例,工作中很多问题是因为权限不够造成的,比如这个py文件,加了777权限后,颜色为绿色,代表可执行。777的具体含义(r:4,w:2,x:1),以770为例:owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= --- = 0+0+0 = 0

Linux 文件与目录管理

处理目录的常用命令

接下来我们就来看几个常见的处理目录的命令吧:

  • ls(英文全拼:list files): 列出目录及文件名
  • cd(英文全拼:change directory):切换目录
  • pwd(英文全拼:print work directory):显示目前的目录
  • mkdir(英文全拼:make directory):创建一个新的目录
  • rmdir(英文全拼:remove directory):删除一个空的目录
  • cp(英文全拼:copy file): 复制文件或目录
  • rm(英文全拼:remove): 删除文件或目录
  • mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称 你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。

Linux 文件内容查看

Linux系统中使用以下命令来查看文件的内容:

  • cat  由第一行开始显示文件内容
  • tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl   显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行


猜你喜欢

                                

                                           

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter