栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【无标题】

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【无标题】

目录

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

1.1用户的分类

1.2linux系统中对应的用户文件

二.chage命令

三.组的分类

四.添加用户账号useradd

五.passwd命令

六.修改用户账号的属性usermod

七.删除用户账号userdel

八.用户账号的初始配置文件

九.组账号文件

十.添加删除组成员gpasswd

十一.删除组账号groupdel

十二.查看目录和文件的属性root用户、 root组

十三.设置文件和目录的归属chown

十四.权限掩码umask

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


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

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

组帐号
基本组(私有组)附加组(公共组)

UID和GID
UID (User IDentity,用户标识号);GID (Group lDentify,组标识号)

1.1用户的分类

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

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

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

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

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

管理员组:root, 0

普通组:GID

系统组:1-499 ( centos6) , 1-999 (CENTOS7)普通组:500+ (centos6) , 1000+ (CENTOS7)

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

基本组:基于某种特定联系(如都需要访问FTP服务)将多个用户集合在一起,即构成一个用

户组,表示该组内所有用户的账号称为组账号。每一个用户账号至少属于一个组,这个组称为该用户的基本组(或私有组):

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

1.2linux系统中对应的用户文件

用户账号文件/etc/passwd
保存用户名称、宿主目录、登录Shell等基本信息

文件位置:/etc/passwd

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

[root@localhost ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin


passwd文件账号记录详细说明
root: x:0:0 : root : /root: /bin/ bash详解如下:

root:用户名,用户名仅是为了方便用户记忆。Linux系统是通过UID来识别用户身份,分配用户权限。x;表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件

Linux系统把真正的加密密码串放置在/etc/shadow文件中,此文件只有root用户可以浏览和操作,最大限度地保证了密码的安全。

补充:

注意 !! ,虽然"x"并不表示真正的密码,但也不能删除,如果删除了"x",那么系统会认为这个用户没有密码,从而导致只输入用户名而不用输入密码就可以登陆(只能在使用无密码登录,远程是不可以)。

0:用户账号的UID 号。

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

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

/ root:宿主目录,即该用户登录后所在的默认工作目录

注:通常称为用户的主(家)目录。例如: root主目录为/root,普通用户odysee的主目录为/home/odysee/bin/bash录shell等信息,用户完成登录后使用的

/etc/ shadow(影子文件)

/etc/ shadow文件只有 root权限才可以进入

用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性和/etc/passwd文件一样,文件中每行代表一个用户,同样使用":"

作为分隔符,不同之处在于,每行用户信息被划分为9个字段

用户账号文件/etc/shadow(影子文件)
保存用户的密码、账号有效期等信息

文件位置:/etc/shadow

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

[root@localhost ~]# head -2 /etc/shadow
root:$1$55HB4pbx$acHqk4IZiHTZ9cwOZJe8f0:14374:0:99999:7:…bin:*:14374:0:99999:7:::
[root@localhost ~]# tail -1 /etc/shadow
teacher:$1$BT7teaYX$s2sr6uFUwKhtU.8/8VpzB1:14374:0:99999:7:::



第一列:账户名

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

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

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

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

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

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

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

第九列:保留,未使用

二.chage命令
 

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

语法 chage  [选项]  用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。chage -M 60 root
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d: 上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

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

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

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

date -d "+45 days" -u   /如果不知道时间可以用date查看
-u : UTC时间

第三个字段为:密码最后一次修改的时间 ( chage -d)
第四个字段为:密码最小修改间隔时间( chage -m)
第五个字段为:密码的有效期( chage -M)
第六个字段为:密码需要变更前的警告天数( chage -w)
第七个字段为:密码过期后的宽限天数( chage -I)
第八个字段为:账号失效时间( chage -E)
 

三.组的分类

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

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

附加组,一般一个用户可以有0个或多个附加组

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

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

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

四.添加用户账号useradd

-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 -l /etc/shadow
ls /home

创建一个辅助管理员账号
admin,将其基本组指定为"wheel",附加组指定为"root”,宿主目录指定为" /admin"
useradd -d /admin -g wheel -G root admin
id admin 查看
设置/更改用户口令passwd


五.passwd命令

扩允
#调用管道符,给zhangsan 用户设置密码“123",为了方便系统管理,passwd命令提供了
--stdin选项,用于批量给用户设置初始密码。
echo "123"" | passwd --stdin zhangsan
-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户。
-S:查看用户账户的状态(是否被锁定)。
-u:解锁用户账户。
passwd -l zhang
passwd -S zhang
passwd -u zhang
passwd -d zhang
 

六.修改用户账号的属性usermod

usermod命令参数
-l:更改用户账号的登录名称( Login Name ) 。
-L:锁定用户账户。
-U:解锁用户账户
u:修改用户的UID号。
-d:修改用户的宿主目录位置。
-e:修改用户的账户失效时间,可使用YYYY-MM-DD的日期格式。
-g:修改用户的基本组名(或使用GID号)。
-G:修改用户的附加组名(或使用GID号) 。
-s:指定用户的登录shell。
 

七.删除用户账号userdel

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

[root@localhost ~]#useradd stu01
[root@localhost ~]# ls -ld /home/stu01/drwX------ 2 stu01 stu01 4096 09-09 12:38 /homelstu01/
[root@localhost ~]# userdel -r stu01      #删除用户账号stu01
[root@localhost ~]# Is -ld /homelstu01/ls:/homelstu01/:没有那个文件或目录



八.用户账号的初始配置文件

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

主要的用户初始配置文件
~/.bash_profile       开机自启动
~/.bashrc             开机自启动
~/.bash_logout        关机自启动

用户账号的初始配置文件

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

2 .bashrc

例子中定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)

每次修改.bashrc后,使用source ~/.bashrc(或者.~/.bashrc)就可以立刻加载修改后的设置,使之生效。

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

关于环境变量的读取顺序:

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

3 .bash_logout

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

#~ / .bash_logout

在当前用户登出时,打印出Logout和当前的时间echo "Logout, "date "

九.组账号文件

与用户账号文件相类似
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息

[root@localhost ~]# grep "adm" /etc/group
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon


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

grep "^root" /etc/group     //检索root组包括哪些用户
grep "root" letc/group     //检索哪些组包括root用户
groupadd命令
groupadd[-g GID]   创建组账号名
groupadd -g 1200 market
tail -1 /etc/group


十.添加删除组成员gpasswd

groupadd命令
groupadd [-g GID] 组账号名
groupadd -g i20o market
tail -1 /etc/group
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 adm
grep "^adm" /etc/group
adm: x : 4 : root, daemon , webmaster,mike
 

十一.删除组账号groupdel

groupdel 命令
groupdel 组账号名
groupdel market
grep "market" letc/group


查询用户所属的组 groups
groups [用户名]

查询用户身份标识 ip
id [用户名]

查询用户账号的详细信息 finger
finger [用户名]

查询已登录到主机的用户信息
w、who、 users    #查询己登录到主机的用户信息

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

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

User:登录用户名

TTY:登录后系统分配的终端号From:远程主机名,即从哪登录的

login@:何时登录

IDEE:用户空闲时间。这是个计时器,一旦用户执行任何操作,改计时器就会被重置。JCPU:和终端连接的所有进程占用时间。包括当前正在运行的后台作业占用时间

PCPU:当前进程所占用时间

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

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

文件/目录的权限和归属
访问权限
读取 r:允许查看文件内容,显示目录列表

写入w:允许修改文件内容,允许在目录中新建,移动,删除文件或子目录

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

归属(所有权)
属主:拥有该文件或目录的用户账号

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

查看文件/目录的权限和归属

[root@localhost ~]# Is -l install.log
-rw-r-r-- 1 root root 34298 04-02 00:23 install.log


 


十二.查看目录和文件的属性
root用户、 root组

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

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

第2~4个字符:表示该文件的属主用户(User)对该文件的访问权限。

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

第8~10 个字符:表示其他任何用户(other)对该文件的访问权限。

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

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

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

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

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

案例

[ root@ky17 1门].cp /bin/mkdir mynkdir
[ root@localhost ~]#  ./mymkdir dir01
[ root@localhost ~]#ls
anaconda-ks.cfginitial-setup-ks.cfg   公共  视频  文档  音乐
dir01               mymkdir           模板  图片  下载  桌面
[ root@localhost ~]# ls -ld dir01
drwxr-xr-x 2 root root 6 5月15 00:11 dir01
[root@localhost ~]# chmod ugo-x mymkdir
[root@localhost ~]# ls -l mymkdir
-rw-r--r-- 1 root root 79768 5月15 00:09 mymkdir
[root@localhost ~]# ./mymkdir dir02
-bash: ./mymkdir:权限不够
[root@localhost ~]chmod u+x,o-r mymkdir
[root@localhost ~]# ls -l mymkdir
-rwxr----- 1 root root 79768 5月 15 00:09 mymkdir
[humj@ky17 / ]# cat mymkdir
[root@localhost ~]# chmod u+x,o-r mymkdir
[root@localhost ~]# ls -l mymkdir
-rwxr—---- 1 root root 79768 5月 15 00:09 mymkdir
[root@localhost ~]# chmod 755 mymkdir
[root@localhost ~]# ls -l mymkdir
-rwxr-xr-x. 1 root root 79768 Apr 18 09:38 mymkdir
ls -ld /var/ftp/pub/
drwxr-xr-x 2 root root 6 5月 15 00:20 /var/ftp/pub/
[root@localhost ~]# chown -R ftp /var/ftp/pub/  #//修改前的属主为root
[root@localhost ~]# ls -ld /var/ftp/pub/   /修改后的属主变为ftp
drw-r--r-- 2 ftp root 6 Nov 5 15:43 /var/ftp/pub/
[rootelocalhost ~]# ls -ld /var/ftp/pub/
drwxr-xr-x 2 ftp root 6 5月15 00:20 /var/ftp/pub/
如果同时设置目录和文件的属主、属组,则需要用到分隔符" :"。
例如,执行以下操作可︰将mymkdir文件的属主更改为daemon、属组更改为wheel。
[rootelocalhost ~]. ls -ld mymkdir
-rwxr-Xr-x. 1 root root 79768 Apr 18 09:38 mymkdir
[root@localhost ~]# chown daemon : wheel mymkdir
[root@localhost ~]# ls -ld mymkdir
-rwXr一Xr-x. 1 daemon wheel 79768 Apr 18 09:38 mymkdi



十三.设置文件和目录的归属chown

chown命令
chown 属主  文件或目录
chown 属组  文件或目录
chown 属主:属组 文件或目录
常用选项
 -R:递归修改指定目录下所有文件、子目录的归属


十四.权限掩码umask

umask作用
控制新建的文件或者目录权限

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

umask设置:umask 022
umask查看:umask
示例
将umask设为000,新建目录或者文件,查看权限

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

[root@kgc ~]umask 000
[root@kgc ~]mkdir /umaskl
[root@kgc ~]ls-ld /umaskl/
drwxrwxrwx 2 root root 4096 3 月13 17:02 /umaskl/
[root@kgc ~]umask 022
[root@kgc ~]mkdir /umask2
[root@kgc ~]ls -ld /umask2/
drwxr-xr-x 2 root root 4096 3 月13 17:03 /umask2/


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

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

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

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

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/675957.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号