Linux用户、组和权限管理

Linux-用户和权限管理


一、用户和组

早期的计算机的使用场景,一般都是多用户,多任务下( Multi-task,Multi-Users)。为了区别不同的使用者,隔离每个人对计算机资源的访问,引入了用户的概念。

不同的使用者通过用户标识和密码加以区别,

认证:Authentication

授权:Authorization

审计:Audition(Account)

这就是3A认证

Linux下的用户标识就是:用户

组,即用户组,用户容器。

1、用户类别

用户分为管理用户和普通用户,其中普通用户又包括系统用户和登录用户

系统用户:为了能够让后台进程或服务类进程以非管理员身份运行,通常需要为此创建多个普通用户,这类用户从不登录系统

      1、管理用户
      2、普通用户
          a.系统用户
          b.登录用户
2、用户标识
  用户标识:UserID,UID
        16bits二进制数字:0+65535
              管理员:0
              普通用户:1-65535
                    系统用户:1-499(CentOS6),1-999(CentOS7)
                    登录用户:500-60000(CentOS6),10000-60000(CentOS7)

        名称解析:名称转换
            Username <--> UID 

            根据名称解析库进行: /etc/passwd
3、组类别

和用户相对应的,组分为管理员组和普通用户组,普通用户组又包括系统组和登录组

      1、管理员组
      2、普通用户组
          a、系统组
          b、登录组
4、组标识
   组标识:GroupID,GID
              管理员组:0
              普通用户组:1-65535
                    系统用户组:1-499(CentOS6),1-999(CentOS7)
                    登录用户组:500-60000(CentOS6),10000-60000(CentOS7)   

        名称解析:groupname <--> GID
            解析库: /etc/group
5、组的另外两种分类方法
  1. A、用户的基本组:primary group,也叫主组

    B、用户的附加组

  2. A、私有组:组名同用户名且包含一个用户:privite group

    B、公共组:组内包含了多个用户:public group

6、计算机是如何认证用户所提供的信息是否真实的?

认证信息:通过比对事先存储的,与登录时提供的信息是否一致;

password的存储位置:

            /etc/shadow     用户密码
            /etc/gshadow    组密码
7、密码
       密码的使用策略
           1:使用随机密码:
           2:最短长度不要低于8位
           3:应该使用大写字母,小写字母、数字和标点符号四类字符中至少三类
           4:定期更换

      密码存储格式:单向加密,并借助于salt完成
       加密算法:
           1、对称加密:加密和解密使用同一个秘钥
           2、非对称加密:加密和解密使用的一对儿秘钥;
                秘钥对儿:
                  公钥:public key
                  私钥:privita key
           3、单向加密:只能加密,不能解密;提取数据特征码;
                定长输出
                雪崩效应

                单向加密常用算法:
                     md5: message digest, 128bits
                     sha: secure hash algorithm,160bits 安全的哈希算法
                     sha224
                     sha256
                     sha384
                     sha512

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

二、用户和组管理

1、组管理命令
(1)groupadd命令: 添加组
groupadd [选项] group_name

        -g GID: 指定GID;如不指定会默认,上一个组的GID+1
        -r:创建系统组;                
(2)groupmod命令:修改组属性
groupmod [选项] GROUP

        -g GID, 修改GID
        -n new_name: 修改组名
(3)groupdel命令: 删除组

? groupdel [选项] GROUP

(4)gpasswd命令:修改组密码

组密码文件: /etc/gshadow

gpasswd [选项] group

          (1)gpasswd group: 修改指定组的密码,默认情况下组创建之后没有密码,设定密码主要用途在用newgrp命令临时切换用户到某个组作为自己的基本组时使用,如果用户实现不属于该组,切该组没有设定密码,用户将无法切换到此没有设定密码的组
            -a USERNAME:向组中添加用户
            -d USERNAME:从组中移除用户
(5)newgrp命令:临时切换指定的组为基本组
newgrp [-] [group]
         -:会模拟用户重新登录以实现重新初始化其工作环境
2、用户管理命令
(1)useradd命令:添加用户
      useradd [选项] 登录名
          -u, --uid UID: 指定UID;如不指定默认为上一个UID+1
          -g, --gid GROUP:指定用户基本组ID或组名,此组得事先存在
          -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]: 指定用户所属的附加组(可以是组ID也可以是组名),多个组之间用逗号分隔;
          -c, --comment COMMENT:指明注释信息
                       任何字符串。通常是关于登录的简短描述,当前用于用户全名。
          -d, --home HOME_DIR:以指定的路径作为用户的家目录:通过复制/etc/skel此目录并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文件
          -s, --shell SHELL: 指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;
          -r,创建一个系统用户
          -M, --no-create-home    不创建用户主目录,即使系统在 /etc/login.defs中的设置(CREATE_HOME)为yes
                Do not create the user‘s home directory, even if the system wide setting from /etc/login.defs (CREATE_HOME) is set to yes.
          -f, --inactive INACTIVE
                   密码过期到账户被禁用之前的天数。0表示立即禁用,-1表示禁用这个功能
                                  如果未指定,useradd将使用在 /etc/default/useradd 中 INACTIVE 变量指定的默认禁用周期,或者默认为-1.

        注意:创建用户是的诸多默认设定配置文件为/etc/login.defs
              -d选项指定家目录时,家目录的父目录需要事先存在,例如指定家目录为/users/username   父目录/users需事先存在(被创建)

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

                修改的结果保存于/etc/default/useradd文件中;也可以通过直接编辑此文件实现
(2)usermod命令:修改用户属性
     usermod [选项] 登录名
             -u,--uid UID: 修改用户的ID为此处指定的新的UID;
             -g, --gidGROUP:  修改用户所属的基本组;此组必须存在;
             -G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]: 修改用户所属的附加组;原来的附加组会被覆盖;
             -a, --append: 与-G一同使用,用于为用户追加新的附加组;  -aG
             -c, --comment COMMENT: 修改注释信息;
             -d, --home HOME_DIR: 修改用户的家目录: 用户原有的文件不会被转移至新位置;
             -m, --move-home: 只能与-d选项一同使用,用于将原来的家目录里面的所有文件移动到新的家目录,目前的家目录路径必须存在,否则新家目录不会被创建;
             -l, --login NEW_LOGIN:修改用户名;
             -s, --shell SHELL:修改用户的默认shell;
             -L,--lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";
             -U,--unlock:解锁用户的密码;
(3)userdel命令:删除用户
     userdel [选项] 登录名
             -r: 删除用户是一并删除其家目录
(4)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
(5)chage命令:更改用户密码过期信息
         chage [选项] 登录名

             -d
             -E
             -W
             -M
             -m
(6)id命令:显示用户的真是和有效ID
      id - print real and effective user and group IDs

           id [OPTION]... [USER]
             -u: 仅显示有效的UID
             -g: 仅显示用户的基本组ID
             -G: 显示用户所属的所有组的ID,包括基本组和附加组
             -n: 显示名字而非ID
(7)su命令:切换用户
a.登录式切换:会通过读取目标用户的配置文件来重新初始化
su - USERNAME
su -l USERNAME

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

注意:管理员(root)可无密码切换至其他任何用户;

      -c ‘COMMAND‘: 仅以指定用户的身份运行此处指定的命令;运行一次之后直接退回
(8)其他命令
   chsh,  更改默认shell
   chfn,finger  更改finger信息,显示finger信息
   whoami
   pwck,检查用户密码
   grpck,检查组

三、权限管理

1.概念

权限的概念:rwx

r:readable,可读
w:writeable,可写
x:excuteable,可Z执行

linux权限的表示结构

            rwxrwxrwx:
                左三位:定义user(owner)的权限
                中三位:定义group的权限
                右三位:定义other的权限

进程安全上下文(Security Context)

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

前提:进程有属主和属组,文件有属主和属组
1、任何一个可执行程序文件能不能运行,取决于发起者对程序文件是否有执行权限。
2、启动为进程之后,其进程的属主为发起者,属组为进程发起者所属的属组。
3、进程访问文件的权限,取决于进程的发起者:
(1)进程的发起者同文件的属主,则应用文件属主权限
(2)进程的发起者属于文件属组,则应用文件属组权限
(3)应用其它权限。

rwx对文件和目录的含义

             文件:
                 r:可获取文件的数据
                 w:可修改文件的数据
                 x:可将此文件发起运行为进程  

             目录:
                 r:可使用ls命令获取其下的所有文件列表;(不能获取详细信息,即不包括ls -l)
                 w:可修改此目录下的文件列表:即创建或删除文件;
                 x:可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息;

权限的两种表现形式

  1. mode(模型): rwxrwxrwx
  2. ownership(从属关系):user,group

权限组合机制和八进制表示法

权限的rwx由于在每个位置上只有2种形式,-和其他(r,w,x)即有或没有权限

因此rwx可以用3位二进制来表示,3位二进制又可以转换为8进制,组合关系如下

              --- 000 0       没有权限   0
              --x 001 1       可执行     1
              -w- 010 2       可写       2
              -wx 011 3
              r-- 100 4       可读       4
              r-x 101 5
              rw- 110 6
              rwx 111 7

用八位进制权限表示法来表示:如rxwrwxrwx可表示为777,表示属主属组和其他用户都具有读写执行的权限

2. 权限管理命令
(1)chmod命令:修改文件权限
               chmod - change file mode bits

                chmod [OPTION]... MODE[,MODE]... FILE...
                chmod [OPTION]... OCTAL-MODE FILE...
                chmod [OPTION]... --reference=RFILE FILE...

             三类用户:
                  u:属主
                  g:属组
                  o:其他
                  a:所有

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

              (1)MODE表示法:

                           A、赋权表示法:直接赋予用户对应权限,可以操作一类用户的所有权限位,
                              u=
                              g=
                              o=
                              a=
                              两种用户可以合并书写:ug=,uo=,go=,
                              权限可合并书写,r,w,x,rw,rwx,rx,wx,

                           B、授权表示法:直接增加或删除一类用户的现有权限r,w,x;
                              u+,u-
                              g+,g-
                              o+,o-
                              a+,a-                 (有时候可省略a,直接写成+,-)

                              两种用户可以合并书写:ug=,uo=,go=,
                              权限也可合并书写,r,w,x,rw,rwx,rx,wx,
                              尽量符合逻辑书写,不符合逻辑也不会报错(例如其他用户没有w权限用o-x也不会报错)
                              分别加不同权限时可以用逗号隔开,如:chmod u+w,g+r FILE

                              ps:全局+w操作只会匹配到u(属主用户)

              (2)八进制表示法
                  chmod [OPTION]... OCTAL-MODE FILE...

                  example:
                        chmod 660 /etc/shadow

              (3)引用权限命令
                   chmod [OPTION]... --reference=RFILE FILE...
                 修改文件FILE的权限与被引用的文件RFILE的权限相同

              选项 :
                  -R,--recurisive:递归修改,会将目录以及目录下的子目录和所有文件一起修改  (此选项只建议授权表示法使用,避免影响目录内部的文件拥有其他不需要的权限,例如错误的将x权限给不可执行的文件)

                 注意:用户仅能修改属主为自己的那些文件的权限
    exmaple.                赋权表示
                            [[email protected] ~]# ls
                            00-02-17  a_c  a_d  anaconda-ks.cfg  b_c  b_d  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  桌面
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -rw-------. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod g=rw anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -rw-rw----. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod ug=r anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -r--r-----. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod a=rwx anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -rwxrwxrwx. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod u=rwx,g=rw,o= anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -rwxrw----. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg

                            授权表示
                            [[email protected] ~]# ll anaconda-ks.cfg
                            ----------. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod u+w anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            --w-------. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod ug+r anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -rw-r-----. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod a+x anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -rwxr-x--x. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod -x anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -rw-r-----. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod u-w anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -r--r-----. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg
                            [[email protected] ~]# chmod +w anaconda-ks.cfg
                            [[email protected] ~]# ll anaconda-ks.cfg
                            -rw-r-----. 1 root root 1257 3月  19 19:05 anaconda-ks.cfg            //全局+w操作只会匹配到u(属主用户),因为全局+w很危险

                            权限引用
                            [[email protected] tmp]# ll | head -3
                            总用量 276
                            -rw-r--r--. 1 root root      0 4月  19 19:16 a
                            -rw-r--r--. 1 root root      0 4月  19 19:16 b
                            [[email protected] tmp]# chmod 766 a
                            [[email protected] tmp]# ll | head -3
                            总用量 276
                            -rwxrw-rw-. 1 root root      0 4月  19 19:16 a
                            -rw-r--r--. 1 root root      0 4月  19 19:16 b
                            [[email protected] tmp]# chmod --reference=a b
                            [[email protected] tmp]# ll | head -3
                            总用量 276
                            -rwxrw-rw-. 1 root root      0 4月  19 19:16 a
                            -rwxrw-rw-. 1 root root      0 4月  19 19:16 b

                            -R选项
                            [email protected] tmp]# ls -la skel
                            总用量 16
                            drwxr-xr-x.  3 root root   78 4月  19 19:43 .
                            drwxrwxrwt. 24 root root 4096 4月  19 19:43 ..
                            -rw-r--r--.  1 root root   18 4月  19 19:43 .bash_logout
                            -rw-r--r--.  1 root root  193 4月  19 19:43 .bash_profile
                            -rw-r--r--.  1 root root  231 4月  19 19:43 .bashrc
                            drwxr-xr-x.  4 root root   39 4月  19 19:43 .mozilla
                            [[email protected] tmp]# chmod -R go= skel
                            [[email protected] tmp]# ls -la skel
                            总用量 16
                            drwx------.  3 root root   78 4月  19 19:43 .
                            drwxrwxrwt. 24 root root 4096 4月  19 19:43 ..
                            -rw-------.  1 root root   18 4月  19 19:43 .bash_logout
                            -rw-------.  1 root root  193 4月  19 19:43 .bash_profile
                            -rw-------.  1 root root  231 4月  19 19:43 .bashrc
                            drwx------.  4 root root   39 4月  19 19:43 .mozilla
                            [[email protected] tmp]# chmod -R g+r skel/
                            [[email protected] tmp]# ls -la skel
                            总用量 16
                            drwxr-----.  3 root root   78 4月  19 19:43 .
                            drwxrwxrwt. 24 root root 4096 4月  19 19:45 ..
                            -rw-r-----.  1 root root   18 4月  19 19:43 .bash_logout
                            -rw-r-----.  1 root root  193 4月  19 19:43 .bash_profile
                            -rw-r-----.  1 root root  231 4月  19 19:43 .bashrc
                            drwxr-----.  4 root root   39 4月  19 19:43 .mozilla
(2)从属关系管理命令:chown,chgrp

仅管理员可修改文件的属主和属组,

chown命令: 既能修改属主也能修改属组

    chown [OPTION]... [OWNER][:[GROUP]] FILE...         //修改属主
    chown [OPTION]... --reference=RFILE FILE...         //引用(参考修改)
        选项:
          -R:递归修改

chgrp命令: 只能用于修改属组

    chgrp [OPTION]... GROUP FILE...
    chgrp [OPTION]... --reference=RFILE FILE...
                exmple.     修改属主
                            [email protected] tmp]# ls -la skel
                            总用量 16
                            drwxr-----.  3 root root   78 4月  19 19:43 .
                            drwxrwxrwt. 24 root root 4096 4月  19 19:45 ..
                            -rw-r-----.  1 root root   18 4月  19 19:43 .bash_logout
                            -rw-r-----.  1 root root  193 4月  19 19:43 .bash_profile
                            -rw-r-----.  1 root root  231 4月  19 19:43 .bashrc
                            drwxr-----.  4 root root   39 4月  19 19:43 .mozilla
                            [[email protected] tmp]# chown -R docker skel
                            [[email protected] tmp]# ll -d skel
                            drwxr-----. 3 docker root 78 4月  19 19:43 skel
                            [[email protected] tmp]# ll -a skel
                            总用量 16
                            drwxr-----.  3 docker root   78 4月  19 19:43 .
                            drwxrwxrwt. 24 root   root 4096 4月  19 19:45 ..
                            -rw-r-----.  1 docker root   18 4月  19 19:43 .bash_logout
                            -rw-r-----.  1 docker root  193 4月  19 19:43 .bash_profile
                            -rw-r-----.  1 docker root  231 4月  19 19:43 .bashrc
                            drwxr-----.  4 docker root   39 4月  19 19:43 .mozilla

                            修改属主和属组
                            [[email protected] tmp]# ll -a skel/
                            总用量 16
                            drwxr-----.  3 docker root   78 4月  19 19:43 .
                            drwxrwxrwt. 24 root   root 4096 4月  19 19:55 ..
                            -rw-r-----.  1 docker root   18 4月  19 19:43 .bash_logout
                            -rw-r-----.  1 docker root  193 4月  19 19:43 .bash_profile
                            -rw-r-----.  1 docker root  231 4月  19 19:43 .bashrc
                            drwxr-----.  4 docker root   39 4月  19 19:43 .mozilla
                            [[email protected] tmp]# chown -R jacky:docker skel/
                            [[email protected] tmp]# ll -a skel/
                            总用量 16
                            drwxr-----.  3 jacky docker   78 4月  19 19:43 .
                            drwxrwxrwt. 24 root  root   4096 4月  19 19:57 ..
                            -rw-r-----.  1 jacky docker   18 4月  19 19:43 .bash_logout
                            -rw-r-----.  1 jacky docker  193 4月  19 19:43 .bash_profile
                            -rw-r-----.  1 jacky docker  231 4月  19 19:43 .bashrc
                            drwxr-----.  4 jacky docker   39 4月  19 19:43 .mozilla
                            [[email protected] tmp]# chown -R root.root skel/
                            [[email protected] tmp]# ll -a skel/
                            总用量 16
                            drwxr-----.  3 root root   78 4月  19 19:43 .
                            drwxrwxrwt. 24 root root 4096 4月  19 19:57 ..
                            -rw-r-----.  1 root root   18 4月  19 19:43 .bash_logout
                            -rw-r-----.  1 root root  193 4月  19 19:43 .bash_profile
                            -rw-r-----.  1 root root  231 4月  19 19:43 .bashrc
                            drwxr-----.  4 root root   39 4月  19 19:43 .mozilla

                            引用(参考)修改
                            [[email protected] tmp]# ll a
                            -rwxrw-rw-. 1 tom tom 0 4月  19 19:16 a
                            [[email protected] tmp]# chown -R --reference=a /tmp/skel/
                            [[email protected] tmp]# ll -a skel/
                            总用量 16
                            drwxr-----.  3 tom  tom    78 4月  19 19:43 .
                            drwxrwxrwt. 24 root root 4096 4月  19 20:02 ..
                            -rw-r-----.  1 tom  tom    18 4月  19 19:43 .bash_logout
                            -rw-r-----.  1 tom  tom   193 4月  19 19:43 .bash_profile
                            -rw-r-----.  1 tom  tom   231 4月  19 19:43 .bashrc
                            drwxr-----.  4 tom  tom    39 4月  19 19:43 .mozilla

思考:用户对目录有写权限,但对目录下的文件没有写权限时,

(1)能否修改目录下的文件? 不能。

(2)能否删除目录下的文件? 可以

umask:文件权限反向掩码,遮罩码

用户拥有自己的umask,用户创建文件后,文件的默认权限如下:

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

? umask命令:

umask: 查看当前umask

umask MASK:设置umask

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

(3)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: 设定目标文件属组;
?    example.
?                   [[email protected] tmp]# install /etc/inittab /tmp
?                   [[email protected] tmp]# ls -l inittab
?                   -rwxr-xr-x. 1 root root 511 4月  19 20:37 inittab
?                   [[email protected] tmp]# ls -l /etc/inittab
?                   -rw-r--r--. 1 root root 511 8月   4 2017 /etc/inittab
?                   [[email protected] tmp]# rm inittab
?                   rm:是否删除普通文件 "inittab"?y
?                   [[email protected] tmp]# install -m 640 /etc/init
?                   init.d/  inittab
?                   [[email protected] tmp]# install -m 640 /etc/inittab /tmp
?                   [[email protected] tmp]# ls -l inittab
?                   -rw-r-----. 1 root root 511 4月  19 20:42 inittab
?                   [[email protected] tmp]# install -o jacky -g docker /etc/inittab /root
?                   [[email protected] tmp]# ls -l /root/inittab
?                   -rwxr-xr-x. 1 jacky docker 511 4月  19 20:44 /root/inittab
?
            -d选项创建目录
            [[email protected] tmp]# install -d hello
            [[email protected] tmp]# ll -d hello
            drwxr-xr-x. 2 root root 6 4月  19 20:45 hello
(4)mktemp命令:创建临时文件
mktemp - create a temporary file or directory 创建临时文件或临时目录

命令格式:mktemp [OPTION]... [TEMPLATE]
       TEMPLATE must contain at least 3 consecutive ‘X‘s in last component(模板文件名中至少包含3个X,(自定义名称.xxx))

            -d  --directory 创建临时目录
            -u  --dry-run   仅做测试,不会实际创建文件
            -q  --执行若发生错误,不会显示任何信息

             注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来;
             使用mktemp 命令生成临时文件时,文件名参数应当以"文件名.XXXX"的形式给出,mktemp 会根据文件名参数建立一个临时文件。
             例如:mktemp tmp.xxxx #生成临时文件 

原文地址:https://blog.51cto.com/5373107/2383002

时间: 2024-11-10 13:18:27

Linux用户、组和权限管理的相关文章

Linux用户,组和权限管理

用户,组,权限 一.了解什么是用户,组和权限 1.对于linux系统来说,简单明了的特点就是多用户,多任务,也就是说一台linux系统的主机上面可以同时允许多个用户登录,当通过多个终端登录时可以同时使用这台linux的系统,然而对于linux习题来说,一切皆文件,别人和自己的工作任务都是以文件的形式存在的,不同的用户之间岂不是没有隐私或者安全而言,其实在linux上不是这样的,我们可以理解linux把每一个用户分配一间屋子,没有钥匙即权限我们是进不去浏览以及修改文件的,但是既然是一间屋子,那当然

linux 用户 组 和权限管理

Multi-task  Multi-Users 每个使用者: 用户标识 . 密码: Authentication(认证机制): Authorization  (授权机制): Account / Audition (审计): 组:用户组,用户容器 用户类别: 管理 普通用户 系统用户 登录用户 用户标识: UserIo ,UID 16bits 二进制数字:0-65535 管理员:0 普通用户: 1-65635 系统用户   1-499(Centos6)    1-1000(CentOS7) 登录用

Linux用户及文件权限管理

用户及文件权限管理 一.实验介绍 1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 二.Linux 用户管理 通过第一节课程的学习,你应该已经知道,Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁

linux 用户及文件权限管理

Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看.修改彼此的文件. 下面我们就来学习一下 Linux 下的账户管理的基础知识. 1.首先查看用户的指令: who am i/whoami 输出的第一列

马哥2016全新Linux+Python高端运维班-Linux用户创建及权限管理

第三周作业内容:1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | cut -d' ' -f1 | sort -u      centos     liu     root 2.取出最后登录到当前系统的用户的相关信息.     第一种方式:         [[email protected] ~]# last | head -n1         liu      tty8        

Linux用户、用户组权限管理详解 --- 02

2,用户.用户组管理操作详解: 2.1 adduser 添加用户: adduser [-u uid][-g group][-d home][-s shell] -u:直接给出userID                      -g:直接给出GID -d:直接将根目录建立在已存在目录         -s:定义shell 添加用户 garfield 1 adduser garfield 通过前面介绍的三个用户管理文件检验用户 garfield 的添加是否成功: 当我们新建用户时,通过 /etc

Linux之用户及文件权限管理

Linux之用户及文件权限管理 前言:Linux 是一个多用户的操作系统:Linux哲学思想之一-"一切皆文件".说明在学习Linux过程中,用户及文件权限的管理是非常重要滴.本文主要是引用了CentOs/RedHat 7.1的命令. 一.用户.组管理 1).用户.组类型: 超级用户(管理员):root用户具有一切权限,只有在进行系统维护(如创建用户.分配权限)时用到:由于root用户权限过大,为了避免管理员的误操作导致不可逆的后果,所以在非必要的情况下不用root用户登录. 普通用户

详解用户,组,权限管理

内容介绍: 我们要使用操作系统进行工作,就需要人机交互操作,这时候计算机就需要创建用户,通过用户来实现操作,而且随着用户的增加需要给用户分组,这时候就需要对文件进行权限管理. 需要使用的工具: 用户相关工具:useradd; userdel; usermod;id;su等: 组相关工具:groupadd; groupdel; groupmod等: 权限管理工具:chmod; chown; chgrp:umask等: 一.用户类别: 管理员:root,管理员用户标识UID:0 普通用户:(系统用户

Linux 基础入门----用户及文件权限管理

用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制 ,不同用户不可以轻易地查看.修改彼此的文件. 下面我们就来学

2017-11-13Linux基础知识(11)用户、组和权限管理

在之前的章节中讲述了bash的基础特性以及IO重定向以和管道等其它的功能程序,之后介绍了一些其相关的命令,例如:tr和tee命令等,之后我们介绍了Here document,在这一章中,我们开始讲述用户.组及权限管理中的一部分,我们首先来说用户和组. 一.用户 Linux操作系统是一款多用户Multi-Users及多任务Multi-tasks的操作系统,也就是说,可以多个用户同时登录该系统执行各自的任务,彼此用户与用户之间互不干扰,这也是当时为了解决主机资源所提供的一种有效手段,那时候主机都在中