【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的迁移。
相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
15 2
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
30 6
|
7天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
21 7
|
9天前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
38 7
|
7天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
21 4
|
6天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
11 2
|
7天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
24 3
|
9天前
|
Linux Shell
Linux常用命令-1
本课程要求学生熟悉Linux系统终端窗口和命令基础,掌握文件目录类、系统信息类、进程管理类及其他常用命令,学时为3-6小时。课程内容涵盖Linux命令的特点、常见命令的使用方法及其应用场景,如文件浏览、目录切换、内容显示等。建议学生逐个操作命令并及时反馈问题。
38 5