Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78928
  • 博文数量: 41
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 434
  • 用 户 组: 普通用户
  • 注册时间: 2017-03-23 09:31
个人简介

天行健,君子以自强不息;地势坤,君子以厚德载物

文章分类
文章存档

2018年(11)

2017年(30)

我的朋友

分类: LINUX

2017-04-01 16:00:56

一、用户、组、权限
    用户:UID,/etc/passwd
    组:GID,/etc/group
    
二、影子口令:
    用户:/etc/shadow
    组:/etc/gshadow
    
三、用户类别:
    管理员:0
    普通用户:1-65535
        系统用户:1-499
        一般用户:500-60000
四、按照用户进行划分,用户组类别:
    管理员组:
    普通组:
        系统组:
        一般组:
五、按照访问机制划分,用户组类别:
    私有组:创建用户时,如果没有为其指定所属组,系统会自动为其创建一个与用户名同名的组
    基本组:用户的默认组
    附加组、额外组:默认组以外的其它组
    

六、权限:
    r、w、x
    相对于文件:
    r:可读,可以使用类似cat等命令查看文件内容
    w:可写,可以编辑或删除此文件
    x:可执行,eXacutable,可以命令提示符下当作命令提交给内核运行
    相对于目录:
    r:可以对此目录执行ls以列出内部的所有文件
    w:可以在此目录创建文件
    x:可以使用cd切换进入此目录,也可以使用ls -l查看内部文件的详细信息

七、/etc/passwd文件字段详解:
    account:登录名
    passwd:密码
    UID:用户ID
    GID:用户组ID
    GECOS:用户注释信息(可选项)
    directory:家目录
    shell:用户默认shell
    例:[root@localhost ~]# cat /etc/passwd
        root:x:0:0:root:/root:/bin/bash
    
八、/etc/shadow文件字段详解:
    login name:登录名
    encrypted passwd:加密的密码
    days since Jan 1, 1970 that password was last changed:从1970年1月1日距离最近一次修改所经历的时间
    days before password may be changed:密码最短使用期限
    days after which password must be changed:密码最长使用期限
    days before password is to expire that user is warned:距密码过期警告时间
    days after password expires that account is disabled:密码过期后宽限时间
    days since Jan 1, 1970 that account is disabled:禁用时间
    a reserved field:保留字段
    
    例:[root@localhost ~]# cat /etc/shadow
        root:$1$cMOCZydV$a2mUU3nj8N4fhTP5FCvtN1:17235:0:99999:7:::
九、/etc/group文件字段详解:
    文件格式: group_name:passwd:GID:user_list
    group:组名
    passwd:组密码
    GID:组ID
    user_list:所有组成员的用户名(用逗号分隔)
        例:[root@localhost ~]# cat /etc/group
            root:x:0:root
            bin:x:1:root,bin,daemon

十、用户管理命令:
    useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage
    1、useradd [options] USERNAME
    -u:指定UID
    例:[root@localhost ~]# useradd -u 1000 user1
        [root@localhost ~]# tail -1 /etc/passwd
        user1:x:1000:1000::/home/user1:/bin/bash
    -g:指定GID或基本组,只能一个
        例:[root@localhost ~]# useradd -g mygroup user2
            [root@localhost ~]# tail -1 /etc/passwd
            user2:x:4006:502::/home/user2:/bin/bash
    -G:GID,... 指定额外组(附加组),可以多少个
        例:[root@localhost ~]# tail /etc/group
            mygroup:x:502:user3
    -c:"COMMENT"注释用户信息
    -d:/path/to/directory,指定家目录
        例:[root@localhost ~]# useradd -c "Tom Blare" -d /home/blare user4
            [root@localhost ~]# tail -1 /etc/passwd
            user4:x:4008:4008:Tom Blare:/home/blare:/bin/bash
    -s:SHELL,指定shell路径
        例:[root@localhost ~]# useradd -s /sbin/nologin user5
            [root@localhost ~]# su - user5
            This account is currently not available.
    -m:未指定家目录的情况下,强制为用户创建家目录
    -k:将/etc/skel中环境变量拷贝到创建的家目录下,常与“-m”连用
    -M:不给用户创建家目录
        例:[root@localhost ~]# su - user7
            su: warning: cannot change directory to /home/user7: 没有那个文件或目录
            -bash-3.2$
    -r:添加一个系统用户
    
    2、userdel:
        userdel [options] USERNAME:删除用户默认是不删除用户家目录
        -r:同时删除用户的家目录
        
        
    3、id:    查看用户ID相关信息
        例:[root@localhost ~]# id user1
            uid=1000(user1) gid=1000(user1) groups=1000(user1) context=root:system_r:unconfined_t:SystemLow-SystemHigh
        -u:显示UID
            例:[root@localhost ~]# id -u user1
                1000
        -g:显示基本组GID
            例:[root@localhost ~]# id -g user1
                1000
        -G:显示附加组GID
            例:[root@localhost ~]# id -G user1
                1000
        -n:显示属主、属组及附加组名称
            例:[root@localhost ~]# id -u -n user1
                user1

    4、finger:查看用户账号属性相关信息
        finger NAME
        例:[root@localhost ~]# finger user1
            Login: user1                      Name: (null)
            Directory: /home/user1                  Shell: /bin/bash
            Never logged in.
            No mail.
            No Plan.
    5、修改用户账号属性:
        usermod:
            -u:修改用户UID
            例:
            -g:修改用户基本组GID(必须存在)
            -a -G:为用户追加附加组,不使用-a选项,会覆盖此前的附加组:
            -c:修改用户注释信息
            -d -m:修改用户家目录并将此前的家目录文件移动到修改的家目录中,不使用-m,家目录修改后原家目录文件无法访问
            -s:修改用户shell
            -l:修改用户登录名
            -e:定义用户的过期时间
            -L:锁定用户账号,即账号禁用
            -U:解锁用户账号
        chsh:修改用户shell
            用法:chsh NAME
        chfn:修改用户注释信息
    
    6、密码管理:
        passwd [USERNAME]
            --stdin:从标准输入读取密码
                例:[root@localhost ~]# echo "redhat" | passwd --stdin user3
                    Changing password for user user3.
                    passwd: all authentication tokens updated successfully.
            -l:锁定用户账号
            -u:解锁用户账号
            -d:删除用户密码
                例:[root@localhost ~]# passwd -d user3
                    Removing password for user user3.
                    passwd: Success
            -n:设置密码最短使用时间
            -x:设置密码最长使用时间
    7、pwck:检查用户账号完整性
    
    8、组管理:
        groupadd:
            -g:指定GID
            -r:添加一个系统组
    
        groupmod:修改组属性
            -g:修改GID
            -n:修改GRPNAME(组名)
        
        groupdel:删除组
        
        gpasswd:为组设定密码
    
        newgrp:切换到新组
            newgrp GRPNAME
        chage:改变密码过期时间
            -d:最近一次的修改时间
            -E:过期时间
            -I:非活动时间
            -m:最短使用期限
            -M:最长使用期限
            -W:警告时间
    
十一、系统中的环境变量:
    PATH
    HISTSIZE
    SHELL
    查看自己当前shell:
    查看系统中支持的SHELL种类:[root@localhost ~]# echo $SHELL
                                /bin/bash

        例:[root@localhost ~]# cat /etc/shells
            /bin/sh
            /bin/bash
            /sbin/nologin
            /bin/tcsh
            /bin/csh
            /bin/ksh
课后练习:
1、创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003),附件组为linux;
[root@Ourlab ~]# groupadd -g 3003 distro
[root@Ourlab ~]# groupadd linux
[root@Ourlab ~]# useradd -u 2002 -g distro -G linux mandriva
2、创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh;
[root@Ourlab ~]# useradd -c "Fedora Community" -s /bin/tcsh fedora
3、修改mandriva的ID号为4004,基本组为linux,附加组为distro和fedora;
[root@Ourlab ~]# usermod -u 4004 -g linux -G distro,fedora mandriva
4、给fedora加密码,并设定其密码最短使用期限为2天,最长为50天;
[root@Ourlab ~]# passwd fedora
[root@Ourlab ~]# passwd -n 2 -x 50 fedora
5、将mandriva的默认shell改为/bin/bash;
[root@Ourlab ~]# usermod -s /bin/bash mandriva
6、添加系统用户hbase,且不允许其登录系统;
[root@Ourlab ~]# useradd -r -s /sbin/nologin hbase
阅读(1125) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~