linux用户及权限

来源:互联网 发布:怎样举报app软件 编辑:程序博客网 时间:2024/06/05 07:38

                       Linux 用户及权限管理

用户管理

     创建用户、修改用户属性、删除用户、创建组、修改组属性、删除组

用户 : 计算机中识别一个个体的一个专用标识--通常指用户名。

用户登录系统分为--3A:

          认证:Authentication:

          授权:Authorization:

          审计:Audition:

 用户类别:

     管理员、普通用户。

         管理员: 是root用户,可以对系统进行一切操作;

         普通用户:分为系统用户、登录用户。

              系统用户:是为了能让那些后台进程或服务进程以非管理员的身份运行,通常需要创建多个普通用户:

              登录用户:需要操作计算机的交互式登录的用户》

  用户标识:UserID--简称UID解析库:/etc/passwd    16bits二进制数字:0-65535之间

            管理员的标识:0

            普通用户:1.65635

                系统用户:1-499(centos6),1-999(Centos7)

                登录用户:500-60000(Centos6),100-60000(Centos7)

   组的类别:

       管理员组、普通用户组。

                 普通用户组:

                       系统用户组、登录用户组。

       基本组、附加组。

       私有组:组名同用户名,且只包含一个用户;

       公共组:组内包含了多个用户;

  

   组标识GroupID,简称GID  解析库:/etc/group

       管理员组的GID 0

        普通用户组:1-65635

                系统用户组:1-499(CentOS6), 1-999(CentOS7)

                登录用户组:500-60000(CentOS6), 1000-60000(CentOS7)

 

 

用户认证:

     用户登录计算机时,计算机通过对比事先存储的数据与登录时提供的信息是否一致

密码的使用策略:

 1、使用随机密码;

 2、最短长度不要低于8位;

 3、应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类;

 4、定期更换;

加密算法:

 对称加密:加密和解密使用同一个密码;

 非对称加密:加密和解密使用的一对儿密钥;

         密钥对儿:

              公钥:public key

              私钥: private key

 单向加密:只能加密,不能解密;提取数据特征码;

           算法:

               md5: message digest, 128bits

               shasecure hash algorithm, 160bits

         sha224

         sha256

         sha384

         sha512

        在计算之时加salt,添加的随机数;

        /etc/passwd:用户的信息库

         name:  password:UID:GID:GECOS:directory:shell

            name:用户名       

            password:可以是加密的密码,也可是占位符x

            UID

            GID:用户所属的主组的ID号;

            GECOS:注释信息

            directory:用户的家目录;

            shell:用户的默认shell,登录时默认shell程序;

用户密码:/etc/shadow

    用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:过期期限:保留字段

     

 

 

Linux用户和组管理

      创建用户 : 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:创建系统用户;

 

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

 

useradd -D:显示创建用户的默认配置;

useradd -D 选项修改默认选项的值;修改的结果保存于/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:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;

        -l, --login NEW_LOGIN:修改用户名;

        -s, --shell SHELL:修改用户的默认shell

 

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

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

 

userdel命令:删除用户

 

userdel [选项登录

       -r:删除用户时一并删除其家目录

组管理命令:

  groupadd命令:添加组

 

  groupadd [选项] group_name

 

         -g GID:指定GID;默认是上一个组的GID+1

         -r: 创建系统组;

 

groupmod命令:修改组属性

 

groupmod [选项] GROUP

       -g GID:修改GID

       -n new_name:修改组名;

 

groupdel命令:删除组

 

groupdel [选项] GROUP

 

权限管理及命令:

        passwd命令:

 

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]

 

-: 会模拟用户重新登录以实现重新初始化其工作环境;

 

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

 

chage [选项登录名

 

      -d 修改最近一次修改密码

      -E 修改密码过期时间

      -W 非活动期限

      -m 讲过期限

      -M 最短使用期限

权限管理:

 

ls -l 

rwxrwxrwx:

左三位:定义user(owner)的权限

中三位:定义group的权限;

右三位:定义other的权限

 

进程安全上下文:

进程对文件的访问权限应用模型:

进程的属主与文件的属主是否相同;java培训如果相同,则应用属主权限;

否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组权限;

否则,就只能应用other的权限;

权限:

rreadable, 

wwritable, 

xexcutable,执行

 

文件:

r:可获取文件的数据;

w: 可修改文件的数据;

x:可将此文件运行为进程;

目录:

r:可使用ls命令获取其下的所有文件列表;

w: 可修改此目录下的文件列表;即创建或删除文件;

x: cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息;

 

权限组合机制:

---  000 0

--x  001 1

-w-  010 2

-wx  011 3

r--   100 4

r-x   101 5

rw-  110 6

rwx  111 7

权限管理命令:

chmod命令:

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

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

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

 

       三类用户:

       u:属主

       g:属组

       o:其它

       a: 所有

       (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...

                chmod  660 fstab

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

                          chmod--reference=/var/log/messages fstab

选项:

   -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...

 

       注意:仅管理员可修改文件的属主和属组;

Umask作用及管理:

     Umask的作用:文件的权限反向掩码,遮罩码;

    文件:

       666-umask (因为文件默认不应该拥有执行权限)

     目录:

       777-umask(目录默认应该拥有执行权限)

 

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

       umask: 023

       666-023=644

       777-023=754

Umask的管理命令:

       umask:查看当前umask

       umask MASK: 设置umask

 

    注意:此类设定仅对当前shell进程有效;

0 0