• linux 用户管理


    linux 用户管理

    课程大纲

     用户管理配置文件

     用户管理命令

     用户组管理命令

     批量添加用户

     用户授权

     

    配置文件

     用户信息文件:/etc/passwd

     密码文件:/etc/shadow

     用户组文件:/etc/group

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

     用户配置文件:

     /etc/login.defs

     /etc/default/useradd

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

     登录信息:/etc/motd /etc/issue

     

    /etc/passwd文件格式

    字 段         含 义

    用户名         用户登录系统时使用的用户名

    密码         密码位

    UID             用户标识号

    GID             缺省组标识号

    注释性描述     例如存放用户全名等信息

    宿主目录     用户登录系统后的缺省目录

    命令解释器 用户使用的Shell,默认为bash

     

    用户类型

    Linux用户分为三种:

     超级用户(root,UID=0)

     普通用户(UID 500-60000)

     伪用户(UID 1-499)

     

    伪用户

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

     bin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户

     mail、news、games、apache、ftp、mysql及sshd等,与Linux 系统的进程相关

    2、伪用户通常不需要或无法登录系统

    3、可以没有宿主目录

     

    用户组

     每个用户都至少属于一个用户组

     每个用户组可以包括多个用户

     同一用户组的用户享有该组共有的权限

     

    /etc/shadow文件格式

    字 段             含 义

    用户名             用户登录系统时使用的用户名

    密码             加密密码

    最后一次修改时间 用户最后一次修改密码的天数

    最小时间间隔     两次修改密码之间的最小天数

    最大时间间隔     密码保持有效的最多天数

    警告时间         从系统开始警告到密码失效的天数

    帐号闲置时间     帐号闲置时间

    失效时间         密码失效的绝对天数

    标志             一般不使用

     

    /etc/group文件格式

    字 段         含 义

    组名         用户登录时所在的组

    组密码         一般不使用

    GID             组标识号

    组内用户列表 属于该组的所有用户列表

     

    手工添加用户

     分别在/etc/passwd、/etc/group和/etc/shadow文件中添加一笔记录

     创建用户宿主目录

     在用户宿主目录中设置默认的配置文件

     设置用户初始密码

     

    SetUID

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

    SetUID的定义:当一个可执行程序具有SetUID

    权限,用户执行这个程序时,将以这个程序所有者的身份执行。

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

    # chmod u+s /bin/touch

    # ls -l /bin/touch

    再用普通用户 touch file02

    ls - l file02

    会发现文件所有者不是创建者,而是root用户

    chmod u-s /bin/touch //取消setuid 权限 u-s 改成755 4755

    chmod g+s【2755】 文件名 //用户组添加 setuid权限 同时用户和组都加6755

    黏着位 =1 //ls -ld /tmp 其他人权限是t

    如果一个权限位777的目录,被设置了黏着位,每个用户都可以在目录下创建文件,    但是只可以删除自己所创建的文件

    添加黏着位方法 chmod o+t 目录名 //或者1777

    1. 当vi命令被授予SetUID权限

      # which vi //查询vi命令路径

      # chmod u+s /bin/vi

      后果普通用户对文件都可以修改 强制保存退出

      3、查找SetUID程序:

      find / -perm -4000 -o -perm -2000

    附加 : # ls -l /usr/bin/passwd

     

    添加用户

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

     u:UID

     g:缺省所属用户组GID

     G:指定用户所属多个组

     d:宿主目录

     s:命令解释器Shell

     c:描述信息

     e:指定用户失效时间

     passwd sam

     手工添加用户

     

    用户组管理命令

    添加用户组 groupadd

    groupadd -g 888 webadmin

    创建用户组webadmin,其GID为888

     删除用户组: groupdel 组名

     修改用户组信息 groupmod

    groupmod -n apache webadmin //修改webadmin组名为apache

     

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

    -a 添加用户到用户组

    -d 从用户组中删除用户

    -A 设置用户组管理员

    -r 删除用户组密码

    -R 禁止用户切换为该组 //gpasswd -R 组名

    范例: gpasswd -a 用户名 组名

    gpasswd 组名 //设置组密码

    修改用户信息

     usermod

     usermod -G softgroup samlee

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

     usermod -l samlee -d /home/samlee -g lampbrother liming

    将用户liming的登录名改为samlee,加入到lampbrother组中,用户目录改为/home/samlee

     

    用户管理命令

     pwck 检测/etc/passwd文件

     vipw 编辑/etc/passwd文件 (锁定文件)

     id 查看用户id和组信息

     finger 查看用户详细信息

     su 切换用户(su - 环境变量切换) //echo $PATH 查看环境变量

     passwd -S 查看用户密码状态 //#passwd -S 用户名

    passwd -l jack //锁定jack用户密码

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

     groups 查看用户隶属于哪些用户组 // id 命令也看到

     newgrp 切换用户组 //newgrp 组名 会提输入组密码

     grpck 用户组配置文件检测、''

     chgrp 修改文件所属组 //chgrp 组名 文件名

     vigr 编辑/etc/group文件(锁定文件)//和vipw 功能一样

     

    用户组权限示例

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

    # groupadd softadm //创建组 softadm

    # usermod -G softadm jack // jack 加入 softadm组

    # gpasswd -a mary softadm //mary 加入softadm组

    # chgrp softadm /software //改变software 文件的所属组为 softadm

    # chmod g+w /software //改变文件 用户组+wire 权限

    # ls -ld /software

    drwxrwxr-x 2 root softadm 512 Jul 14 06:17 /software

    # grep softadm /etc/group

    softadm::100:jack,mary

     

    禁用和恢复用户

    禁用

    # usermod -L username //锁定用户

    # passwd -l username // 锁定用户密码

    恢复

    # usermod -U username //恢复登入用户

    # passwd -u username //恢复登入密码

     

    删除用户

    userdel -r 用户名

    -r:删除用户目录

    手工删除:

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

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

    1、对需要保留的文件进行移动和备份

    2、对不需要的文件进行删除

    3、清除用户文件中的相关表项

    4、清除用户宿主目录

     

    用户管理命令

     chage 设定密码

    -l 查看用户密码设置

    -m 密码修改最小天数

    -M 密码修改最大天数

    -d 密码最后修改的日期

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

    -E 设置密码的过期日期,如果为0,代表密码

    立即过期;如果为-1,代表密码永不过期

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

     

    启动或停用shadow功能

    pwconv/pwunconv

    grpconv/grpunconv

     system-config-users

     authconfig 、/etc/sysconfig/authconfig

     

    批量添加用户

    newusers命令 导入用户信息文件 //文件模板按/etc/passwd #newusers < user.info

    pwunconv命令 取消shadow password功能

    chpasswd 命令 导入密码文件 // #chpasswd < pass.info

    (格式 用户名:密码)

    pwconv命令 将密码写入shadow文件

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

     

    限制用户su为root:

    # groupadd sugroup //添加一个sugroup组

    # chmod 4550 /bin/su //修改/bin/su 权限

    # chgrp sugroup /bin/su //修改所属组

    # ls -l /bin/su

    -r-sr-x--- 1 root sugroup 18360 Jan 15 2010 /bin/su

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

    # useradd helen

    # passwd helen

    # usermod -G sugroup helen //把helen 用户加到sugroup用户组

     

    用sudo代替su:

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

     -不会泄漏root口令

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

    配置文件:/etc/sudoers,

    编辑配置文件命令/usr/sbin/visudo,

    普通用户使用命令/sur/bin/sudo。

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

    附加:visudo //编辑

    csdn1 helen=/usr/sbin/useradd,/usr/sbin/userdel

    csdn2 helen=/sbin/shuthown -h -now //命令可以精确化

    (用户组前面加%)用户名 主机名(或者ip地址) = 授权命令绝对路径,

    # su - csdn1 //切换csdn1用户

    $ sudo /user/sbin/useradd lampbrother //添加lampbrother 用户

    [sudo] password for csdn1: //输入csdn1 密码

    $ sudo -l //查看自己可以用root身份执行哪些命令

    授权一个用户Apache管理权限

    1 编辑Apache 配置文件

    2 使用Apache 启动脚本

    3 更新网页

    # ls -l /etc/httpd/conf/httpd.conf

    1. a 设置用户为配置文件所有者 chown

      b 改变所属组,把用户加入组,授予组 w 权限

      c visudo 用户 地址csdn1 helen=/bin/vi /etc/httpd/conf/httpd.conf

      2 visudu 用户 地址=/etc/rc.d/init.d/httpd start,/etc/rc.d/init.d/httpd reload,

      /etc/rc.d/init.d/httpd fullstatus,

      /etc/rc.d/init.d/httpd configtest

      3 grep Document Root /etc/httpd/conf/httpd.conf // 查找匹配的www网页存的目录

      /var/www/html 改变所有者 或者改变所属组,把用户加入组,授予组 w 权限

       

     

     

    John the ripper 应用:

    # tar -xzvf john-1.7.6.tar.gz

    # cd john-1.7.6/run

    # cd src

    # make linux-x86-64

    破解用户liming密码

    # grep liming /etc/passwd > /test/liming.passwd

    # grep liming /etc/shadow > /test/liming.shadow

    # /test/john-1.6.6/run/unshadow /test/liming.passwd /test/liming.shadow > /test/liming.john

    # /test/john-1.6.6/run/john /test/liming.john

    下载地址 http://www.openwall.com/john/

    博主QQ 343264992 QQ群交流:100411237 添加时候请备注博客园
  • 相关阅读:
    iOS如何获取蓝牙Mac地址
    iOS完整App资源收集
    四月兄弟AprilBeacon
    图片360°旋转动画(
    图片圆角
    获取子字符串在元字符串中出现的所有位置
    调用系统震动 循环震动
    ibecon后台运行
    uiwebview 加载本地js、css、img,html从网站加载
    获取蓝牙mac地址
  • 原文地址:https://www.cnblogs.com/chengkanghua/p/9236559.html
Copyright © 2020-2023  润新知