您的位置:首页 > 运维架构 > Linux

Linux学习之六(Linux用户、权限、用户管理命令)

2017-05-09 15:46 579 查看
一、用户、组、权限

    用户: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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux