详解Linux用户及权限管理

用户标识(userID):范围是0~65535

管理员:0
普通用户:1~65535
    系统用户:1~499(CentOS 6)、1~999(CentOS 7)
    登录用户:500~60000(CentOS 6)、1000~60000(CentOS 7)

人能够快速识别字符,而电脑能够快速识别数字(用户标识),然而系统存在一个名称解析库/etc/passwd。能快速从username转换成userID

登录系统时,需要输入账号和密码。与事先存储的信息做比较。需要在/etc/passwd查找到userID,再去/etc/shadow比对密码。

密码的使用策略:
        使用随机密码
        最短长度不要低于8位
        应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类
        定期更换

详解/etc/passwd每个冒号之间的含义

name:passwork:UID:GID:GECOS:directory:shell
    name:用户名
    password:可以是加密密码,也可是占位符(x)
    UID:用户ID
    GID:组ID
    GECOS:注释信息
    directory:家目录
    shell:用户的默认shell,登录时默认shell程序

详解/etc/shadow每个冒号之间的含义

sp_namp:sp_pwdp:sp_lstchg:sp_min:sp_max:sp_warn:sp_inact:sp_expire:sp_flag
    sp_namp:用户名
    sp_pwdp:加密的密码
    sp_lstchg最后一次修改密码的时间(从1970-1-1开始到此时此刻的时间)
    sp_min:最短使用期限
    sp_max:最长使用期限
    sp_warn:警告期限
    sp_inact:过期期限
    sp_expire:禁用期限
    sp_flat:保留字段

讲解useradd命令选项
useradd - create a new user or update default new user information

        命令使用格式:useradd [options] LOGIN
                -u, --uid UID:指定UID
                -g, --gid GROUP:指定基本组ID,此组得事先存在
                -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个之间用逗号分隔
                -c, --comment COMMENT:指明注释选项
                -d, --home-dir HOME_DIR:以指定的路径为用户的家目录,通过复制/etc/skel此目录并重命名实现
                -s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shalls文件中
                -r, --system:创建系统用户

为什么默认创建一个用户都会有一个家目录,shell用的是/bin/bash等?又有何修改默认选项呢?

是创建用户默认配置,useradd –D显示创建用户的默认配置。想修改默认配置的话,可以useradd –D 选项=___  即可。修改的结果保存于/etc/default/useradd文件中。
**注意:shell修改是必须要在/etc/shells文件中出现的shell才可以正常运行**

**注:想看更多用户配置的话,查看/etc/login.defs**

讲解usermod命令常用选项
usermod - modify a user account

命令使用格式:userdel [options] LOGIN
    -u, --uid UID:修改用户的ID为此处指定的新UID
    -g, --gid GROUP:修改用户所属的基本组
    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组,原来附加则被覆盖
    -a, --append:与-G一同使用,用于为用户追加新的附加组
    -c, --comment COMMENT:指明注释选项
    -d, --home-dir HOME_DIR:修改用户的家目录,用户原有的文件不会被转移
    -m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新目录
    -l, --login NEW_LOGIN:修改用户名
    -s, --shell SHELL:修改用户的默认shell
    -L, --lock:锁定用户密码,即在用户原来的密码字符串之前添加一个“!”
    -U, --unlock:解锁用户的密码

讲解userdel命令常用选项
userdel - delete a user account and related files

命令使用格式:userdel [options] LOGIN
    -r:删除用户时,一并删除家目录

讲解passwd命令常用选项
passwd - update user's authentication tokens

命令使用格式:
    passwd [options] [username]
        (1)passwd:修改用户自己的密码
        (2)passwd username:修改指定用户密码
                -l,-u:锁定和解锁用户
                -d:清除用户密码串
                -e DAYS:过期期限
                -i DAYS:非活动期限
                -n DAYS:密码的最短使用期限
                -x DAYS:密码的最长使用期限
                -w DAYS:警告期限

权限管理:
ls –l左边能看见这样的一串rwxrwxrwx:

r:read,读
w:write,写
x:excute,执行
        左三位:定义user的权限
        中三位:定义group的权限
        右三位:定义other的权限

讲解chmod命令常用选项
chmod - change file mode bits

命令使用格式:
    chmod [OPTION]... MODE[,MODE]... FILE...
    chmod [OPTION]... OCTAL-MODE FILE...
    chmod [OPTION]... --reference=RFILE FILE..

    (1)chmod [OPTION]... MODE[,MODE]... FILE..
            mode表示法:
                    赋权表示法:直接操作一类用户u=,g=,o=,a=
                    授权表示法:直接操作一类用户的一个权限位u,g,o,a

    (2)chmod [OPTION]... OCTAL-MODE FILE…
            chmod [num,num,num] file

    (3)chmod [OPTION]... --reference=RFILE FILE..(参考rfile文件)
            chmod –reference=/PATH/TO/FILE  filename

        -R, --recursive:递归修改
    **注意:用户仅能修改属主为自己的那些文件的权限**

讲解chown命令选项
chown - change file owner and group

命令使用格式
        chown [OPTION]... [OWNER][:[GROUP]] FILE...
        chown [OPTION]... --reference=RFILE FILE...
            -R, --recursive:递归修改

讲解chgrp命令常用选项
chgrp - change group ownership

命令使用格式
        chgrp [OPTION]... GROUP FILE...
        chgrp [OPTION]... --reference=RFILE FILE...
            -R, --recursive:递归修改
    **注意:仅管理员可修改文件的属主和属组**

猜你喜欢

转载自blog.51cto.com/14192118/2410730