Linux用户及其权限管理命令

时间:2022-02-26 18:29:56

/etc/passwd

  用户名:密码:UID:GID:注释:家目录:默认shell

/etc/group

  组名:密码:GID:以此组为其附加组的用户列表

/etc/shadow

 用户名:密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间:


用户管理

    useradduserdelusermodpasswdchshchfnfingeridchagepwck


用户基本信息管理:

    # useradd [options] USERNAME    (增加用户)

        -u UID:指定其UID值,大于等于1000,UID值唯一

        -g GID:指定其基本组,该组必须存在

        -G GID...:指定其附加组,如有多个,彼此之间使用逗号隔开

        -c "COMMENT":指定注释信息

        -d /path/to/somewhere:指定家目录(默认在/home目录下创建一个跟用户名同名的目录作为其家目录)

        -s SHELL:指定shell路径,指定时使用绝对路径↓(某一用户的默认shell)

            /etc/shells:指定了当前系统可用的安全shell

        -m -k:-m强制为用户创建家目录,-k在创建新用户时为其复制所必要的配置文件→/etc/skel

        -M:不为用户创建家目录

        -e:账号有效截止日期

        -r:添加系统用户(ID值小于1000)


    # userdel [option] USERNAME    (删除用户,默认不会删除其家目录)

        -r:删除时同时删除用户的家目录与其相关文件

        -f:强制删除用户家目录与其相关文件


    # id [options] [USERNAME]    (查看用户的账号属性信息)

        -u/-g/-G:显示指定属主/组/所有组的ID值

        -n:显示指定的ID值所代表的名称


 修改用户账号属性:

    # usermod [options] USERNAME

        -u UID:修改原UID值

        -g GID:修改所属的基本组值

        -a -G GID:为用户在原有指定组的情况下追加新的附加组,不使用-a选项,会覆盖此前的附加组

        -c "information":增加注释信息

        -d -m:为用户指定新的家目录,-m代表将此前的文件移至新的家目录中去

        -s:修改用户shell

        -l:修改用户名

        -L:锁定账号,禁止该用户登录系统

        -U:解锁账号,允许该用户登录系统

        -e:指定用户的过期时间,格式“YYYY-MM-DD”

        -f:指定非活动时间


    # chsh USERNAME    (修改用户的默认shell)

 

    # chfn USERNAME    (修改注释信息)


密码管理:

    # passwd [USERNAME]    (修改用户密码)

        --stdin:允许从标准输入修改用户密码

        -l:锁定用户禁止其登录

        -u:解锁用户允许其登录

        -d:删除用户密码

    # chage [OPTION] NAME

        -d:最近一次的修改时间

        -E:过期时间

        -m:最短使用期限

        -M:最长使用期限

        -W:警告时间


# pwck    (检查用户账号完整性)


组管理

    groupaddgroupdelgroupmodgpasswd


创建/删除组:

    # groupadd [OPTION] GRPNAME

        -g GID:指定组ID

        -r:添加为系统组(ID小于1000)

    # groupdel GRPNAME

        

修改组属性:

    # groupmod [option] GRPNAME

        -g GID:修改组ID

        -n GRPNAME:修改组名


给组加密码:

    # gpasswd GRPNAME


登录到一个新组:

    # newgrp GRPNAME <--> exit


权限管理

    chownchgrpchmodumask


权限MODE:r,w,x

用户类别:u属主,g属组,o其他用户。a代表所有用户


改变文件属主:chown(change owner)

    # chown [OPTION] USERNAME file,...    (把指定文件的属主改为USERNAME)

        -R:修改目录及其内部文件的属主

        --reference=/path/to/somefile file,...    把指定文件的属性内容改为与前边路径指定文件相同的属性,属性同时包括属主和属组)

    # chown [OPTION] [USERNAME]:[GRPNAME] file,...    (支持同时修改属主和属组)


改变文件属组:chgrp(change group)

    # chgrp [OPTION] GRPNAME file,...    (把指定文件的属组改为GRPNAME)

       -R:递归修改目录属组

        --reference=/path/to/somefile file,...    (同上)


改变文件权限:chmod(change mode)

    修改三类用户的权限:

        # chmod MODE file,...    (同样支持-R和--reference)

    修改某类用户或某些类用户权限:

        # chmod 用户类别=MODE,... file,...

    修改某类用户的某位或某些位权限:

        # chmod 用户类别+/-MODE,... file,...


遮罩码:umask

    创建文件:666-umask(文件默认不能有执行权限,如果有,则将其权限加1)

    创建目录:777-umask

    # umask    (显示当前用户的umask)

    # umask 022    (设定某用户的umask)


特殊权限

    SUID:运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者

        # chmod u+/-s FILE

            如果FILE本身就有执行权限,则SUID显示为s,否则显示S

    SGID:运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者所属的基本组

        # chmod g+/-s FILE

    SBIT:只可管理自己的数据而不能删除他人的文件(仅对目录有效

        # chmod o+/-t DIR


SUID SGID SBIT:000-111

    # chmod 4755 FILE    (4-100代表设置SUID权限)