热门搜索 :
考研考公
您的当前位置:首页正文

四个文件和相关命令

来源:东饰资讯网
四个配置文件
passwd
useradd
usermod
userdel
groupmems
gpasswd
groupadd
groupmod
groupdel
user
    token身份
    username/uid
    root,0
    普通用户
        系统用户 1-499,1-1000
        登录用户 500+,1000+
group
groupname/gid
root,0
普通组
    系统组 1-499,1-999
    普通组 500+,1000+
进程能够访问资源的权限取决于进程的运行者的身份
用户必须属于一个且只有一个主组,组名同用户名,且仅包含一个用户:私有组
一个用户属于0个或多个辅助组
配置文件
/etc/passwd 用户及其属性信息
    pwuncon                 x变为加密口令
    pwcon                   加密口令变为x
    
    将普通用户变为管理员
        vim /etc/passwd  将uid变为0即可
        passwd 用户名  更改密码
        uid可以一样,两个用户
        
    将root 0——>非0,尝试登录,修复方法
        单用户操作
        a(centos6.9)  e(centos7.3)
        Linux16这一行:init=/bin/bash  init=/bin/bash Ctrl+x 
        mount -o remount,rw /
        vim /etc/passwd  uid更改为0
        sync存盘
        
    chfn 用户名  修改用户描述信息
        rpm -i /misc/cd/Packages/finger-o...
        finger 用户名  查看该用户的描述信息
    
    更改家目录,用户不能登录,登录时,不能更改家目录
        vim /etc/passwd 
        usermod -d /app/feng feng
        
    指定新的shell类型
        echo $SHELL             查看shell类型
        vim /etc/shells
        chsh 用户名            指定shell类型
        chsh -s /bin/csh feng 
        getent passwd feng      不加用户名,看所有人的信息
        /bin/bash               直接更改
        
    nologin 不能登录,只能远程服务访问
        /sbin/nologin /usr/sbin/nologin  centos6不一样,centos7一样
/etc/shadow 用户密码及其相关属性
    getent shadow
    pwuncov执行后,/etc/shadow打不开

    哈希算法(加密算法)
        数据一样(不同),加密结果一样(不同)
        $哈希算法$salt$
            1——md5——128bit——$1$...$
            6——sha512——512bit——$6$...$
        salt
            随机数 salt不一样,数据一样,结果不一样
            salt一样,数据一样,结果一样 
        锁定
            禁止用户登录
            :!:     空口令不能登录
            ::      空口令可以登录
            解锁
                usermod -U 用户名  解锁
                vim /etc/shadow  去掉!即可
                usermod -L 用户名  锁定              

        练习  
            useradd 用户名
            echo 密码|passwd --stdin 用户 
            getent shadow or getent 用户 
            openssl passwd -1 -salt "..."  指定算法、指定salt
            更改加密算法
                authconfig --passalgo=sha256(算法) --update
                    or vim /etc/login.defs  
                            文件最下方 ENCRYPT METHOD 256
                            影响新建用户的口令策略、ID号......
                    authconfig --help|grep pass 
                passwd 用户  输入新密码
                getent shadow 用户 

    用户家目录
        cat /etc/default/useradd ——> /etc/skel/*
            参考此文件创建家目录
            使新用户拥有其他功能 ——> 把功能文件加入此文件夹即可 ——> 旧用户保持原样
        vim /etc/default/useradd
            更改用户的默认设置:shell类型、家目录配置文件、邮箱......
            组编号100

    chage --help 
        更改用户的口令策略
        chage -d 0 用户名                          下次登录强制重新设置密码,gshadow内容为0
        passwd -e 用户名
                
    passwd
        passwd 用户名                          修改用户的口令
        passwd                                  修改自己的口令
        passwd -l 用户名                       锁定用户,/etc/shadow密码栏增加2个!
        passwd -U 用户名                       解锁
        passwd -e 用户名                       强制用户下次登录,修改口令
        passwd --stdin 用户名                  从标准输入接收用户口令
        echo "centos" |passwd --stdin 用户名
        echo 用户名:密码 |chpasswd               一次改一个   
        
        批量修改用户口令 chpasswd
            vim passwd.txt
                    用户1:口令
                    ......
                    用户n:口令
            cat passwd.txt |chpasswd
            用此法修改之后,用户可以登录,但是家目录里无内容(用户必须是已经存在的)
            拷贝家目录
                cd /home/用户名
                cp -a /etc/skel/.[^.]* . 
            权限问题
                root
                    cp -a 自己的/etc/skel给普通用户,属性是root
                普通用户
                    cp -a 别人的/etc/skel给自己,属性是自己
            
        旧服务器硬件不行了,软件系统还用,如应用账号,需要导出到新的服务器上
            newusers passwd格式文件 批量创建用户
                旧服务器 ——> 复制账号/etc/passwd
                新服务器 ——> vim user.txt ——> 粘贴 ——> cat user.txt
                newusers user.txt 
                对比 /etc/passwd  检查是否一样

    useradd
        useradd -u id 用户                        指定用户ID
        useradd -u id -o 用户                     指定已被占用的ID
            生产中,uid相同——>二者权限相同
        useradd -N 用户名                      users做主组,私有组不做主组
            id 用户名          
        useradd -g 组名 用户名                   设置新用户的主组
        useradd -g 组名 -G 多辅助组名 用户名  设置新用户的主组和辅助组
        useradd -c 描述信息 用户名             用户注释信息
        useradd -d /path/to/file(不存在) 用户    指定用户家目录为该路径
        useradd -s shell类型 用户               指定用户默认的shell程序
        useradd -r 用户                       创建系统用户 centos6-id<500;centos7-id<1000
            useradd -s /sbin/nologin -r -d /app/apache 用户(apache或nignx)     非交互式登录、/home/ngix、
        useradd -M 用户名                      不创建家目录,不影响登录
        useradd -D                              显示默认设置
            useradd -D -s shell类型 
            useradd -D -b /path/to/file
            useradd -D -g 组名 
            
    usermod
        usermod -u uid 用户名          指定用户新的ID
        usermod -g gid 用户名          指定用户新的主组
        usermod -Ga 多个组 用户名     给用户添加辅助组,去掉a——>添加的组会覆盖原来的组
        usermod -s shell类型 用户名      新的shell类型
        usermod -c 描述 用户名           新的注释信息
        usermod -dm 路径 用户名          新家目录路径,去掉m——>家目录不会自动创建并移动原来的家目录数据
        usermod -l 新名 旧名            新名字(用户名变,家目录不变,其他不变)
        usermod -L 用户名              锁定用户,/etc/shadow密码栏增加一个!
        usermod -U 用户名              解锁用户,/etc/shadow密码栏去掉一个!
            
    userdel
        userdel 用户名                 不删除家目录
        userdel -r 用户名              删除家目录
/etc/group 组及其属性
/etc/gshadow 组密码及其属性
                
        groupmems
            groupmems -g 组名 -a 用户名  把用户加进组里
                更改组成员关系后,用户需重新登录,才可获取最新“组成员关系”
            groupmems -g 组名 -d 用户名      从组中删除用户
            groupmems -g 组名 -p 用户名      从组中清除所有成员
            groupmems -g 组名 -l 用户名      显示组成员列表
            
        groups 用户                       查看用户所属组列表   
        newgrp 变更组                      主组是变更组
            用户不在变更组里,需要变更组口令;若在,则不需要
            
        gpasswd
            gpasswd 组名                  设置组口令
            gpasswd -a 用户名 组名           把用户加进组里
            gpasswd -d 用户名 组名       从组里删除用户
            gpasswd -A 多用户 组名           把多个用户设为组管理员
            gpasswd -M 多用户 组名           把多个用户设为组成员
            
        vipw = vim /etc/passwd
        pwck    语法检查/etc/passwd
        grpck   语法检查/etc/group
        vigr = vim /etc/group
        
        groupadd 创建组
            groupadd -g GID 组名          指明组的GID
            groupadd -r 组名              创建系统组(6~id<500,7~id<100)
        groupmod 组属性修改
            groupadd -n 新组名 原组名     新的组名
            groupadd -g GID 组名          新的GID   
        groupdel 删除组
            groupdel 组名                     删除组

Top