1、UID和GID
Linux是多用户多任务操作系统, 允许多个用户同时登录Linux系统, 使用系
统资源。每个使用Linux资源的用户都有一个用户名,Linux使用UID(UserlD)来识别该用户。root为Linux系统管理 员的用户名,UID为0,
root对Linux系统拥有完全权限,因此使用root用户登录时,所有操作应格
外小心。
Linux还使用用户组的概念来管理具有相同属性的用户。一个用户可以属于
多个用户组,一个用户组可以包含多个用户。Linux使用GID (GrouplD)
来识别用户组,root组的GID为0。
2.用户与用户组相关文件
(1) /etc/passwd
/etc/passwd文件存储 与用户账户相关的信息,root用户的账户信息在passwd文件中如下所示,其中冒号作为各部分的分隔符:
root: x: 0: 0: root: /root: /bin/bash
从左至右各部分含义如下:
root:用户名
x:密码占位,实际密码存储在/etc/shadow中,passwd文件中并没有密码
第1个0:用户的UID,root用户UID为0
第2个0:用户所属组GID,root用户 属于root组,root组的GID为0
root:对该用户的说明,用于帮助理解该用户
/root:用户家目录(主目录),root用户的家目录是/root
/bin/bash:用户的shell程序,Linux支持多 种shell程序,通常可以登录用户均使用/bin/bash作为shell程序
(2) /etc/shadow
/etc/shadow文 件存储与用户密码相关的信息,root用户的密码相关信息如下所示, 其冒号作为各部分的分隔符:
root: $6$ShyBnHXD6i8s TslU$ynTcqRosu47jpwqduyQptxLg7qakMeV8hu8U3lqmI/PR81nc/9lyIllRM7aE7nwil1X.jm25
VCpEWcMsd0H0.: 16701: 0: 99999: 7: : :
从左至右各部分含义如下:
root:用户名
$6$ShyBnHXD6i8sTslU$yn' TcqRosu47jpwqduyQptxLg7qakMeV8hu8U3IQmI/PR81nc/9lylclIRM7aE7nwi1X.jm25VCpEWcM
sd0H0..加密后的root用户密码
16701:密码最近修改日期,该日期用距离UNIX时间1970年1月1日的天数来表示
0:密码最短有效天数,表示密码至少使用多少天,0表示无限制
99999:密码最长有效天数,99999表示永久有效
7:密码失效前警告天数,即在密码还有7天失效时发出警告
(3) /etc/group
/etc/group/文件存储与用户组相关的信息,root用户组的相关信息如下所
示,其中冒号作为各部分的分隔符:
root: x: 0: user1
从左至右各部分含义如下:
root:用户组名
x:用户组密码,通常不使用
0:组ID (GID) ,root用户组的GID为0
user1: 加入该组的普通用户,说明user1已加入到root用户组,拥有root组权限。
3、(1)增加用户命令useradd
useradd命令用于在系统中增加用户其基本法如下:
[root@server ~]# useradd user 在系统中增加用户user
将新增一个名为user的用户,同时也将新增一个名为user用户组,
该用户组中只有一个user用户,同时将自动创建/home/user/目录作为该
用户的主目录。该命令将自动在/etc/passwd、 /etc/shadow、 /etc/group
等文件中写入与该用户和用户组相关的缺省信息。
在创建 用户时也可以使用参数指定该用户与账户相关的信息,其主要参数如下:
-C:指定该用户的说明信息,默认该说明信息为空
-d: 指定该用户的主目录(家目录)
-e:指定用户账户过期日期
-g:指定用户基本用户组
-G:指定用户附加组
-S:指定用户登录后的shell
-U: 指定用户的UID
其用法如下:
[root@server ~]# useradd user2 -C testuser -d /user2 -e 2020-04-08 -g root -U 1100 -G user1
该命令 新增用户user2,用户说明为testuser, 主目录指定为/user2,账户过期日期为2020年4月8日,基本组为root组,附加组为user1组,UID为1100。
(2)修改用户账户命令usermod
如果在创建用户时, 没有指定用户账户的相关信息,在使用过程也可以使
用usermod命令对用户账户的相关信息进行修改。usermod命令可以使用
参数和useradd基本相同,使用方法也相同,只是-d参数有一点不同,如下
所示。
[root@server ~]# usermod -d /home/testuser user2 #修改user2家目录为
/home/testuser
使用useradd时-d参数指定的目录会自动创建,而使用usermod时不会自动
创建目录,需要手动创建目录/home/testuser
(3)修改用户密码命令passwd
锁定用户账户
passwd命令 还可以用于锁定用户账户,其用法如下:
[root@server ~]# passwd -| user2 锁定user2账户
命令执行结果
passwd:操作成功
[root@server ~]# grep user2 /etc/shadow #查看user2在/etc/shadow文件中信息
user2: !!$6$5gqU87Oj$jfLHSTHpYNvpobTtZdU3Cj5FOnMWjpGm961hDcgQZa2hLs2Fg
VLzjPFGWg. 3agHpgp8xbd8Cz0zyY80NByJ2K1: 17430: 0: 9999: 7: : 17532:
密码前的!符号,表示密码锁定用户不能登录
解锁用户账户
[root@server ~]# passwd -u user2 #解锁user2
解锁用户user2的密码。
命令执行结果
passwd: 操作成功
[root@server ~]# cat /etc/shadow| grep user2 #查看user2在/etc/shadow文件中信息
user2: $6$5gq∪87Oj$jfLHSTHpYNvpobTtZdU3Cj5FOnMWjpGm961hDcgQZa2hLs2Fg
VLzjPFGWg.3agHpgp8xbd8Cz0zyY80NByJ2K1: 17430: 0: 9999: 7: : 17532:
密码前的!符号消失,表示用户密码锁定解锁,用户可以登录。
(4)删除用户命令userdel
userdel命令 用于删除用户账户,其基本用法如下:
[root@server ~]# userdel user2 删除用户user2
[root@server ~]# userdel -r user2 删除用户user2及与user2相关的所有文档
(5) 切换用户命令su
su用于切换用户,其基本用法如下:
[root@server ~]# su user1 #切换用户为user1
[root@server ~]# Su #切换用户为root, su不加用户名默认为切换到root
[root@server ~]# su - user1 使用user1的shell成为登录shell
在su命令中, 没有“一”只是切换身份, 如果要退出该身份,使用命令exit;加
“-"表示切换整个shell环境,可以理解为切换得更彻底一些,如果要退出登录环境可以使用命令logout。
(6)与用户组相关命令
常用的与用户组相关命令的基本用法如下:
[root@server ~]# groupadd group1 #增加名为group1的用户组
[root@server ~]# gpasswd -a user1 group1 #将用户user1加入到group1中
正在将用户"user1"加入到"group1"组中
[root@server ~]# gpasswd -d user1 group1 将用户user1从group1中删除
[root@server ~ ]# groupdel group1 #删除用户组group1
4、使用命令查看其账户信息:
[root@server ~]# grep user2 /etc/passwd 查看/etc/passwd文件中user2账户信息
user2: x: 1100: 0: testuser: /user2: /bin/bash
[root@server ~ ]# grep user2 /etc/shadow
查看/etc/shadow文件中user2密码信息
user2: !!: 17430: 0: 99999: 7: : 17532: 设置密码,还不能够登录
[root@server ~]# grep user2 /etc/group 查看/etc/group文件中user2的附加组信息
user1: x: 1000: user2
5、文件权限解析
在文件的详细信息中, 包含不同用户对该文件的访问权限信息 ,和该文件
的所属用户、用户组信息,以目录文件dir的详细信息为例,分析其访问权
限
r:读权限 w:写权限 x:执行权限 -:无对应权限
drwx r-x r-x. root root
文件所属用 文件所属用户 其他用户对文件有 所属用户 所属组
用户对该文件有 组队文件有读和执行的 读和执行的权限
读写执行权限 权限
6、修改文件权限命令chmod
Chmod:u用户的权限,g用户组的权限,o修改其他用户的权限,a修改所有用户的权限。
数字修改:rwx数字依次为421
7、修改所有者chown -R将所有字目录的文件所有者改为
Chown user1:group1 chowndir 将文件的所有者改为user1,所属组改为group1