目录

1、账号和权限管理

2、添加用户账号


1、账号和权限管理

(1)管理用户账号和组账号

用户账号和组账号概述

■Linux基于用户身份对资源访问进行控制

用户账号

●超级用户、普通用户、程序用户

组账号

●基本组(私有组)
  ●附加组(公有组)
■UID和GID
  ● UID(user idebtity  用户标识号)
  ● GID(group identify,组标识号)

●超级用户: root用户是 Linux操作系统中默认的超级用户账号,对本主机拥有至高无上的权限,类似于Windows 操作系统中的 Administrator 用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。root抑有对系统的最高的管理权限ID-0

●普通用户:皆通用户账号需要由 root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限

●系统用户UID:1-999(centos7版木y1-499 (centos6版本)uID:即每个用户的身份标示,类似于每个人的身份证号码.

●程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仪用于维持系统或某个程序的正常运行,如 bin、daemon、ftp、mail 等伪用户一般不会用来登录系统的,它主要是用于维持某个服务的正:常运行,如: ftp,apache

●UID:即每个用户的身份标示,类似于每个人的身份证号码.管理员组: root, o普通组:GID

●系统组:1-499 (centos6) , 1-999 ( CENTOs7 )普通组:500+( centos6) ,1000+ (CENTOS7I表示该账户需要密码才能登录,为空时,账户无须密码即可登录组账号

●基本组:基于某种特定联系(如都需要访问FTP服务)将多个用户集合在一起,即构成一个用户组,表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组):

●附加组:若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)。例如,用户zhangsan是技术部的员T.与部门l内的其他同事同属于基本组 tech,后来因工作安排需要,公司将 zhangsan加入邮件管理员组 mailadm,则此时用户 zhangsan同时属于tech、mailadm 组,tech组是共基本组账号,而 mailadm组是附加组账号。

●对组账号设置的权限将适用于组内的每一个用户账号。

简说:

用户和组的关系

用户是  员工  组是职位

员工  可以兼职多个岗位

总有一个最重要的身份 主要组合附加组

主要组 必须要一个组  有且唯一

附加组 可有可无  有可以有多个

默认为行为当你创建一个新用户是会自动创建一个和之同名的主组

用户账号文件/etc/passwd

■保护用户名称、宿主目录、登录shell等基本信息

●文件位置:/etc/passwd

●每一行对应一个用户的账号记录

●root: x:0:0: root:/root: /bin/bash

详解如下:

root:用户名,用户名仅是为了方便用户记忆。Linux.系统是通过UID来识别用户身份,分配用户权限。x;表示此用户设有密码,但不是真正的密码,真正的密码保存在/etcl/shadow文件
Linux系统把真正的加密密码串放置在/etc/shadow文件中,此文伴只有root用户可以浏览和操作,最大限度地保证了密码的安全。

●补充:
注意! ! !,虽然"x"并不表示真正的密码,但也不能删除,如果删除了
“x",那么系统会认为这个用户没有密码,从而导致只输入用户名而不用输入密码就可以登陆〈只能在使用无密码登来,远程是不可以》。
0:用广账号的UID号。
o:所属基本组账号的GID号

●root :描述性信息,此字段只是用来解释这个用户的意义而已/ root:宿主目录,即该用户登录后所在的默认工作目录
注:通常称为用户的主(家)H录。例如:root主日录为/root,普通用户odysee的主目录为/home/odysee/bin /bash录shell等信息。用户完成登最后使用的

用户账号文件/etc/shadow

■保护用户的密码、账号有效期等信息

●文件位置:/etc/shadow

●每一行对应一个用户的密码记录

fetc/ shadow(影子文件)
fetc/shadow文件只有root

●用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性
和/etc/passwd文件一样,文件中每行代表一个用户,同样使用":”
作为分隔符,不同之处在于,每行用户信息被划分为9个字段

第一列:账户名

第二列:存放真正加密的密码,采用SHA512散列算法,更加安全(和*表示没有密码不能登录,新创建用户也是,如果密码前面显示双感叹号表示该账户被锁定了)

第三列:上一次修改密码的时间,从1970年1月1日开始算的,因为1970年是Linux的诞生日,date -d“1970-01-01 15775 days”可以查看那一天改过

第四列:多久之后才介意修改密码,如果是0,则密码可以随时修改

最小修改间隔时间,也就是说该字段规定了从第三个字段(最后一次修改密码的日期)起,多长时间内不能修改密码,如果是0则随时修改密码,如果是10则代表密码修改后10天之内不能再次修改密码,此字段是为了针对某些人频繁更改密码而设计的。

第五列:密码有效期,默认99999(273年),表示永久生效

第六列:密码到期前的第几天发出告警信息,默认为7天,每次登录系统都会向该账户发出“修改密码”的警告信息。

第七列:密码到期的宽限天数,过期后的几天还是可以登录,如果过了宽限天数,系统将不再让此账户登录,也不会提示账户过期,是完全禁用

第八列:账号失效时间,使用自 1970年1月1日以来的总天数作为账户的失效时间

第九列:保留,未使用

为什么会创建家目录?为什么会UID从1000开始,UID最大是多少?

是由于/etc/login.defs这个文件中的配置决定的

添加:chage命令

chage命令:用来修改帐号和密码的有效期限,针对目前系统已经存在的用户

语法格式:chage[选项]用户名

-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。

-M:   密码保持有效的最大天数。chage -M 60 root

-w:   用户密码到期前,提前收到警告信息.的天数。

-E:   帐号到期的日期。过了这天,此帐号将不可用。

-d:   上一次更改的日期。

-ir    停滞时期。如果一个密码已过期这些天,那么此帐号将不可用.

-l:    例出当前的设置。由非特权用户来确定他们的密码或帐号问时过期。

例: chage -E 2019-04-29 test  //其中,test为用户,用户将在2019年4月29日失效(不可登录)

chage -d 2019-06-30 test       //设置test用户最后一次修改密码的口期为2019年6月30门

chage -d o test                       //则代老该test用户需立团修改密的
date -d"+45 days" -u             //如果不知道时间可以用date查看
-u : UTc时间

总结:

第三字段为:密码最后一次修改的时间(chage-d)

第四字段为: 密码最小修改间隔时间(change -m)

第五个字段为:密码的有效期(chage-M)

第六个字段为:密码需要变更前的警告天数(chage-W)

第七个字段为:密码过期后的宽限天数(chage-l)

第八个字段:账号失效时间(chage -E)

2、添加用户账号

■useradd命令

useradd (选项)... 用户名

常用选项

●-u、-d、-e、-g、-G、-M、-s

-u:指定用户的UID号,要求该UID号码未被其他用户使用。

-d:指定用户的宿主目录位置(当-M一起使用时,不生效)

.-e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式。

-g:指定用户的基本组名(或使用GID号)。

-G:指定用户的附加组名(或使用GID 号)。

-M:不建立宿主目录,即使/etc/login.defs系统配置中已设定要建立宿主目录。

-s:指定用户的登录shell。

useradd zhangsan
id zhangsan

tail -l /etc/ passwd

tail -i /etc / shadowls / home

useradd -d /用户名 -g wheel -G root 用户名更改组

在账号管理工作中,有时候会希望在新建账号的同时指定该账号的有效期限,或者要求新建的账号不能登录系统(如仅用于访向FTP服务),这时可分别使用"-e”和"-g“选项。例如,执行以下操作可以创建一个名为 lisi的 FTP账号(禁止终端登录),该账号将于2021-12-31失效useradd -e 2021-12-31 -s / sbin/nologin lisi

 设置/更改用户口令passwd

■passwd命令

passwd [选项]... 用户名

-d : 清空指定用户的密码,仅适用用户即可登录系统

-l : 锁定用户账户

-s :查看用户账户的状态

-u :解锁用户账户

扩充:调用管道符,给用户设置密码“111111”,为方便系统管理,passwd 命令提供了 --stdin 选项,用于批量给用户设置初始密码

修改用户账号的属性usermod

■useramod命令

usermod [选项]... 用户名

常用选项

●-l、-L、-U

以下选项与useradd命令的含义相同

●-u、-d、-e、-g、-G、-s

参数

-l:更改用户账号的登录名称

-L:锁定用户账户

-U:解锁用户账户

u:修改用户的UID号

-d:修改用户的宿主目录位置

-e:修稿用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式

-g:修改用户的基本组名(使用GID号)

-G:修改用户的附加组名(或使用GID号)

-s:指定用户的登录shell

mv /admin /home

usermod -d /home/admin admin

cat /etc/passwd |grep admin

改名 :  usermod -l 更改的用户名  被更改的用户名

删除用户账号userdel

■userdel命令

●userdel [-r] 用户名

添加-r选项时,表示连用户的宿主目录一并删除

用户账号的初始配置文件

■文件来源

●新建用户账号时,从/etc/skel目录中复制而来

■主要的用户初始配置文件

●~/.bash_profile

●~/.bashrc

●~/.bash_logout

用户账号的初始配置文件
添加一个新的用户账号后,useradd命令会在该用户的宿主目录中建立一些初始配置文件。这些文件来自于账号模板目录/etc/ske/,基本上都是隐藏文件,较常用的初始配置文件包括".bash_logout"、".bash profile"和".bashrc”。其中,".bash profile"文件中的命令将在该用户每次登录时被执行:".bashrc"文件中的命令会在每次加载"/bin/Bash”程序(当然也包括登录系统)时执行:而".bash_logout"文件中的命令将在用户每次退出登录时执行。理解这些文件的作用,可以方便我们安排一些自动运行的后台管理任务。在".bashrc"等文件中,可以添加用户自己设置的可执行语句(如Linux命令行、脚本控制语句等),以便自动完成相应的任务。

进入全局模式 在root下创建alias别名 再讲别名放入 vim /etc/bashrc下 永久保存

这样即使切换用户也可以想用命令和权限

进入.bash_lohout 在这里插入脚本  退出之后进行执行

用户账号的初始配置文件
●.bash_profile:示例代码中为用户添加了2个环境变量(JAVA_HOME和CLASSPATH),并修改了已有环境变量PATH的值.(PATH的查找是从前开始查找,找到就返回)
CLASSPATH环境变量的值是在JAVA运行时查找加载类的默认classpath.

●.ba hrc
例子中定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)。
每次修改.bashrc后,使用source -~/.bashrc(或者﹒~/.bashre)就可以立刻加载修改后的设置,使之生效。

●一般会在.bash profile文件中显式调用.bashrc。登ilinux启动bash时首先会去读取~.bash_profile文件,这样~ / .bashrc也就得到执行了,你的个性化设置也就生效了。

●关于环境变量的读取顺序:
用户登录->>加载~/.bash _profile --> bash_profile中配置了首先是使~/ .bashrc生效

●.bash_logout
用途:用户登出时执行的命令
~ /.bash_logout

●在当前用户登出时,打印出Logout和当前的时间

echo“Lgout,'date'”

组账号文件

■与用户账号文件相类似

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

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

与组账号相关的配置文件也有两个,分别是/etc/group和/etc/gshadow。前者用于保存组账号名称、GID号、组成员等基本信息,后者用于保存组账号的加密密码字串等信息(但是很少使用到)。某一个组账号包含哪些用户成员,将会在 group文件内最后一个字段中体现出来(基本组对应的用户账号默认可能不会列出),多个组成员之间使用",”(逗号)分隔

grep "^root" /etc/group#//检索root 组包括哪些用户

grep "root" /etc/group//检索哪些组包括root 用户

groupadd命令

groupadd[-g GID]组账号名

groupadd -g 1200 market

tail -1. /etc/group

gpasswd命令
-a:添加用户到组

-d:从组删除用户

-A:指定管理员

-M:指定组成员和-A的用途差不多

-r:删除密码

-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

gpasswd命令

-a:添加用户到组

-d:从组删除用户

-A:指定管理员

-M:指定组成员和-A的用途差不多

-r:删除密码

-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

●useradd mike

gpasswd -a mike root#确认mike 用户已加入 root 组groups mike

gpasswd -d webmaster root #//确认webmaster 用户已退出 root组正在将户"webmaster"从"root"组中删除

●gpasswd -M root, daemon , webmaster,mike admgrep "^adm" /etc/group

adm:x: 4:root,daemon, webmaster,mike

●groupdel命令

groupdel组账号名groupdel market

grep "market" /etc/group

●groups命令
group[用户名]

groups adm

●finger命令   #查询用户账号的详细信息

删除组账号groupdel

■groupdel 命令

语法格式:groupdel 组账号名

■示例

无法用groupdel删除时 将组的其他附属先删除 再删除主   如果还是删不掉 则用userdel删除用户即可

查询账号信息

■groups命令

●查询用户所属的组

group [用户名]

■id命令

●查询用户身份标识

id [用户名]

查询账号信息

■finger命令

●查询用户账号的详细信息

finger [用户名]

■w、who、users命令

●查询已登录到主机的用户信息

finger 需要在yum'添加

finger命令#查询用户账号的详细信息

fingerI用户名1
w 、wsho、users  查询已登来到主机的用户信息

通常使用tty来简称各种类型的终端设备,Centos7系统,ttyl表示图形界面,tty2-tty6表示文字界面.可以用Ctrl+Alt4Fi-F6切换。

按Ctrl+Alt+F2登陆,执行w命令,查看使用的终端就是tty2

User:登录用户名

TTY:登最后系统分n的终蹈号

From:远程主机名,即从哪登最的

login@:何时登录

IDLE:用户空闲时间。这是个计时器,一旦用户执行任何操作,改计时器就会被重置。

JCFU:和终端连楼的所有进程占用时间。包括当前正在运行的后台作业占用时间

PCPU:当前进程所古用时间

WHAT:当前正在运行进程的命令行

pts说明是用远程工具连接的,比如xshell,后面的数字代表登录的时间顺序,越小证明登录的越早

文件/目录的权限和归属

访问权限

●读写r:允许查看文件内容、显示目录列表

●写入w:允许修改文件内容,允许目录中新建、移动

删除文件或目录

●可执行x:允许运行程序、切换目录

■归属(所有权)

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

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

(2)管理目录和文件的属性

设置文件和目录的权限chmod

■chmod命令

chmod [ugoa](u、g、o、a分别表示属组、属主、其他用户、所有用户)  [+.=]   [rwx] (r、w、x分别表示读、写、运行权限) 文件或目录...

或chmod  nnn(3位八进制)  文件或目录

■常用选项

-R:递归修改指定目录下所有子项的权限

设置文件和目录的归属chown

■chown命令

chown 属主 文件或目录

chown  属组  文件或目录

chown  属主 :属组  文件或目录

■常用选项

●-R:递归修改指定目录下所有文件、子目录的归属

权限掩码umask

■umask作用

●控制新建的文件或者目录的权限

●默认权限去除umaks的权限为新建的文件或者目录的权限

■umask设置:umask 022

■umask查看:umak

■示例

●将umask设为000,新建目录或者文件,查看权限

●将umask设为002,新建目录或者文件,在查看权限

"ugoa"表示该权限设置l所针对的用户类别。“u"代表文什属主,“"g"代表文什M组内的用户,“o"代表其他任何用户的~代表所有用广(u、g、o的总和)

”+-=”表示设翼权限的操作动作。"+""代表增加相应权限,"-"代表减少相应权限,“=”代表仅设置对应的权限。

”rwx”是权限的字符组合形式,也可以拆分使用,如“r”"rx”等。

用 chown更改属主和属组  chown -R

用umask设置反掩码给予权限

总结:

■用户账号管理(useradd、passwd、usermod、userdel)

■组账号管理(groupadd、gpasswd、groupdel)

■用户账号文件与组账号文件

■查询账号相关信息的命令(groups、id、finger、w)

■设置目录与文件权限(chmod)

■设置目录与文件归属(chown)

1、用户账号管理:建立账号,设置密码,锁定密码,修改模式,锁定账号,解锁账号,修改登录方式,最后删除用户

2、组账号管理:建立组账号,添加用户进入组账号,添加组账号,删除组账号

3、用户账号文件与组账号文件:用户账号文件和组账号文件放置位置passwd shadow grpup看看位置在哪 然后如何查看

4、查询账号相关信息的命令:查看组账号  查看用户 查看用户详细信息 查看远程用户终端

5、设置目录与文件权限:给用户的每个目录每个文件修改其权限 属主/属组

6、设置目录与文件归属:给整个文件和目录的归属 给他们一个大权限 比如有些权限只能张三用户查看 还有root账户可以查看 root是最高权限

Linux执行命令常用命令4.0相关推荐

  1. Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。...

    Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们. 这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题. 1.显示日期的 ...

  2. Linux系统中常用命令行命令、快捷键、创建长路径的快捷键

    Linux系统中常用命令行命令.快捷键.创建长路径的快捷键 1.常用Linux命令: 1.1 文件和目录: cd /home 进入 '/home' 目录 cd - 返回上一级目录 cd -/- 返回上 ...

  3. Linux基本的常用命令

    Linux基本的常用命令 目录管理: 关于目录的一些命令演示 # cd为切换目录命令 [root@iZ2zedtw714kk6kmn4p41qZ /]# cd /home # ./表示当前目录 [ro ...

  4. linux下载安装的命令,linux安装和常用命令

    linux安装和常用命令 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 Linux安装和常用命令常用命令:文件管理:1,cat:把 ...

  5. suse linux服务器的常用命令

    suse linux服务器的常用命令 1,让进程gate_way在后台运行: nohup ./gate_way & 2,查看某一进程的ID: ps -ef | grep  gate_way 3 ...

  6. Linux运维常用命令(转)

    为什么80%的码农都做不了架构师?>>>    1.删除0字节文件 find-type f -size 0 -exec rm -rf {} \; 2.查看进程 按内存从大到小排列 p ...

  7. Linux学习系列二:Linux中的常用命令

    这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...

  8. Linux目录及常用命令

    Linux目录及常用命令 文章目录 Linux目录及常用命令 前言 一.Linux目录 二.Linux基本命令 1.目录切换命令 2.目录操作命令 3.文件操作命令 4.压缩文件操作命令 5.权限操作 ...

  9. # Linux、Dos常用命令

    Linux.Dos常用命令 Linux 常用命令 查找java的进程 ps -ef | grep java 终止某个进程 Kill -9 [pid] 循环查看日志 tail -f 分屏查看日志 mor ...

  10. Linux系统编程常用命令总结

    目录 一.Linux常用命令 1.常用工具 2.目录和文件命令 3.安装和卸载软件命令 4.压缩包管理 5.文件属性.用户用户组及查找与检索命令 6.网络管理命令 7.其他命令 二.Linux vi/ ...

最新文章

  1. Tomcat服务器 Varnish代理服务器
  2. Android在View拉丝工艺和invalidate()和其他相关方法
  3. cudaMalloc和cudaMallocPitch
  4. base64解密后乱码_血泪教训!记一个JavaMail 附件乱码的问题
  5. wpf xaml突然不能自动补齐代码_Xaml+C#桌面客户端跨平台初体验
  6. solr5.0mysql_ik扩展支持Solr配置详解
  7. Codeforces Round #716 (Div. 2), B. AND 0, Sum Big, 快速幂结论题
  8. 对话(Dialog)
  9. 股票交易软件排行及简介
  10. SEO项目管理,该问自己的几个问题?
  11. 清华大学计算机2021研究生录取分数线,清华大学2021年研究生录取分数线多少分...
  12. NYOJ234吃土豆
  13. How to debug Windows bugcheck 0x9F, parameter 3
  14. Linux软件 绑定硬件ID 做加密 cryptopp RSA-encryption
  15. win7(主机)+win7虚拟机(vmware,被调试机)+windbg配置内核驱动调试
  16. 支付宝小程序JS省市区三级联动
  17. 给uGUI添加自定义中文字库
  18. mysql查询名字叫小明的_MySQL(命令和查询语句)
  19. [含lw+源码等]微信小程序点餐|外卖|餐饮系统+后台管理系统[包运行成功]
  20. Example of data scratching

热门文章

  1. 使用新的输入系统在 Unity 中构建第三人称控制器
  2. 教你把Pycharm编辑器更改为黑色主题
  3. 信息编码与计算机语言,中文信息处理,是用计算机对中文(包括口语和书面语)进行转换、传输、存贮、分析等加工的科学。...
  4. IOS手机安装旧版APP(不要问我为什么安装旧版,有的旧版功能更强大)
  5. 记第七届ACM校赛-回忆
  6. idea的java类图标C不见,取而代之是J标识,且写代码无提示。
  7. 臭屁净化器——arduino实现
  8. 金融总结十 上交所和深交所申报数量的规定
  9. 转载:2008年不可错过的25部新剧
  10. 什么是“托管代码”?