Linux用户、用户管理的常见命令用法以及用户的权限管理


 


 

用户和用户组的基本概念:docker

 Linux的用户是经过帐号和密码登陆到Linux系统的,而Linux主机并不会直接识别帐号和密码,它只认识ID。那么Linux系统用户的ID分为如下类别:shell

    系统管理员:root,0-UIDide

    普通用户:1-65535-UID测试

普通用户有分为:系统用户和登陆用户加密

    系统用户:1-999-UIDspa

登陆用户:1000-65535-UID命令行

 

Linux用户组(GID)的分类:对象

    管理员组:root,0(GID)递归

    普通用户组:1-65535GID)进程

普通用户组又分为:

系统组:1-999GID)

登陆用户组1000-65535GID)

一个用户能够有多个不一样的组,叫作用户的基本组(主组)和附加组。基本组的组名和用户名相同,只包含一个用户,也叫私有组。基本组以外的组就是用户的附加组。

Linux用户和组相关的配置文件为/etc/passwd,此文件记录用户和用户的属性信息。

能够经过whatis passwd来查看起对应的配置文件的帮助信息。

或者也能够经过#man 5 passwd命令行去查看。

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

分别表示的信息是:用户名:密码:UID:GID:用户的注释信息:用户的家目录:用户默认的shell类型。

组的相关的配置文件/etc/group。

passwd同样能够经过命令行去查看此配置文件的帮助信息。

group_name:password:GID:user_list

分别表示的信息是:组名:密码:GID:以此组为附加组的用户列表。

/etc/shadow

    保存用户的密码、帐号有效期等信息,每一行对应一个用户的密码记录,九个字段

     用户名:加密密码:最近修改密码时间:密码最短有效期:密码最长有效期:密码的警告时间段:密码禁用:帐号过时日期:保留字段

当用户登陆系统时,系统经过比对事先存储的信息与登陆时提供的信息是否一致。

组配置文件保存的路径:

   /etc/group:保存组账号基本信息

   /etc/gshadow:保存组账号的密码信息

 

 

用户管理常见命令的常见用法:

一、groupadd:表示建立一个新的用户组。

-g 指定用户组的UID(默认是上一个组的GID+1)

-r 建立系统组

 

二、groupdel:删除组

 

三、groupmod:修改组属性

-g 表示修改GID

-n 表示修改组名

 

四、useradd:表示建立用户

    -u:表示指定用户的UID

     -g:表示指定用户的基本组名(此组事先必须存在)

-c:表示指明注释信息

-d:表示以指定路径为用户的家目录,经过复制/etc/skel目录,并重命名实现。指定的家目录路径若是事先存在则不会为用户复制环境的配置文件

     -r:表示建立系统用户   

     -G:指定用户的附加组名(或GID号)多个附加组用逗号隔开

      -M:表示不为用户建立主目录

      -s:指定用户的默认的Shell可用的shell列表在/etc/shells文件中

    -D:表示显示建立用户的默认配置

     

五、usermod:修改用户属性信息

-u:表示修改用户的ID

-g:表示修改用户所属的基本组

-G:表示修改用户的附加组,原来的会被覆盖。若是想保留原来的附加组,则使用-a选项,与-G一同使用则表示增长附加组。

-c:表示修改注释信息

-d:表示修改用户的家目录。用户原有的家目录文件不会被转移代新的目录中,而若是和-m选项一同使用则表示将原来的家目录移动为新的家目录。

-l:表示修改用户名

-s:表示修改用户的默认的shell

-L:锁定用户的密码

-U:解锁用户的密码

 

六、userdel:删除用户

-r:表示在删除用户的同时,删除用户的家目录

 

七、passwd:修改用户的密码

#passwd username 修改指定用户的密码,仅root有此权限。Root不须要知道其余用户原来的密码。

-l、-u:表示锁定和解锁用户的密码

-d:表示清除用户的密码

-e:过时期限

-i:非活动期限

-n:密码的最短使用期限

-x:密码的最长使用期限

-w:警告期限

--stdin:

eg:#echo 111111111 | passwd --stdin username

将某用户的密码设置为111111111

 

八、gpasswd   设置组账号密码、添加/删除组成员 

   -a:向组内添加一个用户

   -d:从组内删除一个用户成员

   

九、newgrp:临时切换基本组

 

十、chage:改密码的 过时信息

 

十一、id:查看用户的相关ID信息

-u:显示ID

-g:显示基本组的GID

-G:显示全部的附加组

-n:显示name

 

十二、su:switch user 用户切换

     su - username /su -l username 表示登陆式切换,从新读取用户的配置文件来从新初始化。

     su username 表示非登陆式切换,不会读取目标用户的配置文件进行初始化。

-c:eg:

#su - docker -c ‘whoami’-----------docker 命令引用

 

用户的权限管理:

用户对于文件或目录的访问权限有三种分别是:

    r:readable 可读的 , 4

    w:writable 可写的  ,2

    x:excutable 可执行的 , 1

而对于文件或者目录的访问者也有三种分别是:

    user:属主,u

    group:属组,g

    other:其余,o

属主:拥有该文件或目录的用户账号

属组:拥有该文件或目录的组账号

 

进程对文件或目录的访问权限应用模型:访问者的访问权限与文件或目录的属主是否相同,若是相同,应用属主权限,不然检查进程的发起者是否属于属组,若是属于,则使用属组权限访问,若是不一样,则使用其余访问权限访问。

被访问的对象若是是文件则:

    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

    -R:表示递归

chmod u= 、g= 、o=、ug=  ..........

chmod u+ 、g+ 、o+、ug+  ..........

chmod u- 、g- 、o-、ug-  ..........

chmod 660............... file

chmod ......--reference=rfile  file........引用参考文件

 

从属关系管理命令:

chown命令

chown [OPTION]....[OWNER][:[GROUP]] FILE......

-R:表示递归

一、owner只改属主

二、owner: group 修改属主和属组

三、group只修改属组

     chgrp:修改文件的属组

     

     umask:文件或目录建立时的遮罩码,遮罩码就是建立一个文件或目录时的默认权限

    文件的默认遮罩码是666-umask     目录的默认遮罩码是777-umask

umask命令

umask:查看umask值

umask #:设定umask值

 

install命令 复制文件和设置属性

单源和多源复制  

-d:建立空目录

-m:设定目标文件的权限,默认是755

-o:设定目标文件的属主

-g:设定目标文件的属组

 

mktemp命令 建立临时文件

-d:建立临时目录

-u:用于测试 dry run

相关文章
相关标签/搜索