精华内容
下载资源
问答
  • linux用户权限管理

    2019-09-18 06:11:03
    1基本概念 Linux是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都...用户组便于更高效地管理用户权限。用户操作Linux需要经过三个步骤的权限认证:Authentication:认证Authorization:授权Audi...

    1基本概念

    Linux是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号, 然后以这个账号的身份进入系统。
    为了实现资源分派(系统管理员的权利)及出于安全的考虑,必须对用户进行不同权限的分配。用户组便于更高效地管理用户权限。
    用户操作Linux需要经过三个步骤的权限认证:
    Authentication:认证
    Authorization:授权
    Audition审计-->权限是否符合条例
    操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。用户组就相当于多个用户的容器,有的系统又叫角色(便于更高效地管理用户权限);在linux系统中,用户组也有一个ID,GID。

    1.1 linux操作系统用户

    在linux中,用户分为两大类:管理员用户和普通用户,其中普通用户有分为系统用户和登录用户;
    系统用户:为了能够让那些后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户从来不用登陆系统。
    登录用户:就是我们一般使用登录linux的用户。

                  用户标识:user id,UID 
                  通常使用16bits二进制数字表示(0-65535) 
                  管理员的用户标识:0 
                  普通用户:1-65535 
                  系统用户:1-499(Centos6)、1-999(Centos7) 
                  登录用户:500-60000(Centos6)、1000-60000(Centos7)

    linux通过名称解析库“/etc/passwd”文件解析用户名与用户ID之间的对应关系。

            `~]# head /etc/passwd | column -ts:` 列按冒号对其查看
    
            /etc/passwd:用户信息库 
            name:password:UID:GID:GECOS:directory:shell
    
                        name: 用户名
                        password:可以是加密的密码,也可是占位符x;
                        UID:
                        GID:用户所属的主组的ID号;
                        GECOS:注释信息
                        directory:用户的家目录;
                        shell:用户的默认shell,登录时默认shell程序;

    1.2 linux操作系统用户组

    在Linux中,用户组分类方式有三种:
    1、管理员组、普通用户组(系统用户组,登录用户组)
    2、用户的基本组、用户附加组
    3、私有组(组名同用户名,且只包含一个用户;)、公共组(组内包含了多个用户;)
    用户组标识:group id,GID
    通常使用16bits二进制数字表示(0-65535)
    管理员的用户组标识:0
    普通用户组:1-65535
    系统用户组:1-499(Centos6)、1-999(Centos7)
    登录用户组:500-60000(Centos6)、1000-60000(Centos7)
    linux通过名称解析库“/etc/group”文件解析用户名与用户ID之间的对应关系。
    /etc/group:组的信息库
    group_name:passwd:GID:user_list
    user_list:该组用户的成员;以此组为附加组的用户的用户列表

    1.3 linux操作系统密码

    用户在登录linux系统时,会对比password与之前保存在“/etc/shadow”、“/etc/gshadow”文件中的密码是否一致。
    密码的使用策略:
    1、使用随机密码;
    2、最短长度不要低于8位;
    3、应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类;
    4、定期更换;
    生成有效密码的命令:

    ~]#     </dev/urandom tr -dc 0-9-A-Z-a-z-/|head -c ${1:-8};echo
    ~]#     openssl rand -base64 32|tr A-Z a-z|cut -c 1-8
    ~]#     strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 8 | tr -d '\n'; echo
    ~]#     dd if=/dev/urandom bs=1 count=10 2>/dev/null | base64 -w 0 | rev | cut -b 2-9 | rev

    加密算法(军备资源):算法+密码+salt=秘钥(使用秘钥对原文加解密操作):
    对称加密:加密和解密使用同一个密码
    非对称加密:加密和解密使用的一对密钥
    密钥对:公钥(public key)、私钥(private key)
    单向加密:只能加密,不能解密;提取数据特征码;
    定长输出: 以16进制表示的输出
    雪崩效应:密码中某一个字符改变,那么整个加密后的密钥都会改变

    linux的密码加密方式使用单向加密算法,并且添加随机数(salt)计算得出的。

    [root@localhost ~]#  head -1 /etc/shadow
    root:$6$ZNcau0h/$O396hKI/4ZAkVs/YfM82ViyToupcAQ3FMm.iP.7g73BuWoK7VjTnPOtpKA1u/P.8Y/eI.pCgeaBKm8XlPNw5h/:18071:0:99999:7:::

    加密密码:使用$分隔,第一个段表示使用的加密算法,第二个段表示添加的salt。第三段表示加密后的密码.

    系统识别算法ID 算法名称
    1 md5:message digest,128bits
    2 sha:secure hash algorithm,160bits
    3 sha224
    4 sha256
    5 sha384
    6 sha512
    • /etc/shadow:用户密码 (man 5 shadow)
      用户名:加密的密码:最近一次修改密码的时间(从1970开始的天数):最短使用期限:最长使用期限:警告期段:密码禁用时间(非活动期限):账户过期期限:保留字段

    linux用户权限管理

    1.4Linux安全上下文:

    运行中的程序:进程 (process)
    以进程发起者的身份运行:
    进程所能够访问的所有资源的权限取决于进程的发起者的身份;

    2权限管理

    linux的文件管理权限分为读、写和执行

    ]# ll grub.cfg 
    -rw-rw-r--+ 1 root root 4253 Jun 24 11:44 grub.cfg
     共分为五个部分: 
            -rwxrwxrwx+:
            -:表示文件类型 
                左三位:定义user(owner)的权限
                中三位:定义group的权限;
                右三位:定义other的权限
                +:是否启用facl
        进程安全上下文:
            进程对文件的访问权限应用模型:
                进程的属主与文件的属主是否相同;如果相同,则应用属主权限;
                否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组权限;
                否则,就只能应用other的权限;
    
        权限:
            r:readable, 读
            w:writable, 写
            x:excutable,执行
    
        权限对文件的作用: 
                r:可获取文件的数据;
                w: 可修改文件的数据;
                x:可将此文件运行为进程;
    
            权限对目录的作用: 
                r:可使用ls命令获取其下的所有文件列表;
                w: 可修改此目录下的文件列表;即创建或删除文件;
                x: 可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息;
    
            mode:rwxrwxrwx
            ownership:user, group
    权限组合 二进制数 十进制数
    000 0
    –x 001 1
    -w- 010 2
    -wx 011 3
    r– 100 4
    r-x 101 5
    rw- 110 6
    rwx 111 7

    3、相关命令

    3.1用户管理命令

    useradd命令{非常重要****}:创建用户

    useradd [选项] 登录名
    -u, --uid UID:指定UID;
    -g, --gid GROUP:指定基本组ID或组名,此组得事先存在;
    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之间用逗号分隔;
    -c, --comment COMMENT:指明注释信息;
    -d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件;
    -s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
    -r, --system:创建系统用户;
    -m 创建家目录(没什么用)
    -M,--no-create-home 不创建家目录
    -f, --inactive 密码禁用时间

    注意:创建用户时的诸多默认设定配置文件为/etc/login.defs 操作系统厂家使用

    useradd -D:显示创建用户的默认配置;
    useradd -D 选项: 修改默认选项的值;useradd -D -s /bin/tcsh 修改shell

            修改的结果保存于/etc/default/useradd文件中;可用自己使用

    usermod命令:修改用户属性

    usermod [选项] 登录
    -u, --uid UID:修改用户的ID为此处指定的新UID;
    -g, --gid GROUP:修改用户所属的基本组;
    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;()
    -a, --append:与-G一同使用,用于为用户追加新的附加组;(
    )
    -c, --comment COMMENT:修改注释信息;
    -d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;
    -m, --move-home:
    -s, --shell SHELL:修改用户的默认shell;

            -L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";
            -U, --unlock:解锁用户的密码;

    userdel命令:删除用户

        userdel [选项] 登录
            -r:删除用户时一并删除其家目录;

    id命令:显示用户的真实和有效的UID和GID

    id [OPTION]… [USERNAME] 
    -u:仅显示有效的UID; 
    -g:仅显示用户的基本组的ID; 
    -G:仅显示用户所属的所有组的ID; 
    -n:显示名字而非ID;一般与g一起使用:-ng

    su命令:switch user

    登录式切换:会通过重新读取目标用户的配置文件来重新初始化 
    su - USERNAME 
    su -l USERNAME
      非登录式切换:不会读取目标用户的配置文件进行初始化 
         su USERNAME
     注意:管理员可无密码切换至其它任何用户;其它用户在切换用户时必须输入密码。
         -c “COMMAND”:仅以指定用户的身份运行此处指定的命令 
     例如:su - USERNAME -c “whoami”

    3.2 用户组管理命令

            groupadd命令:添加组 
                groupadd [选项] group_name 
                        -g GID:指定GID,默认是上一个组的GID+1 
                        -r:创建系统组;
    
    groupmod命令:修改组属性 
            groupmod [选项] GROUP 
                    -g GID:修改GID 
                    -n new_name:修改组名
    
    groupdel 命令:删除组 
            groupdel [选项] GROUP

    3.3 用户及用户组练习

    练习1:创建用户gentoo,UID为4001,基本组为gentoo,附加组为distro(GID为5000)和peguin(GID为5001);

            groupadd -g 5001 peguin
            groupadd -g 5000 distro
            useradd -u 4001 -G distro,peguin gentoo

    练习2:创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tcsh;

    useradd -c "Fedora Core" -s /bin/tcsh fedora

    练习3:修改gentoo用户的家目录为/var/tmp/gentoo;要求其原有文件仍能被用户访问;

        usermod -d /var/tmp/gentoo/ gentoo

    练习4:为gentoo新增附加组netadmin;

                groupadd netadmin
                usermod -aG netadmin gentoo

    3.4 密码管理命令

    passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]

    (1) passwd:修改用户自己的密码;
    (2) passwd USERNAME:修改指定用户的密码,但仅root有此权限;

            -l, -u:锁定和解锁用户;
            -d:清除用户密码串;
            -e DATE: 账户过期期限,日期;
            -i DAYS:密码非活动期限;
            -n DAYS:密码的最短使用期限;
            -x DAYS:密码的最长使用期限;
            -w DAYS:警告期限;
    
            --stdin【****批量修改密码】
                echo "PASSWORD" | passwd --stdin USERNAME
    
     gpasswd命令:设置组密码
                  组密码文件:/etc/gshadow
    
        gpasswd [选项] group
            -a USERNAME:向组中添加用户
            -d USERNAME:从组中移除用户
    
    newgrp命令:临时切换指定的组为基本组;退出登录后切换就失效了
    
        newgrp [-] [group]
            -: 会模拟用户重新登录以实现重新初始化其工作环境;
        newgrp a b      切换用户b的基本组为a,并登录,如果组a本来就不是用户b的附近组,此时可能要求输入组密码

    chage命令:更改用户密码过期信息

    chage [选项] 登录名

    -d --lastday set date of last password change to LAST_DAY 最近日期 将最近一次密码设置时间设为“最近日期”
    -E --expiredate set account expiration date to EXPIRE_DATE 过期日期 将帐户过期时间设为“过期日期”
    -W --warndays set expiration warning days to WARN_DAYS 警告天数 将过期警告天数设为“警告天数”
    -m --mindays set minimum number of days before password change to MIN_DAYS 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”
    -M --maxdays set maximim number of days before password change to MAX_DAYS 最大天数 将两次改变密码之间相距的最大天数设为“最大天数”
    -h, –help 显示此帮助信息并推出
    -I, –inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
    -l, –list 显示帐户年龄信息
    -R, –root CHROOT_DIR chroot 到的目录
    其他几个命令用户管理命令:
    chsh:修改shell
    chfn:修改用户基本信息
    finger:显示用户基本信息
    pwck:检查用户的密码是否有问题
    grpck:检查组文件的完整性
    whoami
    (pwconv、pwunconv、grpconv、grpunconv这四个基本不用)

    3.5 权限管理命令

        chmod命令:
                             chmod [OPTION]... MODE[,MODE]... FILE...
                             chmod [OPTION]... OCTAL-MODE FILE...
                             chmod [OPTION]... --reference=RFILE FILE...
    
               三类用户:
                    u:属主
                    g:属组
                    o:其它
                    a: 所有
    
               (1) chmod [OPTION]... MODE[,MODE]... FILE...
    
                    MODE表示法:
                        赋权表示法:直接操作一类用户的所有权限位rwx;
                            u=
                            g=
                            o=
                            a=
    
                        授权表示法:直接操作一类用户的一个权限位r,w,x;
                            u+, u-
                            g+, g-
                            o+, o-
                            a+, a-
    
                (2) chmod [OPTION]... OCTAL-MODE FILE...
                                使用8进制的数字进行授权
                (3) chmod [OPTION]... --reference=RFILE FILE...
    
                选项:
                    -R, --recursive:递归修改
    
                注意:用户仅能修改属主为自己的那些文件的权限;
    
        从属关系管理命令:chown, chgrp
    
            chown命令:
                chown [OPTION]... [OWNER][:[GROUP]] FILE...
                chown [OPTION]... --reference=RFILE FILE...
    
                选项:
                    -R:递归修改
    
            chgrp命令:
    
                chgrp [OPTION]... GROUP FILE...
                chgrp [OPTION]... --reference=RFILE FILE...
    
            注意:仅管理员可修改文件的属主和属组;
    
                思考1:用户对目录有写权限,但对目录下的文件没有写权限时,能否修改此文件内容?能否删除此文件?
                                不能修改文件内容,但可删除文件
                思考2:用户对目录有什么权限时,可以使用mv命令。
                                   执行权限
        umask:文件的权限反向掩码,遮罩码;
            文件:
                666-umask
            目录:
                777-umask

    注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其加1;
    umask: 023
    666-023=644
    777-023=754

            umask命令:
                umask:查看当前umask
                umask MASK: 设置umask
    
            注意:此类设定仅对当前shell进程有效;

    练习:完成以下任务
    1、新建系统组mariadb, 新建系统用户mariadb, 属于mariadb组,要求其没有家目录,且shell为/sbin/nologin;尝试root切换至用户,查看其命令提示符;

    useradd -rM -s /sbin/nologin mariadb

    2、新建GID为5000的组mageedu,新建用户gentoo,要求其家目录为/users/gentoo,密码同用户名;

                groupadd -g 5000 mageedu
                mkdir -p /users 
                useradd -d /users/gentoo gentoo
                echo gentoo | passwd --stdin gentoo

    3、新建用户fedora,其家目录为/users/fedora,密码同用户名;

                useradd -d /users/fedora fedora
                echo fedora | passwd --stdin fedora

    4、新建用户www, 其家目录为/users/www;删除www用户,但保留其家目录;

                useradd -d /users/www www
                userdel www

    5、为用户gentoo和fedora新增附加组mageedu;
    usermod -aG mageedu gentoo
    usermod -aG mageedu fedora
    6、复制目录/var/log至/tmp/目录,修改/tmp/log及其内部的所有文件的属组为 mageedu,并让属组对目录本身拥有写权限;

                    cp -rf /var/log /tmp
                    chown -R  :mageedu /tmp/log
                    chmod -R g+w /tmp/log

    install命令:

    install - copy files and set attributes
        单源复制:
            install [OPTION]... [-T] SOURCE DEST
        多源复制:
            install [OPTION]... SOURCE... DIRECTORY
            install [OPTION]... -t DIRECTORY SOURCE...
        创建目录:
            install [OPTION]... -d DIRECTORY...
    
        常用选项:
            -m, --mode=MODE:设定目标文件权限,默认为755;
            -o, --owner=OWNER:设定目标文件属主;
            -g, --group=GROUP:设定目标文件属组;
    展开全文
  • 【文件管理、管道、用户及组管理、用户权限管理】\用户及组管理用户与组管理Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的...

    【文件管理、管道、用户及组管理、用户及权限管理】\用户及组管理

    用户与组管理

    Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。实现用户账号的管理,要完成的工作主要有如下几个方面:

    1.用户账号的添加、删除与修改。

    2.用户口令的管理。

    3.用户组的管理。

    Linux用户分为两种,分别是管理员(UID:0)和普通用户(UID:1-65535),普通用户又分为系统用户与登录用户。

    注:一个程序可以访问哪些内容取决于这个程序的发行者是哪一个的。

    linux组可分为管理员组(GID:0)与普通用户组(1-60000)

    注:centos6版本与centos7版本的UID与GID略有不同。

    此外,用户组还可以划分为基本组(用户在创建时默认创建一个与其名字相同的基本组)与附加组(除了已有的基本组以外,还可以添加其他组,其他组就是此用户附加组)

    所以组名通用户名,且只包含一个用户就叫做私有组,而组内包含多个用户叫做公有组

    Linux用户和组相关的配置文件

    用户和用户组相关的信息都存放在/etc/passwd,/etc/shadow,/etc/group以及/etc/gshadow文件下。下面分别介绍这些文件的具体内容。

    1./etc/passwd

    此文件下保存了用户及其属性信息。其中每条信息从左到右被冒号分割成了7个部分,username(用户名):x(密码占位符,真正的密码自然不能放在这里了,太不安全了):UID(用户ID):GID(用户组ID):存放用户的注释信息:用户家目录:用户默认使用的shell。

    2./etc/shadow

    此文件保存了用户密码及其相关属性信息,其中每条信息从左到右被冒号分割成9个部分,用户名:密码(被加密过的,密码中有“!”或者“*”用户已被禁用):最近一次修改密码的日期,自linux元年开始的天数(1970年1月1日开始):密码最短使用时间:密码最长使用时间:密码告警时间(在密码过期前n天进行告警,需要修改密码了):不活动时间(超出警告时间后m天仍可登录):失效时间(到达此时间,用户无法使用):保留位暂不使用。

    3./etc/group

    此文件保存了用户组及其属性信息,每一行被冒号从左至右分割成了4个部分,组名(创建一个用户就会创建一个同名的组):x组密码占位符(与用户密码一样也是存放在其他位置):GID:以逗号分隔的用户列表,以此组为附加组的用户的用户列表。

    4./etc/gshadow

    此文件保存了组密码及其相关属性信息,每一行被冒号从左至右分割成了4个部分,组名(创建一个用户就会创建一个同名的组):密文密码(为空时只有该组成员可获得权限,“!”与“*”则不需要密码可直接加入):用户组管理员(是逗号分隔的用户列表,用户组管理员可以修改密码和组成员,也很组里其他成员拥有相同的权限):成员(以此组为附加组的用户的用户列表,应该要和/etc/group下的用户列表一样)

    用户与组相关管理常用命令

    一、用户创建:useradd

    使用方法:useradd [options] login

    常用选项:

    -u:--uid UID:指定UID,定义在/etc/login.defs

    -g:--gid GROUP:指明用户基本组,可为组名也可以是GID

    -G: GROUP1[,GROUP2,...[,GROUPN]]]:指定用户所属的附加组,组事先存在

    -c:--comment COMMENT:用户注释信息

    -d:/PATH/TO/ HOME_DIR:指定的路径为用户的家目录:通过复制/etc/skel此目录并重命名实现,指定的家目录路径如果事先存在,则不会为用户复制环境配置文件

    -s:--shell SHELL:指定用户的默认shell,可用列表存放在/etc/shells下

    -r:创建系统用户。

    注:默认值设定在/etc/default/useradd中。可用 useradd -D命令查看创建用户的默认配置

    二、创建组:groupadd

    使用方法:groupadd [option]...  group_name

    常用选项:

    -g GID:指明GID号

    -r:创建系统组

    三、查看用户相关ID信息:id

    使用方法:id [OPTION]... [USER]

    常用选项:

    -u: 仅显示有效的UID

    -g: 仅显示用户的基本组ID

    -G:仅显示用户所属的所有组的ID

    四、切换用户或以其他用户身份执行命令:su

    使用方法:su [options...] [-] [user [args...]]

    切换用户方式:

    非登录式切换,不会读取目的用户的配置文件进行初始化:su USERNAME

    登录式切换,会读取目的用户配置文件,完全切换:su - USERNAME或者su -l USERNAME

    换身份执行命令:

    su [-] username -c  'COMMADN'

    五、用户加密:passwd

    使用方法:passwd[options]username:修改指定用户密码,仅root用户有权限。

    常用选项:

    -l:锁定指定用户

    -u:解锁指定用户

    -n:mindays:指定最短使用期限

    -x:maxdays:最大使用期限

    -w:warndays:提前告警期限

    -i:inactivedays:非活动期限

    从标准输入接收用户密码:echo “password” | passwd --stdin username

    六、用户属性修改:usermod

    使用方法:usermod [options] LOGIN

    常用选项:

    -u,UID:修改用户的ID为新UID;

    -g, --gid GROUP:修改用户到新基本组;

    -G,  GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;若保留原有,则同时使用-a选项(append)

    -s,新的默认shell

    -c,  COMMENT:新的注释信息;

    -d,  HOME_DIR:新的用户家目录;用户原有的文件不会被转移至新家目录下;若要移动则使用-m选项。

    -l, login name:新的用户名;

    -L,lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";

    -U, --unlock:解锁用户的密码;

    七、删除用户:userdel

    使用方式:userdel [options] LOGIN

    常用选项-r:删除用户时一并删除其家目录,默认不删除

    八、组属性修改:groupmod

    使用方式:groupmod [options] GROUP

    常用选项:

    -g GID:新的GID

    -n group_name:新组名

    九、组删除:groupdel

    使用方式:groupdel GROUP

    十、组密码:gpasswd

    使用方式:gpasswd [option] group

    常用选项:

    -a USER:将user添加至指定组

    -d USER:删除用户以当前组命名的附加组

    -A USER1,USER2,...:设置有管理权限的用户列表

    十一、修改用户属性:chage

    使用方式:chage [options] LOGIN

    常用选项:

    -d:修改最后一次修改密码的时间

    -E:修改用户失效时间

    -I:修改密码过期怒限时间

    -W:修改告警天数

    -m:修改密码最小使用天数

    -M:修改密码最长使用天数

    通过文件的方式增加用户

    在linux中一切皆文件,那么我们操作文件就可以自己创建出一个用户来。当然实际操作时不会这样创建用户只是用来帮助理解。

    第一步,在/etc/passwd 中创建一个用户;

    rose:x:1003:1003:/home/rose:/bin/bash

    第二步,在/etc/shadow增加密码等信息;

    rose:!!:17321:0:99999:7:::

    第三步,在/etc/group 增加主组;

    rose:x:1003:

    第四步,在/etc/gshadow 设置组密码信息;

    rose:!::

    第五步,为用户设置邮箱;

    [root@localhost /]# touch /var/spool/mail/rose

    第六步,设置家目录,并为家目录中增加一些隐藏文件

    [root@localhost /]# mkdir /home/rose

    [root@localhost /]# cp -r /etc/skel/.[!.]* /home/rose/

    [root@localhost /]# id rose

    uid=1003(rose) gid=1003(rose) groups=1003(rose)

    c4e629c956a178f136b2cd25f7685ca1.png

    文件的权限

    文件权限针对的对象是:

    owner:属主,u

    group:属组,g

    other:其他,o

    对于文件而言:

    文件可读(r):可以查看其内容。

    文件可写(w):可修改文件内容。

    文件可执行(x):可以把文件提请内核启动为一个进程。

    对于目录而言:

    目录可读(r):可以使用ls查看目录中文件列表

    目录可写(w):可在此目录中创建或删除文件

    目录可执行(x):可以使用ls-l查看目录中文件,可以cd进目录。

    权限管理类命令

    一、修改文件权限(chmod)

    使用方法:

    1. chmod [OPTION]... MODE[,MODE]... FILE...

    可以直接将rwx直接赋值给相应的用户类型:u为属主,g为属组,o为其他用户,a为所有用户(同ugo=---)

    或者直接操作一类用户的一个权限位(u+x,o-r)

    2.chmod [OPTION]... OCTAL-MODE FILE...

    直接使用八进制来修改r=4,w=2,x=1.其中-R可递归修改权限。

    3.chmod [OPTION]... --reference=RFILE FILE..

    参考其他文件的权限

    查看文件权限

    [root@localhost/]# ll -lh /dj

    total 16K-rw-r--r-- 1 root root 51 Jun 14 10:36hello_world.py-rw-r--r-- 1 root root 92 Jun 15 10:00name_daxiaoxie.py-rw-r--r-- 1 root root 84 Jun 15 09:44name.py-rw-r--r-- 1 root root 359 Jul 23 02:48test.py

    修改权限

    [root@localhost/]# chmod 775 /dj/hello_world.py

    [root@localhost/]# ll -lh /dj

    total 16K-rwxrwxr-x 1 root root 51 Jun 14 10:36hello_world.py-rw-r--r-- 1 root root 92 Jun 15 10:00name_daxiaoxie.py-rw-r--r-- 1 root root 84 Jun 15 09:44name.py-rw-r--r-- 1 root root 359 Jul 23 02:48test.py

    使用第三种方式

    [root@localhost/]# chmod --reference=/dj/hello_world.py /dj/test.py

    [root@localhost/]# ll -lh /dj

    total 16K-rwxrwxr-x 1 root root 51 Jun 14 10:36hello_world.py-rw-r--r-- 1 root root 92 Jun 15 10:00name_daxiaoxie.py-rw-r--r-- 1 root root 84 Jun 15 09:44name.py-rwxrwxr-x 1 root root 359 Jul 23 02:48test.py

    [root@localhost/]#

    二、修改文件的属组属主(仅使用root用户)

    1.修改属主(chown)

    使用方式:chown[OPTION]...[OWNER][:[GROUP]]FILE...或使用--referrence

    chown owner|owner:group|:group file (其中:可用.替换,并且可以使用-R递归更换)

    2.修改属组(chgrp)

    chgrp[option]...group file或--referrence方式

    3.文件或目录创建时的遮罩码:umask

    file:666-umask(若某类用户权限减得结果中存在x权限则将其权限+1)

    dir:777-umask

    umask:查看当前值

    umask#:设定值

    展开全文
  • Linux下创建管理员权限用户,步骤如下:

    Linux下创建管理员权限用户,步骤如下:


    ## 给/etc/sudoers  文件赋予拥有者写的权限
    chmod u+w /etc/sudoers

    ## 进行编辑
    vim /etc/sudoers

    首行添加内容如下:
    zhangsan ALL=(root)NOPASSWD:ALL

    ## 收回/etc/sudoers文件的拥有者的写权限
    chmod u-w /etc/sudoers

    ## 切换用户,进行测试无密码sudo权限
    # su - zhangsan

    ## 不显示任何内容
    service iptables status 

    ## 显示内容
    sudo service iptables status 


    设置zhangsan用户无密码sudo权限成功


    展开全文
  • Linux用户权限管理

    2020-02-29 07:26:20
    用户管理 ...管理员用户 root 普通用户 系统用户/程序用户 用户相关的文件: /etc/passwd 用户信息 格式: 用户名:x:UID:GID:说明信息:SHELL UID: 1000 ---- 60000 0 --- 999 ...

    用户管理
    多用户多任务的操作系统

    用户类型
    管理员用户 root
    普通用户
    系统用户/程序用户

    用户相关的文件:

    /etc/passwd     用户信息
          格式:
    	          用户名:x:UID:GID:说明信息:SHELL
    			  
    			  UID:
    			        1000 ---- 60000
                        0 --- 999  系统用户
    
                  SHELLl:
    			            /bin/bash   默认
    						/sbin/nologin   系统用户    
    						
    						
    						
    /etc/shadow     用户密码信息	
    

    用户:
    基本组
    附加组 用户userA ------> 用户组userA; caiwu, shichang, jishu, yanfa

    1、创建用户:

    useradd [option] 用户名称

    [root@tan ~]# useradd user1
    [root@tan ~]# tail -n 1 /etc/passwd
    user1❌1000:1000::/home/user1:/bin/bash
    [root@tan ~]# tail -n 1 /etc/shadow
    user1:!!:18319:0:99999:7:::

    option选项:

    1. -u UID 指定用户的UID

    [root@tan ~]# useradd -u 2000 user2
    [root@tan ~]# id user2
    uid=2000(user2) gid=2000(user2) 组=2000(user2)

    1. 指定用户的基本组、附加组

      -g gid/组名称
      -G gid/组名称…

    [root@tan ~]# groupadd caiwu 创建组(groupadd)
    [root@tan ~]# useradd -g user1 -G caiwu user3
    [root@tan ~]# id user3
    uid=2001(user3) gid=1000(user1) 组=1000(user1),2001(caiwu)

    1. 指定用户shell名称

       -s    sheil名称
       -M
      

    [root@tan ~]# useradd -s /sbin/nologin -M apache

    1. 创建系统用户

       -r
      

    [root@tan ~]# useradd -r mysql

    5)指定用户的宿主目录

    [root@tan ~]# useradd -d /tmp/hadoop hadoop

    ============================================================

    2、切换用户:

    su - 用户名称

    [root@tan ~]# su - user1
    [user1@tan ~]$

    ============================================================

    3、查看用户ID信息:

    [root@tan ~]# id user1
    uid=1000(user1) gid=1000(user1) 组=1000(user1)

    [root@tan ~]# id user3
    uid=2001(user3) gid=1000(user1) 组=1000(user1),2001(caiwu)

    [root@tan ~]# id -u user3
    2001

    [root@tan ~]# id -g user3
    1000

    [root@tan ~]# id -G user3
    1000 2001

    [root@tan ~]# id -u -n user3
    user3

    [root@tan ~]# id -g -n user3
    user1

    [root@tan ~]# id -G -n user3
    user1 caiwu

    ============================================================

    4、设置用户密码:

    passwd [option] [用户名称]

    [root@tan ~]# passwd user1

    1. 查看用户密码状态 -S

    [root@tan ~]# passwd -S user1
    user1 PS 2020-02-27 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

    1. 锁定用户密码(不能登陆) -l

    [root@tan ~]# passwd -l user1
    锁定用户 user1 的密码 。
    passwd: 操作成功
    [root@tan ~]# passwd -S user1
    user1 LK 2020-02-27 0 99999 7 -1 (密码已被锁定。)

    3)解锁用户密码 -u

    [root@tan ~]# passwd -u user1
    解锁用户 user1 的密码。
    passwd: 操作成功
    [root@tan ~]# passwd -S user1
    user1 PS 2020-02-27 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

    4)强制用户密码过期 -e

    [root@tan ~]# passwd -e user1
    正在终止用户 user1 的密码。
    passwd: 操作成功

    =========================================================

    5、修改用户的信息:

    usermod [option] 用户名称

          -u  UID
    	  -g  组名称
    	  -G  组名称(附加组)
    	  -s  shell名称
    	  -aG   追加组名称
    

    把用户user3附加组caiwu换组,换到shichang;

    [root@tan ~]# id user3
    uid=2001(user3) gid=1000(user1) 组=1000(user1),2001(caiwu)
    [root@tan ~]#
    [root@tan ~]# groupadd shichang 创建shichang组
    [root@tan ~]# usermod -G shichang user3
    [root@tan ~]#
    [root@tan ~]# id user3
    uid=2001(user3) gid=1000(user1) 组=1000(user1),2004(shichang)

    把一个用户加入多个用户组里;

    [root@tan ~]# usermod -aG caiwu user3
    [root@tan ~]# id user3
    uid=2001(user3) gid=1000(user1) 组=1000(user1),2001(caiwu),2004(shichang)

    =============================================================

    6、删除用户

    userdel [option] 用户名称

    [root@tan ~]# userdel user1
    userdel: user user1 is currently used by process 10677

    [root@tan ~]# ls /home/
    student suer2 user1 user3
    [root@tan ~]# userdel -r suer2 >>>同时删除用户的宿主目录
    [root@tan ~]# ls /home/
    student user1 user3

    ===========================================================

    用户组管理

    1、创建用户:

    groupadd 用户组名称

    2、删除用户组

    groupdel 用户组名称

    [root@tan ~]# groupadd jishu 创建jishu组
    [root@tan ~]# useradd tom 创建用户tom
    [root@tan ~]# useradd mike 创建用户mike
    [root@tan ~]# useradd jerry 创建用户jerry

    [root@tan ~]# usermod -G jishu tom 将用户添加到jishu组
    [root@tan ~]# usermod -G jishu jerry 将用户添加到jishu组
    [root@tan ~]# usermod -G jishu mike 将用户添加到jishu组

    [root@tan ~]# grep “jishu” /etc/group 查看jishu组里有那些用户
    jishu❌2005:tom,jerry,mike

    [root@tan ~]# gpasswd -d tom jishu 将某个用户从一个组里删除
    正在将用户“tom”从“jishu”组中删除

    [root@tan ~]# grep “jishu” /etc/group 查看jishu组里有那些用户
    jishu❌2005:jerry,mike

    命令 --help 查看帮助

    [root@tan ~]# gpasswd --help [–help]查看帮助

    展开全文
  • Ubuntu 是一个多用户系统,我们可以给不同的使用者创建不同的用户账号,每个用户使用各自的账号登陆,使用用户账号的目的一是方便系统管理员管理,控制不同用户对系统的访问权限,另一方面是为用户提供安全性保护。...
  • 输入useradd新建一个用户[root@java-devenv ~]# useradd yaoqi[root@java-devenv ~]...然后修改该用户所属组,wheel组就是一个管理员组,加入wheel组,就相当于把用户赋予了管理员权限。[root@java-devenv ~]# sudo ...
  • linux普通用户获取管理员权限 原文:http://www.cnblogs.com/likwo/p/3435404.html 测试环境:CentOS 5.51、添加用户,首先用adduser命令添加一个普通用户,命令如下:#adduser tommy //添加一个名为tommy的...
  • 本节主要内容:python直接用linux管道输出,输出权限到info文件可以写成python filePermissions.py > info。然后,给info加执行权限即可。例1,python获得文件或文件夹权限 代码示例:#! /usr/bin/env python#-*- ...
  • Linux用户获得超级管理员权限

    千次阅读 2018-09-04 17:20:59
    在创建了新的虚拟机和用户后,用户可能还没有超级管理员的操作权限: [peng@localhost network-scripts]$ sudo su [sudo] password for peng: peng is not in the sudoers file. This incident will be reported....
  • Ubuntu 是一个多用户系统,我们可以给不同的使用者创建不同的用户账号,每个用户使用各自的账号登陆,使用用户账号的目的一是方便系统管理员管理,控制不同用户对系统的访问权限,另一方面是为用户提供安全性保护。...
  • 将普通用户monitor授予管理员功能,前提是/etc/sudoers文件存在 cd /etc/ ls vim sudoers 编辑文件内容如下 root ALL=(ALL) ALL 已存在 %sudoer ALL=(ALL) ALL 新添加的 groupadd sudoer 创建组 us...
  • 用惯windows的朋友都会觉得执行每一个操作都很简单,但装完linux的话可不是如此,可能你会以为你刚装完linux后用事先设置好的用户名和密码登录,你就是管理员的身份了,但其实你跟普通用户一样,执行什么操作都要...
  • 今天讲下linux中的用户权限管理。在linux中分为用户和组这两个概念。用户包括管理员和普通用户,其中普通用户分为:系统用户(一般不需要登录)和一般用户。首先我们先讲下几个概念,以便后面的学习:Q1:什么是系统...
  • Linux用户权限管理之 su和sudo 首先需要说明,su和sudo这两个命令产生的原因。根本原因在于Linux系统是一个多角色的系统,按默认角色来说,分为超级管理员,系统预设用户,普通服务所使用的用户和普通用户,ID的值...
  • Linux用户分为两种: 1.管理员用户管理员用户只有一个,UID=0,的就是管理员用户; 一般情况下,默认它的用户名root 家目录: /root root :x :0 :0 :root :/root :/bin/bash 用户名 密码 UID ...
  • 一、基础知识:1、3A认证:用户认证(authentication)、授权(authorization)、审计(audition)二、用户类别、标识、及名称解析库数据库1、用户类别:管理员、普通用户(普通用户又可分为:系统用户、登录用户)。2、用户...
  • Linux用户权限管理

    2021-04-13 13:27:32
    普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。 程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不...
  • Linux用户权限及管理相关介绍Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 用户的账号一方面可以帮助系统管理...
  • 1.1Linux命令-用户权限管理用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源...
  • 赋予普通用户特别权限(sudoers)sudoers简介:在linux系统中,管理员往往不止一人,若每位管理员都用root身份进行管理工作,根本无法弄清谁做了些什么操作,做什么。所以最佳的方式是:管理员创建一些普通用户,...
  • Linux用户权限管理

    2019-07-25 18:51:21
    Linux用户权限管理 系统:CentOS 7.4 用户管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 用户的账号一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,982
精华内容 1,592
关键字:

linux用户权限管理员权限

linux 订阅