Linux之用户管理命令

这篇具有很好参考价值的文章主要介绍了Linux之用户管理命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用户管理命令

useradd:添加新用户

1)基本语法

语法 说明
useradd 用户名 添加新用户
useradd -g 组名 用户名 添加新用户到某个组

2)案例

(1)添加一个新用户:tom

添加用户时,默认会在/home目录生成一个和用户名同名的用户的家目录

[root@Demo-Server ~]# ll /home
总用量 4
drwx------. 15 sin sin 4096 929 11:30 sin
[root@Demo-Server ~]# useradd test
[root@Demo-Server ~]# ll /home
总用量 4
drwx------. 15 sin  sin  4096 929 11:30 sin
drwx------.  3 test test   78 108 20:57 test

passwd:设置用户密码

1)基本语法

语法 说明
passwd 用户名 为指定的用户设置密码

2)案例

(1)给用户tom设置密码

会提示输入密码,输入过程屏幕上不会显示。

[root@Demo-Server ~]# passwd test
更改用户 test 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

id:查看用户是否存在

1)基本语法

id 用户名

2)案例

(1)查看tom、jack是否存在

[root@Demo-Server ~]# id test
uid=1001(test) gid=1001(test)=1001(test)
[root@Demo-Server ~]# id jack
id: jack: no such user

cat /etc/passwd:查看创建了哪些用户

所有创建的用户在/etc/passwd文件中都会有记录

[root@testx ~]# cat /etc/passwd
[root@Demo-Server ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
unbound:x:998:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin
libstoragemgmt:x:997:994:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
colord:x:996:993:User for colord:/var/lib/colord:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
gluster:x:995:992:GlusterFS daemons:/run/gluster:/sbin/nologin
saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
setroubleshoot:x:993:990::/var/lib/setroubleshoot:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
chrony:x:992:989::/var/lib/chrony:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sssd:x:991:987:User for sssd:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:990:986:User for geoclue:/var/lib/geoclue:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
saned:x:989:983:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin
pcp:x:987:981:Performance Co-Pilot:/var/lib/pcp:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
oprofile:x:16:16:Special user account to be used by OProfile:/var/lib/oprofile:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sin:x:1000:1000:SIN:/home/sin:/bin/bash
test:x:1001:1001::/home/test:/bin/bash

su:切换用户

su:swith user的意思,表示切换用户

1)基本语法

语法 说明
su 用户名 切换到目标用户,只能获得目标用户的执行权限,不能获得其环境变量
su - 用户名 切换到目标用户并获得目标用户的环境变量及执行权限

2)案例

当前是root用户,这root用户下,去执行susu -的切换用户的效果,echo $PATH用来输出环境变量PATH的信息,注意看环境变量的值有什么不同

[root@Demo-Server ~]# su test
[test@Demo-Server root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[test@Demo-Server root]$ exit
exit
[root@Demo-Server ~]# su - test
上一次登录:六 108 21:03:29 CST 2022pts/0 上
[test@Demo-Server ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/test/.local/bin:/home/test/bin
[test@Demo-Server ~]$

userdel:删除用户

1)基本语法

语法 说明
userdel 用户名 删除用户,但会保留用户的主目录(即家目录)
userdel -r 用户名 删除用户及其主目录(即家目录)

2)选项说明

选项 说明
-r 删除用户的同时,删除与用户相关的所有文件

3)案例

(1)删除用户但保留用户主目录

[root@Demo-Server ~]# useradd user1
[root@Demo-Server ~]# ls /home
sin  test  user1
[root@Demo-Server ~]# id user1
uid=1002(user1) gid=1002(user1)=1002(user1)
[root@Demo-Server ~]# userdel user1
[root@Demo-Server ~]# id user1
id: user1: no such user
[root@Demo-Server ~]# ls /home
sin  test  user1

(2)删除用户及其主目录,都会删除

[root@Demo-Server ~]# useradd user2
[root@Demo-Server ~]# ls /home
sin  test  user1  user2
[root@Demo-Server ~]# id user2
uid=1002(user2) gid=1002(user2)=1002(user2)
[root@Demo-Server ~]# userdel -r user2
[root@Demo-Server ~]# id user2
id: user2: no such user
[root@Demo-Server ~]# ls /home
sin  test  user1

who:查看登录用户信息

1)基本语法

语法 说明
whoami 显示当前用户名称
who am i 显示登录用户的用户名以及登录时间

2)案例

(1)显示自身用户名称

[root@Demo-Server ~]# whoami
root
[root@Demo-Server ~]# su test
[test@Demo-Server root]$ whoami
test

(2)显示登录用户的用户名以及登录时间

[root@Demo-Server ~]# who am i
root     pts/0        2022-10-08 20:56 (192.168.11.1)
[root@Demo-Server ~]# su test
[test@Demo-Server root]$ who am i
root     pts/0        2022-10-08 20:56 (192.168.11.1)
[test@Demo-Server root]$ whoami
test

sudo:设置普通用户具有root权限

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,用法:sudo 管理员命令

1)添加ready用户,并设置其密码

[root@Demo-Server ~]# useradd user2
[root@Demo-Server ~]# passwd user2
更改用户 user2 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

2)修改配置文件

[root@Demo-Server ~]# vi /etc/sudoers

修改/etc/sudoers文件,找到下面一行,在root下面添加一行,

## Allow root to run any commands anywhere 
root    ALL=(ALL)     ALL
test    ALL=(ALL)     ALL

或者配置成采用sudo命令是,不需要输入密码

## Allow root to run any commands anywhere 
root    ALL=(ALL)     ALL
test    ALL=(ALL)     NOPASSWD:ALL

修改完毕,现在可以用tom账号登录,在需要执行的命令前面加上sudo,即可获得root权限进行操作.

3)案例

下面以tom用户登录,操作下面命令,在/opt目录创建a目录报错“权限不够”,用sudo mkdir /opt/a来操作就可以了,会提示需要输入tom用户的密码。

[root@Demo-Server ~]# su test
[test@Demo-Server root]$ mkdir /opt/a
mkdir: 无法创建目录"/opt/a": 权限不够
[test@Demo-Server root]$ sudo midir /opt/a

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] test 的密码:
[test@Demo-Server root]$ ls /opt
a  containerd  rh

usermod:修改用户

1)基本语法

usermod [选项] 用户名

2)选项说明

       -c, --comment 注释            GECOS 字段的新值
      -d, --home HOME_DIR           用户的新主目录
      -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE
      -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态
      -g, --gid GROUP               强制使用 GROUP 为新主组
      -G, --groups GROUPS           新的附加组列表 GROUPS
      -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,
                                    并不从其它组中删除此用户
      -h, --help                    显示此帮助信息并推出
      -l, --login LOGIN             新的登录名称
      -L, --lock                    锁定用户帐号
      -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)
      -o, --non-unique              允许使用重复的(非唯一的) UID
      -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码
      -R, --root CHROOT_DIR         chroot 到的目录
      -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
      -s, --shell SHELL             该用户帐号的新登录 shell
      -u, --uid UID                 用户帐号的新 UID
      -U, --unlock                  解锁用户帐号
      -v, --add-subuids FIRST-LAST  add range of subordinate uids
      -V, --del-subuids FIRST-LAST  remove range of subordinate uids
      -w, --add-subgids FIRST-LAST  add range of subordinate gids
      -W, --del-subgids FIRST-LAST  remove range of subordinate gids
      -Z, --selinux-user  SEUSER       用户账户的新 SELinux 用户映射

3)案例

(1)usermod -g:修改用户组

一个用户可以有一个主要组和多个附加组

[root@Demo-Server ~]# useradd user3
[root@Demo-Server ~]# id user3
uid=1004(user3) gid=1004(user3)=1004(user3)
[root@Demo-Server ~]# usermod -g root user3
[root@Demo-Server ~]# id user3
uid=1004(user3) gid=0(root)=0(root)

(2)usermodel -G:指定用户附加组列表

可以给用户指定多个附加组,语法:usermod -G 附加组1[,附加组n]

[root@Demo-Server ~]# groupadd gr1
[root@Demo-Server ~]# groupadd gr2
[root@Demo-Server ~]# id user3
uid=1004(user3) gid=0(root)=0(root)
[root@Demo-Server ~]# usermod -G gr1 user3
[root@Demo-Server ~]# id user3
uid=1004(user3) gid=0(root)=0(root),1005(gr1)
[root@Demo-Server ~]# usermod -G gr1,gr2 user3
[root@Demo-Server ~]# id user3
uid=1004(user3) gid=0(root)=0(root),1005(gr1),1006(gr2)

(3)usermod -a -G 组名 :给用户添加附加组

usermod -G用来设置用户的附加组,如果我们想给用户添加一个附加组,那么就需要用到-a命令了

[root@Demo-Server ~]# id user3
uid=1004(user3) gid=0(root)=0(root),1005(gr1),1006(gr2)
[root@Demo-Server ~]# groupadd gr3
[root@Demo-Server ~]# usermod -a -G gr3 user3
[root@Demo-Server ~]# id user3
uid=1004(user3) gid=0(root)=0(root),1005(gr1),1006(gr2),1007(gr3)

(3)grpasswd:添加或删除附加用户组文章来源地址https://www.toymoban.com/news/detail-524790.html

语法 说明
gpasswd -a userA groupB 给用户userA添加附加用户组groupB
gpaswd -d userA groupB 将groupB从用户userA的附加组中移除
[root@Demo-Server ~]# id user3
uid=1004(user3) gid=0(root)=0(root),1005(gr1),1006(gr2),1007(gr3)
[root@Demo-Server ~]# gpasswd -d user3 gr3
正在将用户“user3”从“gr3”组中删除
[root@Demo-Server ~]# id user3
uid=1004(user3) gid=0(root)=0(root),1005(gr1),1006(gr2)
[root@Demo-Server ~]# gpasswd -a user3 gr3
正在将用户“user3”加入到“gr3”组中
[root@Demo-Server ~]# id user3
uid=1004(user3) gid=0(root)=0(root),1005(gr1),1006(gr2),1007(gr3)
[root@Demo-Server ~]#
)

到了这里,关于Linux之用户管理命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 迁移Linux服务器用户数据(将一个服务器的Linux用户数据迁移到另一个Linux服务器用户的流程)

    先来到根目录,再使用tar命令打包数据: tar czvf root.zip.gz ./* 在根目录使用指令: scp 打包好的数据 用户@ip:目的用户下的某个目录 源Linux服务器用户 : 查看压缩包是否到达: 对收到的数据进行解压,使用指令 tar xzvf root.zip.gz 解压到当前目录下。 目的Linux服务器用户 : 看到

    2024年02月08日
    浏览(50)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(81)
  • 【运维】Linux 跨服务器复制文件文件夹

    如果是云服务 建议用内网ip scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来

    2024年02月08日
    浏览(74)
  • 【Linux 服务器运维】定时任务 crontab 详解 | 文末送书

    本文思维导图概述的主要内容: 1.1 什么是 crontab Crontab 是一个在 Unix 和 Linux 操作系统上 用于定时执行任务 的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab 是 cron table 的缩写, cron 指的是 Unix 系统中的一个后台进程,它

    2024年02月08日
    浏览(92)
  • linux服务器创建新用户

    无论是创建新用户还是删除某个用户,都需要拿到root用户的密码,才有权限创建删除。 首先进入root账户,输入以下指令,created_name 是我们创建的用户名,可以换成你想要创建的用户名称。 按回车后,输入如下指令设置账户密码 按回车后,在 New password 后面输入设置的密码

    2024年02月16日
    浏览(52)
  • 【Linux运维】shell脚本检查服务器内存和CPU利用率

    在管理服务器时候写了一个 shell脚本,在服务上实现每天凌晨3点查系统的指定文件夹下的容量大小,如果超过10G就要删除3天前的内容,还要时刻查询内存和cpu利用率,如果超过80%就要提示用户出现过载 将以上代码保存为一个.sh文件,然后通过crontab在每天凌晨3点运行即可:

    2024年02月09日
    浏览(67)
  • Linux服务器常见运维性能测试(1)综合跑分unixbench、superbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月04日
    浏览(82)
  • Linux系统服务器修改用户密码的方法

    Linux系统下可以通过 passwd 命令来个修改用户的密码,操作起来也非常的简单。 命令: 例: Linux 修改自己当前用户的密码 例: Linux 修改指定用户的密码,必须是 root 用户,才可以修改其他账号的密码

    2024年02月11日
    浏览(59)
  • linux服务器禁止ping命令,linux服务器禁ping如何解除

      我是艾西,在我们搭建网站或做某些程序时,不少人会问禁ping是什么意思,怎么操作的对于业务有哪些好处等,今天艾西一次给你们说清楚。 禁PING的意思是:不允许电脑、设备或服务器使用PING功能。一般情况下电脑、防火墙、服务器都是允许PING功能的,不需要特别设置

    2023年04月20日
    浏览(50)
  • Linux 解决root用户被限制连接服务器

    使用 root 用户不能链接服务器,密码对,就是连接不上,连接被拒绝 ① sudo passwd root 使用 sudo passwd root 对root用户修改密码 ② su root 修改完成之后,切换到root用户即可使用 ③ ④ 重启 systemctl restart sshd 这里需要注意的是:centos6里面用命令 service ssh restart ,在centos7需要用 sy

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包