服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux系统中基本的用户管理方法

Linux系统中基本的用户管理方法

2019-09-06 15:14大步's blog Linux

这篇文章主要介绍了Linux系统中基本的用户管理方法,是Linux入门学习中的基础知识,需要的朋友可以参考下

用户管理的配置文件

用户信息文件:/etc/passwd

密码文件:/etc/shadow

用户组文件:/etc/group

用户组密码文件:/etc/gshadow

 

用户配置文件:

/etc/login.defs

/etc/default/useradd

新用户信息文件:/etc/ske1

登陆信息:/etc/motd  /etc/issue

 

/etc/passwd文件格式

Linux系统中基本的用户管理方法

用户类型

Linux用户分为三种:

超级用户(root UID=0)

普通用户(UID 500-60000)

伪用户(UID 1-499)

注意:root不一定是超级用户,但是UID=0的用户一定是超级用户。

伪用户

    伪用户与系统和程序服务相关

    bin daemon shutdown halt等,任何linux系统默认都有这些伪用户
    mail news games apache ftp mysql及sshd等,与linux系统的进程相关

    伪用户通常不需要或无法登陆系统
    可以没有宿主目录

用户组

    每个用户都至少属于一个用户组
    每个用户组可以包括多个用户
    同一个用户组的用户享有该组共有的权限

/etc/shadow文件格式
Linux系统中基本的用户管理方法

/etc/group文件格式
Linux系统中基本的用户管理方法

手工添加用户

    分别在/etc/passwd 、/etc/group 和/etc/shadow文件中添加一笔记录
    创建用户宿主目录
    在用户宿主目录中设置默认的配置文件
    设置用户初始密码

 

SetUID

思考:为什么普通用户可以更改密码?

SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。

范例:1.将touch命令授予SetUID权限

2.当vi命令呗授予SetUID权限

3.查找SetUID程序:

 

复制代码
代码如下:
Find / -perm -4000 –o –perm -2000

 

 

添加用户

useradd设置选项  用户名  -D 查看缺省参数

u:UID

g:缺省所属用户组GID

G:指定用户所属多个组

d:宿主目录

s:命令解释器shell

c:描述信息

e:指定用户失效时间

 

复制代码
代码如下:
#useradd ksharpdabu //添加ksharpdabu这个账号</p> <p>#passwd ksharpdabu /修改ksharpdabu的密码

 

或者熟悉系统文件的,可以直接手动添加用户

 

 

用户组管理命令

添加用户组groupadd

 

复制代码
代码如下:
groupadd -g 888 webadmin

 

创建用户组webadmin ,其GID为 888

删除用户组:groupdel 组名

 

复制代码
代码如下:
#groupdel webuser //删除webuser这个组

 

修改用户组星系 :groupmod

 

复制代码
代码如下:
#groupmod -n apache webadmin

 

修改webadmin组名为apache

 

 

用户组管理命令

Gpasswd设置组密码及管理组内成员

-a添加用户到用户组

-d 从用户组中删除用户

-A设置用户组管理员

-r删除用户组密码

-R禁止用户切换为该组

 

修改用户信息

usermod

 

复制代码
代码如下:
#usermod -G softgroup ksharpdabu

 

将用户ksharpdabu添加到softgroup用户组中

 

复制代码
代码如下:
#usermod -l ksharpdabu -d /home/samlee –g webadmin Tom

 

将用户Tom的登陆用户名改为ksharpdabu,加入wenadmin组中,用户目录改为/home/ ksharpdabu

 

 

用户管理命令

pwk  检测/etc/passwd文件(锁定文件)

vipw      编辑/etc/passwd文件

id    查看用户id和组信息

finger     查看用户详细信息

su   切换用户(su –环境变量切换)

passwd –S     查看用户密码状态

who、w     查看当前登录用户信息

 

用户组管理命令

groups   查看用户隶属于哪些用户组

newgrp  切换用户组

grpck     用户组配置文件检测

chgrp    修改文件所属组

vigr     编辑/etc/group文件(锁定文件

 

 

用户组授权实例

授权用户jack和mary对目录/software有写权限

 

复制代码
代码如下:
# groupadd softadm</p> <p># usermod -G softadm jack</p> <p># gpasswd -a mary softadm</p> <p># chgrp softadm /software</p> <p># chmod g+w /software

 

 

 

复制代码
代码如下:
# ls -ld /software</p> <p>drwxrwxr-x 2 root softadm 512 Jul 14 06:17 /software</p> <p># grep softadm /etc/group</p> <p>softadm::100:jack,mary

 

 

 

禁用和恢复用户

禁用

 

复制代码
代码如下:
# usermod -L username</p> <p># passwd -l username

 

恢复

 

复制代码
代码如下:
# usermod -U username</p> <p># passwd -u username

 

 

 

删除用户

userdel –r 用户名

-r:删除用户目录

手工删除:

使用find命令查找属于某个用户或者用户组的文件

Find选项-user、-uid、-group、-gid

    对需要保留的文件进行移动和备份
    对不需要的文件进行删除
    清除用户文件中的相关表项
    清除用户宿主目录

 

用户管理命令

change设定密码

-l     查看用户密码设置

-m   密码修改最小天数

-M   密码修改最大天数

-d   密码最后修改的日期

-l     密码过期后,锁定账户的天数

-E    设置密码的过期日期,如果为0,代表密码立即过期;如果为-1,代表密码永不过期

-W  设置密码过期前,开始警告的天数

 

 

启动或停用shadow功能

pwconv/pwunconv

grpconv/grpunconv

system-config-users

authconfig /etc/sysconfig/authconfig

 

批量添加用户

newusers命令 导入用户信息文件

pwunconv命令 取消shadow password功能

chpasswd命令     导入密码文件(密码文件格式:   用户名:密码)

pwconv命令        将密码写入shadow文件

实例:一次批量添加10个用户

 

 

 

限制用户su为root:

 

复制代码
代码如下:
# groupadd sugroup</p> <p># chmod 4550 /bin/su</p> <p># chgrp sugroup /bin/su</p> <p># ls -l /bin/su</p> <p>-r-sr-x— 1 root sugroup 18360 Jan 15 2010 /bin/su

 

 

设定后,只有sugroup组中的用户可以使用su切换为root

 

复制代码
代码如下:
# useradd helen</p> <p># passwd helen</p> <p># usermod -G sugroup helen //为helen增加su的权限

 

 

 

用sudo替代su:

在执行sudo命令时,临时成为root

不会泄露root口令

仅向用户提供有限的命令使用权限

配置文件:/etc/sudoers,编辑配置文件命令visudo

普通用户使用命令sudo。

格式:用户名(组名)  主机地址=命令(绝对路径)

 

系统弱密码测试工具John the ripper的使用方法;

 

复制代码
代码如下:
# tar -xzvf john-1.7.6.tar.gz</p> <p># cd john-1.7.6/run</p> <p># make

 

破解用户ksharpdabu密码

 

复制代码
代码如下:
# grep ksharpdabu /etc/passwd > /test/ksharpdabu.passwd</p> <p># grep ksharpdabu /etc/shadow > /test/ksharpdabu.shadow</p> <p># /test/john-1.6.6/run/unshadow /test/ksharpdabu.passwd</p> <p>/test/ksharpdabu.shadow > /test/ksharpdabu.john</p> <p># /test/john-1.6.6/run/john /test/ksharpdabu.john

延伸 · 阅读

精彩推荐
  • Linuxlinux top命令详解

    linux top命令详解

    这篇文章主要介绍了linux top命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    sparkdev5622022-03-01
  • LinuxLinux系统下无法卸载挂载的目录怎么办?

    Linux系统下无法卸载挂载的目录怎么办?

    我们在日常运维中经常性会遇到需要进行磁盘的扩容、卸载、挂载等操作,但是有时候这个系统上跑的应用并没有停止或者有其他的运维同事在操作这个目...

    今日头条10302020-12-30
  • Linux将 Linux 终端与 Nautilus 文件管理器结合起来

    将 Linux 终端与 Nautilus 文件管理器结合起来

    Nautilus 是 GNOME 桌面环境中的图形化文件浏览器。你可以使用它来访问和管理系统中的文件和文件夹。 尽管并非所有人都喜欢使用终端来管理文件和目录,...

    未知812023-08-08
  • Linuxlinux驱动程序开发详细介绍

    linux驱动程序开发详细介绍

    前提,一般来说内核代码的错误可能会引起一个用户进程的死亡,或者整个系统的瘫痪,更严重的后果,可能导致磁盘损伤~因此建议最好有一台实验机进行...

    Linux教程网5392019-12-17
  • Linuxssh 登录很慢该如何解决

    ssh 登录很慢该如何解决

    这篇文章主要介绍了ssh 登录很慢该如何解决的相关资料,这里提供了两种方法,DNS反向解析及关闭ssh的gssapi认证的解决办法,需要的朋友可以参考下...

    linuxeye9922021-12-16
  • Linux理解 Linux/Unix 登录脚本的技巧

    理解 Linux/Unix 登录脚本的技巧

    有一些常见的情况,例如从Debian的包管理程序到Iaas的管理中,很多任务需要设置环境变量才能正常运行。 有时,程序通常只需要在 登陆时运行一次,例如...

    未知1042023-05-12
  • Linux在Linux系统中创建新的亚马逊AWS访问密钥的方法

    在Linux系统中创建新的亚马逊AWS访问密钥的方法

    如何在Linux系统中创建新的亚马逊AWS访问密钥?我在配置一个需要访问我的亚马逊AWS帐号的应用时被要求提供AWS访问密钥ID和秘密访问密钥,我怎样创建一个...

    Linux教程网6182019-10-30
  • Linuxlinux设置tomcat自启动的方法

    linux设置tomcat自启动的方法

    这篇文章主要介绍了linux设置tomcat自启动的方法,需要的朋友可以参考下...

    Linux教程网8512021-10-10