【Linux账号和权限管理命令】

简介: 【Linux账号和权限管理命令】

一、账户概述

1.Linux基于用户身份对资源访问进行控制

用户帐号:
 超级用户 root 类似于windows的administrator拥有最高权限
 普通用户 lisi,zhangsan 权限受到一定限制
程序用户 vsftpd 权限比较低 一般不允许在本地登录 /sbin/nologin

2. Linux基于组,统一容纳管理用户,并分配权限

组帐号:
 基本组(私有组):用户的初始组,用户必须在的组 一般和用户同名 必须有
 附加组(公共组):用户额外加入的组,可有可无

3.UID和GID

UID(User IDentity,用户标识号):用户的唯一安全标识符,便于系统识别
                 0 是 root
                 1-999 是程序用户
                1000-65535 普通用户
 GID(Group IDentify,组标识号):组的唯一安全标识符,便于系统识别

二、账户文件

1.用户账户文件

head -1 /etc/passwd
显示:
root:x:0:0:root:/root:/bin/bash
用户名 :密码占位符 :uid : gid : 描述 :宿主目录 :登录shell

2.用户密码文件

head -1 /etc/shadow
显示:
root:66FAvtAYKeBh::0:99999:7:::

3.说明:

①用户名:加密密码字段(如果!或 * 开头表示密码被锁定):上次修改密码时间:密码最短有效期:密码最长有效期:密码到期提前警告时间:密码过期几天禁用用户:账号失效时间:保留字段

②注意:上次修改密码时间和账号失效时间,用的都是Unix时间戳(从1970-1-1开始到今天的天数)

三、与用户和组相关的命令

1.useradd [选项] 用户名 常用选项

     

        -u    指定uid号
        -d      指定宿主目录,默认不指定会在/home自动创建同名目录
        -e      指定账号失效时间
       -g    指定基本组,如果不特意指定,默认创建同名基本组
        -G    指定附加组
        -s    指定登录shell,如果不指定,默认就是/bin/bash
        -M    不创建宿主目录,不能登录系统

注:为新的用户指定宿主目录时,宿主目录的父目录必须事先存在,宿主目录本身自动创建

   创建用户的同时,会同时创建一个同名的组账号

2.针对已有用户修改属性

usermod  选项  用户名
        选项:和useradd基本相同
        -u    
        -d     
        -e      
        -g    
        -G    
        -s    
        -M
        -l:用户重命名    
        -L:锁定用户,类似于passwd -l
        -U:解锁用户, 类似于passwd -u

3.修改用户密码


passwd  用户名

echo 123456 | passwd --stdin 用户名

4.passwd命令其它作用

passwd  [选项] 用户名    
    -l      锁定用户
    -u    解锁用户
    -S    查看用户是否锁定
    -d    清空密码

5.删除用户

userdel [选项] 用户名
    -r      删除用户,连同宿主目录一起

6.用户初始配置文件

~/.bash_profile    : 每次用户登录时执行 一般存放环境变量和用户执行的程序 如PATH 
~/.bashrc:每次用户切换shell时执行    一般存放别名和函数   
~/.bash_logout:每次用户退出登录时执行
/etc/profile:登录时用来设置环境变量,执行文件中的命令,对所有用户生效。
/etc/bashrc:登录时和执行bash 命令打开子shell时都执行此文件,对所有用户生效
用户初始宿主目录下的初始配置文件来自于/etc/skel目录
注:经常用来调用别名、运维脚本、用于自动运行程序

7.组账号文件

/etc/group
tail -1 /etc/group
显示:
zhangsan:x:2223:
组名:组密码(一般不用): 组id
/etc/gshadow:保存组帐号的密码信息,一般无用

8.创建组

 

groupadd [选项]caiwubu
        -g    指定gid

9.删除组

groupadd [选项]caiwubu
        -g    指定gid

10.用户加入组

 

gpasswd [选项] 用户名  组名

11.查询账号信息

1.查看用户身份标识
    id  [用户名]
2.查询用户所属的组
    groups [用户名]

12.查看当前登录用户

 

users     简要统计当前登终端登录和登录时间
  w    查看用户在哪些终端,什么时间登录,正在执行什么程序
    注:终端  :0 为图形界面     pts    伪终端      tty2:字符界面

四.文件与目录权限

1.访问权限

读取 r:允许查看文件内容、显示目录列表,权限值:4
    写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录,权限值2
    可执行 x:允许运行程序、切换目录,权限值:1
归属(所有权)
   属主:拥有该文件或目录的用户帐号
    属组:拥有该文件或目录的组帐号

2.设置目录或文件归属

 

chown  属主:属组  文件或目录
示例:设置bdqn.txt的属主为bdqn用户,属组为public
    ch      wn bdqn:public bdqn.txt

3.设置目录或文件的权限

 

chmod   [ugoa]  [+-=]  [rwx]  文件或目录...  或
    chmod nnn 文件或目录...
示例:设置bdqn.txt权限,属主读写执行,属组读写,其他人读
    chmod  u=rwx,g=rw,o=r  bdqn.txt
    chmod  762  test.txt

   注:

   1)一般目录权限默认755 , 文件默认644

   2)设置权限的时候要考虑文件的归属,可以先设置归属,再设置权限,反之也可

4.切换用户:

su   -   用户名
从root切换到普通用户,不用输入密码
从普通用户切换到root,要输入root的密码
返回前一个用户用exit

文件类型:

1.-:普通文件

2.d:目录

3.l:符号链接

4.b:块设备

5.c:字符设备

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
169 8
|
1月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
62 14
Linux 10 个“who”命令示例
|
14天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
42 8
|
24天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
123 20
|
24天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
54 7
|
1月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
2月前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
44 9
|
2月前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
2月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
199 3
|
2月前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
91 4