linux中用户、组和权限认识

linux中用户、组和权限认识

Linux 用户和组的主要配置文件:/etc/passwd :用户及其属性信息( 名称、UID 、主组ID 等)
                                            /etc/group :组及其属性信息
                                            /etc/shadow :用户密码及其相关属性
                                            /etc/gshadow

其中passw中文件格式:username:passwd(x):UID:GID:注释信息:家目录:shell

shadow文件格式:username:passwd:最近修改密码时间:密码最短使用期限:密码最长使用期限:提醒时间:到期后几天锁定:失效时间

group文件格式:groupname:passwd(x):GIP:附加组

gshadow文件格式:groupname:passwd:组管理员列表:附加组

常见的密码加密算法有:MD5  sha512等     目前常用sha512

密码的复杂性策略:使用数字、大写字母、小写字母及特殊字符中至少3种

                           足够长,使用随机密码,定期更换

    检查密码和组密码:pwck     grpck       尽量习惯使用命令更改配置,手动更改容易出错,浪费时间,还不如多记几个命令

useradd          -o :  不检查id的唯一性,
                     -g       设置基本组GID和组名  ,不指定就设置同用户名的主组
                      -c    用户的注释信息
                       -d      用户的家目录
                       -s    用户的默认shell   
                       -G    指定附加组
                       -r    创建系统用户
                       -N      不创建用户组(使用默认users组)
                   用户家目录的模板 /etc/skel    里面全是隐藏文件
                     误删了家目录。 
                        mkdir /home/username
                        cp -r /etc/skel /home/username 

usermod [OPTION] login

            – g        新GID和新组

            -G:        附加组       一般和-a 同时使用,表示追加组,否则会替换原来的组

            -s    -c    -d        和useradd一样,注意-d不会自动创建,需要同-m一起使用(建议别用-d)

            -l        更改用户的名字   (这个需要,只换个名字,其他都不会更改,工作中常用)

             -L  -U      锁定、解锁用户

userdel   username        删除用户    -r 删除用户的家目录,尽量少用,万一数据还需要就要背锅了


id   -u   -g    user          用户的id信息        

         su username    非登陆式切换

         su – username    登陆式切换

  

passwd  -l   -u     username       锁定解锁用户  

           echo ” PASSWORD ” | passwd –stdin USERNAME        批量创建密码

chage -l  username                  显示密码策略    想更改还是去/etc/passwd和group,

               chfn  指定个人信息          chsh  指定shell

组的命令: group   -r               创建系统组

                           -g              

                groupmod     -n         新的组名     -g      新GID   

                groupdel                    删除组

                newgrp                     临时切换基本组,如果用户本不属于此组,则需要组密码

                 gpasswd                 可以更改组密码,加上选项有其他作用

                                   -a      user       将user添加到指定组

                                   -d                   从指定组删除user

                                   -A                   设置有管理权限的组列表,可以多个

               groupmems     -l                   显示组成员列表

                                    -p                  清楚所有组成员

                                    -a   -d            加入、删除指定组

文件权限介绍:rwx三位一组,对面三种用户,执行权限特殊,都没执行权限,管理员也不能执行,有一个有执行权限,管理员才能执行

                    对文件的删权限,是目录决定的,而不是文件本身

修改文件的属主:chown  新的属主    文件名     -R 递归修改(慎用)       
修改文件的属组:chgrp

下面这些必须要理解透:

文件:
r:  可使用文件查看类工具获取其内容
w:  可修改其内容
x:  可以把此文件提请内核启动为一个进程
目录:
r:  可以使用ls 查看此目录中文件列表
w:  可在此目录中创建文件,也可删除此目录中的文件
x:  可以使用ls -l 查看此目录中文件列表,可以cd 进入此
目录
      X:只给目录x 权限,不给文件x

chmod    u,g,o,a=rwx    文件名         其中rwx可以理解对应数字421    -R递归修改(慎用)

umask值 值  可以用来保留在创建文件权限

                   新建FILE 权限: 666-umask     如果所得结果某位存在执行(奇数)权限,则将其权限+1

                    新建DIR 权限: 777-umask

                   全局设置: /etc/bashrc  用户设置:~/.bashrc

X   一般是配合-R对目录使用,对子目录加x权限,但无权限的文件不会加

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/69838

(0)
sheweishewei
上一篇 2017-02-23 09:55
下一篇 2017-02-23 13:47

相关推荐

  • rpm命令详解及和yum之间的关系

        RPM 全名是“ RedHat Package Manager ”简称则为 RPM 顾名思义,当初这个软件管理的机制是由 Red Hat 这家公司发展出来的。 RPM 是以一种数据库记录的方式来将你所需要的软件安装到你的 Linux 系统的一套管理机制。    &nbsp…

    Linux干货 2016-08-21
  • N28-第四周:正则表达式练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
    2、编辑/etc/group文件,添加组hadoop。
    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。
    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。
    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。
    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
    9、找出/etc/passwd文件中的一位数或两位数;
    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;
    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    2017-12-24
  • 描述器

    Edit 描述器 |[Descriptors] 描述器的表现 用到3个魔术方法:__get__()、__set__()、__delete__() 方法用法: object.__get__(self,instance,owner) object.__set__(self,instance,value) object.__delete__(self,instan…

    Linux干货 2017-11-29
  • LVS小记

    19.LVS小记    LVS的类型:        nat:是一种基于IP的DNAT的,通过目标端口与目标地址利用特定的算法选取出响就的主机进行响应,通过RS(Real Server)的地址和端口进行转发            特点:&n…

    2017-05-15
  • HA cluster应用—CoroSync+Pacemaker

    HA cluster应用——CoroSync v2 (quorum system)+Pacemaker (standalone daemon)+ crmsh/pcsh corosync简述: Corosync是OpenAIS发展到Wilson版本后衍生出来的开放性集群引擎工程。可以说Corosync是OpenAIS工程的一部分。OpenAIS从openais…

    2016-11-27
  • 第三周作业

      1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d" " -f1 | sort -u who | cut -d" " -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。    who | tail -1 …

    Linux干货 2016-11-19