Linux账号和权限管理 | 您所在的位置:网站首页 › 如何查看被禁用的网络 › Linux账号和权限管理 |
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 实验室设备网 版权所有 |