Linux账号和权限管理 您所在的位置:网站首页 如何查看被禁用的网络 Linux账号和权限管理

Linux账号和权限管理

2024-06-15 13:16| 来源: 网络整理| 查看: 265

1.管理用户账户和组账号

2.管理目录和文件的属性

3.总结

1.管理用户账户和组账号

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

用户账号

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

组账号

基本组(私有组)

附加组(公共组)

UID和GID

UID(User IDentity,用户标识号)

GID (Group IDentify,组标识号)

超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有之高无上的权限

root拥有对系统的最高的管理权限 ID=0

普通用户:普通用户账号需要有root用户或其他管理员用户创建,拥有的权限受到一定限制

系统用户UID:1-999(centos7版本) 1-499(centos6版本)

UID:即每个用户的身份标识,类似于每个人的身份证号码

程序用户:在安装linux操作系统及部分应用系统时,会添加一些特定的低权限用户账户,这些用户一般不允许登陆到系统,而仅用于维持系统或某个程序的正常运行

UID:即每个用户的身份标示,类似于每个人的身份证号码.

管理员组:root,,0

普通组:GID

系统组:1-499 ( centos6 ) , 1-999 (CENTOS7 )

普通组:500+ (centos6) ,1000+ (CENTOS7)

表示该账户需要密码才能登录,为空时,账户无须密码即可登录

组账号

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

附加组:若该用户同时还包含在其他的组中,则这些组称为该用户的附加组(或公共组)

组的分类:

当一些用户需要做同一间事情的时候,把他们加到同一个族中便于管理

1.基本组,一般新建用户的时候会岁用户自动创建,与用户同名

2.附加组,一般一个用户可以有0个或对各附加组

一个用户只有一个基本组,可以有多个附加组

 

root:用户名,用户名仅是为了方便用户记忆。Linux系统是通过UID来识别用户身份,分配用户权限。

x:表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件(虽然x并不表示真正的密码,但也不能删除,如果删除了x,那么系统会认为这个用户没有密码,从而导致只输入用户名而不用输入密码就可以登陆)

0:用户账号的UID号

0:所属基本组账号的GID号

root:描述性信息,此字段知识用来解释这个用户的意义而已

/root:宿主目录,即该用户登陆后所在的默认工作目录(通常称为用户的主(家)目录)

/etc/shadow  (影子文件)

/etc/shodow  文件只有root用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性

和/etc/passwd文件一样,文件中每行代表一个用户,同样使用”:”作为分隔符,不同之处在于,每行用户信息被划分为9个字段

第一列:账户名

第二列:存放真正加密的密码,采用SHA512散列算法,更加安全 原来用的时MD5 或DES

!!和*表示没有密码不能登陆,新创建用户也是!!,弱国密码前面显示双感叹号表示该账户被锁定了

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

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

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

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

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

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

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

第九列:保留,未使用

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

chage  [选项] 用户名

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

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

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

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

-d:上一次更改的日期

-i:停止时间。如果一个密码已过期这些天,那么此账号将不可用

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

例:

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

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

chage -d 0 test      ###则代表该test用户需立即更改密码

 添加用户账号

 

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

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

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

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

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

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

-s:指定用户的登陆Shell   

​[root@localhost home]# useradd -s /sbin/nologin ceshi1  ###使用-s创建用户

 设置/更改用户口令passwd

 

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

echo  “123” | passwd --stadin xuyang  ###批量给用户设置密码

-d:清空指定用户的密码,仅使用用户名即可登陆系统

-l:锁定用户账户

-S:查看用户账户的状态(是否被锁定)

-u:解锁用户账户

修改用户账号的属性usermod

 

 

-l:更改用户账户账号的登陆名称(Login Name)

-L:锁定用户账户

-U:解锁用户账户

u:修改用户的UID号

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

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

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

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

-s:指定用户的登陆 Shell

删除用户账号

 

 

在工作环境中删除用户要使用-r连同目录一起删除,不使用-r删除,再创建同名用户会报错

用户账号的初始配置文件

 

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

如果希望为所有用户添加登陆后自动运行的命令程序、自动设置变量等,可以直接修改/etc目录下的类似文件,如/etc/bashrc文件、/etc/profile文件。例如,执行一下操作可以为所有用户自动设置myls命令别名

vi /etc/bashrc

alias myls=’/bin/ls -lhr’

rource /etc/bashrc

用户账号的初始化配置文件

~/.bash_profile

示例代码中为用户添加了俩个环境变量(JAVA_HOME和CLASSPATH),并修改了已有环境变量PATH的值(PATH的查找是从以前开始查找,找到就返回)CLASSPATH环境变量的值实在JAVA运行时查找加载类的默认CLASS

.bashrc

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

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

用户登录——>加载~/.bash_profile——>bash_profile中配置了首先时使~/.bashrc生效

.bash_logout

用途:用户登出时执行的命令

#~/ .bash_logout

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

echo “Logout,’data’”

例:

如果需要每个用户登出时都清除输入的命令历史记录,可以在/etc/skel/.bash_logout文件中添加下面这行

rm -rf $HOME/.bash_history

这样,当用户每次注销时,.bash_history文件都会被删除

组账号文件

 

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

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

grep “root” /etc/group   ###检索那些组包括root用户

添加组账号

 

添加删除组成员

-a:添加用户到组

-d:从组删除用户

-A:指定管理员

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

-r:删除密码

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

将用户加入组

 

 删除组成员

 删除组账号

 

 查看账号信息

 文件/目录的权限和归属

 

 

 

查看目录和文件的权限

root用户、root组

如"drwxr-xr-x”和"-rw-r--r--"。权限字段由四部分组成,各自的含义如下所述。

第一个字符:表示该文件的类型,可以是d(目录)、b(块设备文件)、c(字符设备文件)、“-”(普通文件)、字母“l”(链接文件)等

第2-4个字符:表示该文件的输注用户(user)对该文件的访问权限

第5-7个字符:表示该文件的属组内各成员用户(Group)对该文件的访问权限

第8-10个字符:宝石其他任何用户(other)对该文件的访问权限

第11个字符:这里的“.”与SELinux有关,目前不必关注

设置文件和目录的权限

 

上述格式中,字符组合"[ugoa...] [+-=] [rwx ]"或数字组合"nnn"的形式表示要设置的权限模式。其中,"nnn"为需要设置的具体权限值,如"755""644”等;而“[ugoa...] [+-=] [rwx]"的形式中,三个组成部分的含义及用法如下所述。

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

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

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

设置文件和目录的归属

 

 权限掩码

 

 

总结

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

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

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

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

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

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

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有