zoukankan      html  css  js  c++  java
  • linux 用户管理

    用户信息:/etc/passwd 用man查看配置文件  ------  man 5 passwd文件
    密码文件:/etc/shadow 
    
    用户配置文件:/etc/login.defs        添加用户的缺省用户信息
                 /etc/default/useradd    添加用户的缺省用户信息
    /etc/issue  用户登录之前的提示信息
    /etc/motd   用户登录之后的提示信息
                 
     cat /etc/shells  查看系统中的shell             
                 
    wc -l /etc/passwd 统计用户个数
    
    用户名:最好字母 ,没有特殊要求
    密码:密码位,实际没有存放密码
    UID:
    GID:
    注释性描述
    宿主目录
    命令解释器
    
    默认uid = 500
    用户分为3种:
    超级用户:(root,uid = 0)
    普通用户:(uid 500-60000)
    伪用户:(uid 1-499)   /sbin/nologin  
    
    伪用户--为了安全
    
    linux中任何一个命令的操作都必须有一个用户的身份
    伪用户一般和系统或者程序服务相关
    bin,daemon,shutdown ,halt  linux默认都有这些伪用户
    伪用户通常不需要或无法登陆系统
    可以没有宿主目录
    
    gid:组id
    添加一个用户肯定会有一个隶属的组  即使不指定,也会默认指定一个组
    
    每个用户都至少属于一个用户组
    每个用户组可以包括多个用户
    同一个组的用户享有改组公共的权限
    
    window中会存在一个用户组属于另一个组,但linux中不可以这样    
    
    echo "123456"|md5sum
    
    经常改变密码 服务器隔离
    
    删除shadow中的密文部分,用户就不在需要密码了
    
    最小时间间隔 :
    最大时间间隔 :到时间必须更改密码
    
    pwconv    passwd 转到 shadow            /sbin/nologin  【无法登陆】
    pwunconv  会写回去
    
    unix中不提供pwunconv命令
    
    新添加用户的缺省配置:
        /etc/login.defs
        /etc/default/useradd
        
    登录信息:/etc/motd(登录成功才显示)        /etc/issue(是否登录成功都显示)
        
    手工添加用户
    1、/etc/passwd添加一行 :密码没有可以设置为空
    2、/etc/shadow  拷贝一行,密码如果没有可以设置为空
    3、添加宿主目录,注意把宿主目录的所有者给用户
    3、新用户信息文件   /etc/skel  用useradd命令添加的时候会自动拷贝到宿主目录下面
    
    当一个程序具有setuid的权限,用户执行这个程序的时候,将以这个程序的所有者的身份执行,linux命令大部分的所有者为root,
    
    也就说当用户执行一个具有setuid的命令的是时候会瞬间转换成管理员的身份,命令执行完毕后在转换成普通用户
    
    设置setuid权限:
    setuid=4 
    所有者
    
    chmod   u+s   /bin/touch
            4755  /bin/touch
               
    chmod   u-s   /bin/touch
            755    
            
    setgid=2
    chmod g+s /g-s
          2755
          
          6755 同时授予setuid + setgid
    
    #查找系统当前有setuid和setgid的文件
    find / -perm -4000 -o -perm -2000  
    
    0 表示不限制
    -o  or  或者的意思
    
    粘着位: 1 ls -ld /tmp/ 
    /tmp 目录默认具有黏着位的属性
    
    应用对于 目录是777的权限增加黏着位
        每个用户都可以创建文件,但只可以删除自己创建的文件,
        对于不是777的目录设置黏着位没有意义,对文件设置黏着位也没有意义
    
    chmod  o+7
           1777
    
    用户组配置文件:/etc/group  man 查看信息
    组名:组密码位:  作用:可以让不是这个组的成员切换到这个组,为了安全一般不用这个功能
    GID;
    组内用列表
    
    添加组:groupadd 组名
            groupadd -g 组id 组名
            
    
    useradd -D 查看添加用时的默认信息 即查看/etc/default/useradd文件
    
    -u 指定uid  必须是系统中不存在的
    -g 指定所属的组
    -G 指定用户所属的多个组
    -d 宿主目录
    -s 指定的shell
    -c 描述信息 当描述信息有空格的时候必须用户引号引起来
    -e 指定用户的实效时间
    
    useradd -u 888 -g webadmin -G sys,root -d /backup -s /bin/bash -c "描述" -e 2011-01-05 用户名
    
    改用户名:usermod -l new old
    改变用户所属于的组
    
    usermod -G 组名 用名  #改变所属组(一个用户可以属于多个组) 查看/etc/group
    usermod -g 组名 用名  #改变默认组  查看/etc/passwd
    
    gpasswd(所有的linux os) 设置组密码,及管理组成员
    
    #设置组密码同时管理组内的成员
    gpasswd -a 用户名 组名  --添加
    gpasswd -A 用户名 组名  #提升此用户为管理员
    gpasswd -d 用户名 组名  --删除
    gpasswd  组名 #给组设置一个密码
    gpasswd -r  组名  删除组密码
    gpasswd -R 禁止用户设置为该组
    /etc/gshadow  组密码配置文件
    grpconv  grpunconv 类似密码那个
    
    转化过去以后好多对组操作的功能就不可用了,必须在转化回来
    
    切换到组: newgrp 组名
    在用id查看现在属于哪个组
    
    groups [组名] #查看用户隶属于哪个组
    id:查看用户id和组信息
    finger:查看用详细信息
    
    
    groupadd 组名  #添加组
    groupdel 组名(不能删除是用户默认组的组) #删除组
    groupmod -n new_name old_name #更换组名
    
    pwck 检测/etc/passwd文件(锁定文件)  检测文件错误信息
    
    当用户出现异常的情况时可以用此命令  错误行会提示
    
    vim 打开文件时不会锁定文件  vipw(打开passwd文件时会锁定文件)
    
    tty:本地  pt/s 远程终端
    su - 会同时切换环境变量 echo $PATH
    
    
    passwd -d 用户名   删除此用户的密码
    passwd -S 用户名   检测此用户的密码
    
    usermod -L  用户名 #锁定一个用户 
    passwd -l 用户名 #锁定一个用户 
    
    passwd -S 用户名  查看密码状态
    原理:锁定后 密码前面会多两个!!   可以直接编辑配置文件(/etc/shadow)进行更改     删除组也可以直接修改配置文件
    
    usermod -U 用户名 #解锁一个用户密码
    passwd -u 用户名 #解锁一个用户密码
    
    
    登陆用户信息
    who(简单)
    w  (详细)
    
    groups 查看用户隶属于哪些用户组
    newgrp 切换用户组
    grpck  检测用户组配置文件
    chgrp  修改文件所属组
    vigr   编辑/etc/group 文件(锁定文件)
    
    删除用户 userdel -r 用户名
    
    ?其他有些文件是此用户创建的并不能删除
    
    find /home -user jack
    find /home -uid  uid
    
    find /home -group 组名
    find /home -gid   gid
    
    find ./ s.sam -ok rm {} ; 找到后确认删除?
    1、对需要保留的文件    进行移动和备份
    2、对不需要的文件进行删除
    3、清除用户文件中的相关项
    4、清除用户宿主目录
    
    #查看用户密码更直观  /etc/shadow
    chage -l root    查看用户密码设置  
    具体用法看 help 帮助
    
      authconfig 对应  /etc/sysconfig/authconfig 
     
     system-config-?
     
     批量添加用户
     1、newusers 导入用户信息
        newusers < user.info 文件格式就是密码文件的格式
    2、pwunconv
    3passwd.info  格式:  用户名:密码
            
            a00:123456
            a01:123456
            a02:123456
            a03:123456
    4、导入密码文件:chpasswd < pass.info    
    5、pwconv
    ————————————————————————————————————————————————————————
    只有指定的用户可以用su命令切换到管理员
    1、groupadd sugroup
    2、/bin/su (默认权限就有s位,) chomd 4550 /bin/su
    3、改变所属组  chgrp sugroup /bin/su
    4、加入到组中  usermod -G 组名 用户名
    
    在执行sudo命令时,临时成为root
    不会泄露root口令
    仅向用户提供有限的命令使用权限
    
    sudo 让普通用户以root身份执行命令
    
    /etc/sudoers 配置文件  用vi直接编辑不会生效
    /usr/bin/sudo
    /usr/sbin/visudo
    
    只有管理员+visudo才可以编辑配置文件
    
    命令都要用绝对路径(先用which查看)
    
    sudo配置文件格式: 用户名(组名) 主机地址=命令(绝对路径) 多个命令用逗号分割
    在sudo配置文件中给用户权限以后 要在命令前面+sudo /usr/sbin/useradd   
    
    注意普通用户命令的搜索路径: echo $PATH 
    
    linux 中缺省每个命令的所有者都是 root
    
    sudo -l
    在用户登录的情况下查看被授权的命令
    
    命令精确化 csdn2 helen=/sbin/shutdown -h now  限制命令的参数
    
    授予一个用户管理apache
    1、编辑配置文件
    2、使用apache脚本
    3、更新网页
    
    1、设置用户为文件的所有者  root不受任何限制,即使文件的所有者不是root
    2、改变所属组,授予组w权限
    3、visudo 
    ________________________________________________________________________________
    httpd start|restart|fullstatus|reload(重新读取配置文件,不会影响服务)  |configtest(检测语法错误)
    
    csdn localhost=/etc/rc.d/init.d/httpd start  
    _____________________________________________________________
    grep DocumentRoot /etc/httpd/conf/http.conf
    对目录有写权限就行
    /var/www/html 改变所有者
    
    ——————————————————————————————————————————————————————————————
    john the ripper 密码增强工具
    
    安装:make  linux-x86-see2
    
    如果不是标准的源代码包,肯定会有帮助文档,找下
    
    
     
  • 相关阅读:
    数据排序
    (一)Spark简介Java&Python版Spark
    醒 了
    祈福
    可以接受失败,但不选择放弃
    烦中偷乐
    Yahoo! UI Library入门
    文章内容的简单优化方法
    Asp.Net网站速度优化
    ASP.NET实现GZIP压缩优化
  • 原文地址:https://www.cnblogs.com/siqi/p/3602178.html
Copyright © 2011-2022 走看看