IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux用户命令 -> 正文阅读

[系统运维]Linux用户命令

用户和用户组查看

id

[root@server1 ~]# id user01
uid=1000(user01) gid=1000(user01) 组=1000(user01)

uid的约定

Linux操作系统会依据用户的uid数值来判定这个用户的角色,分别如下

  • 0:超级管理员,也就是root,在linux系统中拥有所有权力

  • 1~999:系统用户,系统用户往往是用来约束系统中的服务的

  • 1000+:普通用户,可以用来登陆和使用Linux操作系统

  • 查看运行进程的用户名,ps命令会在后面进程管理部分讲解

[root@localhost ~]# ps aux
USER PID %CPU %MEM    VSZ   RSS TTY STAT START   TIME COMMAND
root 2  0.0  0.0      0     0 ? S    09:06   0:00 [kthreadd]

passwd文件

用于保存用户的信息,一般第一行是root用户,下面都是其他用户

[root@localhost ~]# head -n 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
# 这个格式为用户名:密码:uid:gid:描述:家目录:登陆后执行的命令

shadow文件

格式中密码占位置太长了,所以使用x来替代,Linux系统会到shadow中查找x部分的的密码内容

[root@localhost ~]# head -n 1 /etc/shadow
root:$6$frokclXSnQa8EbKs$pWElbjPlmxjYh30tr8qLsTQVOhuPg7GmW9Sanm2yXAK8TNMgje1gyc/vwPgqvmSMf6VaoEvveM0gFvtETmXy/.::0:99999:7:::
# 这个格式为用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

group文件

用户和组的对应关系,会保存在group文件中

[root@localhost ~]# head -n 1 /etc/group
root:x:0:
# 这个格式是组名:口令:组标识号:组内用户列表

用户组管理

添加用户组:groupadd

选项

  • -g:指定新建工作组的 id;
  • -r:创建系统工作组,系统工作组的组ID小于 500;
  • -K:覆盖配置文件/etc/login.defs
  • -o:允许添加组 ID 号不唯一的工作组。
  • -f:如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。

修改用户组:groupmod

选项

  • -g:将组 ID 改为 GID
  • -n:改名为 NEW_GROUP
  • -o:允许使用重复的 GID
[root@server1 ~]# groupadd fd -g 4000
[root@server1 ~]# tail -n 1 /etc/group
fd:x:4000:
[root@server1 ~]# groupmod -n finance fd
[root@server1 ~]# tail -n 1 /etc/group
finance:x:4000:

删除用户组:groupdel

用户组成员管理:gpasswd

gpasswd 是 Linux 下工作组文件 /etc/group 和 /etc/shadow 管理工具,用于将一个用户添加到组或者从组中删除

选项

  • -a:添加用户到组;
  • -d:从组删除用户;
  • -A:指定管理员;
  • -M:指定组成员和-A的用途差不多;
  • -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

实例

  • 创建用户itadmin,并且将其加入it组
[root@server1 ~]# useradd itadmin
[root@server1 ~]# groupadd it -g 2000
[root@server1 ~]# gpasswd -a itadmin it
正在将用户“itadmin”加入到“it”组中
[root@server1 ~]# cat /etc/group | grep it:
it:x:2000:itadmin
[root@server1 ~]# id itadmin
uid=1002(itadmin) gid=1002(itadmin) 组=1002(itadmin),2000(it)
# 在用户的信息中,可以看到这个用户的所属组

用户管理

添加用户:useradd

选项

  • -c comment:指定一段注释性描述。

  • -d 目录:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

  • -m:创建用户的主目录

  • -g 用户组:指定用户所属的用户组,默认会创建一个和用户名同名的用户组。

  • -G 用户组:用户组 指定用户所属的附加组,一个用户可以属于多个附加组。

  • -s Shell文件:指定用户的登录Shell。

  • -u 用户号:指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

  • 为添加的用户指定相应的用户组

[root@localhost ~]# useradd -g root user02
  • 为新添加的用户指定home目录
[root@localhost ~]# useradd -d /home/test user03
  • 建立一个不给登录的用户
[root@localhost ~]# useradd -s /sbin/nologin user04

修改用户:usermod

usermod命令用于修改用户帐号

usermod可用来修改用户帐号的各项设定

选项

  • -c <备注>:修改用户帐号的备注文字。
  • -a:追加,默认的修改是覆盖
  • -d <登入目录>:修改用户登入时的目录。
  • -e <有效期限>:修改帐号的有效期限。
  • -f <缓冲天数>:修改在密码过期后多少天即关闭该帐号。
  • -g <群组>:修改用户所属的群组。
  • -G <群组>:修改用户所属的附加群组。
  • -l <帐号名称>:修改用户帐号名称。
  • -L:锁定用户密码,使密码无效。
  • -s :修改用户登入后所使用的shell。
  • -u :修改用户ID。
  • -U:解除密码锁定。

删除用户:userdel

选项

  • -r:删除用户登入目录以及目录中所有文件

passwd文件中的shell

查看/etc/passwd文件会发现在每行的最后是登录成功之后执行的命令,有两种是使用最为频繁的:

  • /bin/bash:这个是Linux的命令行工具,我们正常登陆之后默认就是进入命令行
  • /sbin/nologin:如果写成nologin,那么用户将无法登录,有些用户是作为进程权限管理而存在的,不需要登录。如果提供登录的功能反而不安全,所以写成nologin

passwd

passwd命令用来更改使用者的密码

选项

  • -k:保持身份验证令牌不过期
  • -d:删除已命名帐号的密码(只有根用户才能进行此操作)
  • -l:锁定指名帐户的密码(仅限 root 用户)
  • -u:解锁指名账户的密码(仅限 root 用户)
  • -x:密码的最长有效时限(只有根用户才能进行此操作)
  • -n:密码的最短有效时限(只有根用户才能进行此操作)
  • -w:在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
  • -i:当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
  • -S:报告已命名帐号的密码状态(只有根用户才能进行此操作)
  • –stdin:从标准输入读取令牌(只有根用户才能进行此操作)
[root@server1 ~]# passwd --help
用法: passwd [选项...] <帐号名称>
  -k, --keep-tokens       保持身份验证令牌不过期
  -d, --delete            删除已命名帐号的密码(只有根用户才能进行此操作)
  -l, --lock              锁定指名帐户的密码(仅限 root 用户)
  -u, --unlock            解锁指名账户的密码(仅限 root 用户)
  -e, --expire            终止指名帐户的密码(仅限 root 用户)
  -f, --force             强制执行操作
  -x, --maximum=DAYS      密码的最长有效时限(只有根用户才能进行此操作)
  -n, --minimum=DAYS      密码的最短有效时限(只有根用户才能进行此操作)
  -w, --warning=DAYS      在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
  -i, --inactive=DAYS     当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
  -S, --status            报告已命名帐号的密码状态(只有根用户才能进行此操作)
  --stdin                 从标准输入读取令牌(只有根用户才能进行此操作)

Help options:
  -?, --help              Show this help message
  --usage                 Display brief usage message
  
  • 使用管道符设置用户密码
[root@localhost ~]# echo 123456 | passwd --stdin test01
更改用户 test01 的密码 。
passwd:所有的身份验证令牌已经成功更新。

chage

chage是用于更改用户密码过期信息

[root@server1 ~]# chage ---help
用法:chage [选项] 登录

选项:
  -d, --lastday 最近日期        将最近一次密码设置时间设为“最近日期”
  -E, --expiredate 过期日期     将帐户过期时间设为“过期日期”
  -h, --help                    显示此帮助信息并推出
  -I, --inactive INACITVE       过期 INACTIVE 天数后,设定密码为失效状态
  -l, --list                    显示帐户年龄信息
  -m, --mindays 最小天数        将两次改变密码之间相距的最小天数设为“最小天数”
  -M, --maxdays 最大天数        将两次改变密码之间相距的最大天数设为“最大天数”
  -R, --root CHROOT_DIR         chroot 到的目录
  -W, --warndays 警告天数       将过期警告天数设为“警告天数”
  

实例

  • 强制用户在下次登录的时候换密码
[root@localhost ~]# chage -d 0 test01
[root@localhost ~]# logout
You must change your password now and login again!
更改用户 test01 的密码 。
为 test01 更改 STRESS 密码。
(当前)UNIX 密码:

或者

[root@localhost ~]# passwd -e username

sudoers

sudo命令执行过程

  1. 当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
  2. 确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
  3. 若密码输入成功,则开始执行sudo后续的命令

赋予用户sudo操作的权限

通过useradd添加的用户,并不具备sudo权限。在ubuntu/centos等系统下, 需要将用户加入admin组或者wheel组或者sudo组。以root用户身份执行如下命令, 将用户加入wheel/admin/sudo组。

usermod -a -G wheel <用户名>

如果提示wheel组不存在, 则还需要先创建该组

groupadd wheel

配置文件

sudo的权限控制可以在/etc/sudoers文件中查看到。一般来说,通过cat /etc/sudoers指令来查看该文件, 会看到如下几行代码。

[root@server1 ~]# egrep -v '^[ ]*$|^#' /etc/sudoers
Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
root	ALL=(ALL) 	ALL
%wheel	ALL=(ALL)	ALL

实例

  • 以管理员身份查看shadow文件
[root@localhost ~]# useradd user
[root@localhost ~]# echo 123456 | passwd --stdin user
[root@localhost ~]# usermod -a -G wheel user
[root@localhost ~]# su - user
[user@localhost ~]$ cat /etc/shadow
cat: /etc/shadow: 权限不够
[user@localhost ~]$ sudo -u root cat /etc/shadow
[sudo] user 的密码:
[user@localhost ~]$ sudo cat /etc/shadow
# sudo -u root用的比较多,可以被精简为sudo
  • 查看下列示例
papi ALL=(root) NOPASSWD: /bin/chown,/usr/sbin/useradd
  • 表示: 用户papi能在所有可能出现的主机上, 提权到root下执行/bin/chown, 不必输入密码; 但运行/usr/sbin/useradd命令时需要密码
  • 在具有sudo操作的用户下, 执行sudo -l可以查看到该用户被允许和被禁止运行的命令
  • 查看下列示例
papi ALL=/usr/sbin/,/sbin/,!/usr/sbin/fdisk
  • 命令前面加上!号表示取消该命令
  • 用户papi在所有可能出现的主机上, 能够运行目录/usr/sbin和/sbin下所有的程序, 但fdisk除外。
  • 默认情况下输入一次sudo可以保持15分钟不再要求输入密码,如果想要延长这个时间,可以修改配置文件
[root@localhost ~]# visudo
Defaults env_reset,pwfeedback,timestamp_timeout=60
# 这个是改成60分钟才会需要再次输入密码,并且输入密码的时候会显示*号

文件权限设置

  • chown (change ownerp) : 修改所属用户与组。
  • chmod (change mode) : 修改用户的权限。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MsuIOKWX-1631071327279)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210731203058481.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MRC27nYa-1631071327281)(C:\Users\dell\AppData\Roaming\Typora\typora-user-images\image-20210731203114977.png)]

修改文件属主chown

chown用于设置文件所有者和文件关联组的命令

chown 需要超级用户root的权限才能执行此命令

实例

  • 设置所有者为root
[root@localhost ~]# chown root anaconda-ks.cfg
  • 将文件的拥有者设置为user01,允许使用的组设置为it
[root@localhost ~]# chown user01:it file.txt
  • 将目录下的所有文件允许使用的组设置为it
[root@localhost ~]# chown -R :it dir/*

修改文件权限chmod

chmod是控制用户对文件的权限的命令

权限对文件的影响对目录的影响
r(读取)可以读取文件的内容可以列出目录的内容(文件名),可以使用ls命令
w(写入)可以更改文件的内容可以创建或删除目录中的任一文件,可以使用touch、rm命令
x(可执行)可以作为命令执行文件可以访问目录的内容(取决于目录中文件的权限),可以使用cd命令

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

文件访问控制列表

getfacl命名

获取文件访问控制列表的详细内容

[root@server1 ~]# getfacl test1
# file: test1
# owner: root
# group: root
user::rw-
group::r--
other::r--

setfacl命令

用来设置更精确的文件权限

选项

  • -m:更改文件的访问控制列表

  • -M:从文件读取访问控制列表条目更改

  • -x:根据文件中访问控制列表移除条目

  • -X:从文件读取访问控制列表条目并删除

  • -b:删除所有扩展访问控制列表条目

  • -k:移除默认访问控制列表

  • -d:应用到默认访问控制列表的操作

  • -R:递归操作子目录

  • 单独给予user1的可读和可进入权限

[root@server1 /]# setfacl -m u:user01:rx /worker/
[root@server1 /]# ls -la| grep worker
drwxrwx---+   2 root worker    6 7月  31 20:34 worker
[root@server1 /]# getfacl worker/
# file: worker/
# owner: root
# group: worker
user::rwx
user:user01:r-x		 # 成功添加user1对workdir的权限
group::rwx
mask::rwx
other::---
  • 移除user1的访问控制列表权限
[root@localhost ~]# setfacl -x u:user1 /workdir/
[root@localhost ~]# getfacl -c /workdir/
user::rwx
group::rwx
mask::rwx
other::---
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 12:11:03  更:2021-09-09 12:13:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 3:02:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码