程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

Linux用户管理

balukai 2025-02-15 14:27:53 文章精选 9 ℃

1、用户信息文件

/etc/passwd

 root:x:0:0:root:/root:/bin/bash
 第一列:用户名
 第二列:密码位
 第三列:用户ID
 0 超级用户 UID。如果用户 UID 为0,代表这个账号是管理员账号。那 Linux 中如何把普通用户升级成为管理员呢?就是把其他用户的UID修改为0就可以了,这点和
 Windows 是不同的。不过不建议建立多个管理员账号。
 1-499 系统用户(伪用户)UID。这些UID账号是系统保留给系统用户的UID,也就是说 UID 是 1-499 范围内的用户是不能登录系统的,而是用来运行系统或服务的。其中1-99 是系统保留的账号,系统自动创建。100-499是预留给用户创建系统账号的。
 500-60000普通用户 UID。建立的普通用户 UID 从 500 开始,最大到 60000。这些用户足够使用了,但是如果不够也不用害怕,2.6.x内核以后的 Linux系统用户 UID 已经可以支持 2的32次方。
 第四列:组ID,GID 添加用户时,如果不指定用户所属的初始组,那么会建立和用户名相
 第五列:用户说明
 第六列:用户家目录
 第七列:登录 shell /bin/bash

把用户UI改为0,普通用户变成超级用户

2、影子文件

/etc/shadow

 [root@sun161 ~]# vim /etc/shadow
 root:$6$cgpLOuJ7SW649zZN$N.jnY/cGIcZvIEzSw0xuZydCxMK7aqQu3pFSUFSq.CPWQDkvkqiSPYX0EW.0S9YFeK0MMs/iv6xBPfeUKcVHk0::0:99999:7:::
 
 第一列:用户名
 第二列:加密密码,我们也可以在密码前人为的加入“!”或“*”改变加密值让密码暂时失效,使这个用户无法登陆,达到暂时禁止用户登录的效果。注意所有伪用户的密码都是“!!”或“*”
 ,代表没有密码是不能登录的。当然我新创建的用户如果不设定密码,它的密码项也是“!!”,代表这个用户没有密码,不能登录
 第三列:密码最近更改时间,1970年1月1日作为标准时间,
 第四列:两次密码的修改间隔时间(和第3字段相比)
 第五例:密码有效期(和第3字段相比)
 第六列:密码修改到期前的警告天数(和第5字段相比)
 第七列:密码过期后的宽限天数(和第5字段相比)
 第八列:密码失效时间,这里同样要写时间戳,也就是用1970年1月1日进行时间换算。如果超过了失效时间,就算密码没有过期,用户也就失效无法使用了
 第九列:保留

3、组信息文件

/etc/group

 root:x:0:
 
 第一列:组名
 第二列:组密码位
 第三列:GID
 第四列:此组中支持的其他用户.附加组是此组的用户
 初始组:每个用户初始组只能有一个,初始组只能有一个,一般都是和用户名相同的组作为初始组
 附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组
 4 组密码文件/etc/gshadow,如果我给用户组设定了组管理员,并给该用户组设定了组密码,组密码就保存在这个文件当中。组管理员就可以利用这个密码管理这个用户组了。
 5用户的家目录
 6用户邮箱目录
 这个邮箱在/var/spool/mail 目录当中,例如 user1 用户的邮箱就是/var/spool/mail/user1 文件
 7用户模板目录 /etc/skel默认隐藏 ll /etc/skel -a

4、添加用户

 useradd test

useradd 选项 用户名 选项: -u 指定 UID -g 组名 指定初始组 不要手工指定 -G 组名 指定附加组,把用户加入组,使用附加组 -c 说明 添加说明 -d 目录 手工指定家目录,目录不需要事先建立 -s shell /bin/bash.

5、设置密码

 passwd test

passwd [选项] 用户名 选项: -l:暂时锁定用户。仅 root 用户可用 -u:解锁用户。仅 root 用户可用 --stdin:可以将通过管道符输出的数据作为用户的密码。主要在批量添加用户时使用

#passwd 直接回车代表修改当前用户的密码 root@localhost#passwd

也可以使用字符串作为密码:更改用户 userl 的密码 。 echo "123"passwd --stdin userl 可以通过命令,把密码修改日期归零(shadow 第3字段).这样用户一登陆就要修改密码,例如: [root@localhost ~]# chage -d 0 user1

6、用户信息修改

 usermod [选项] 用户名

用户也可以修改用户名

 usermod -l 新名 旧名

7、删除用户

 userdel [-r] 用户名
 -r:在删除用户的同时删除用户的家目录

8、切换用户身份

 su [选项] 用户名

选项: -:选项只使用“-”代表连带用户的环境变量一起切换 -c命令:仅执行一次命令,而不切换用户身份

“-”不能省略,它代表切换用户身份时,用户的环境变量也要切换成新用户的环境变量。

9、添加用户组groupadd

 groupadd [选项] 组名
 选项 -g GID:指定组id

10、删除用户组

 groupdel 组名

11、用户添加进组或从组中删除

 gpasswd [选项] 组名
 选项
 -a 用户名:把用户加入组
 -d 用户名:把用户从组中删除

也可以使用 usermod命令把用户加入某个组,不过 usermod 命令的操作对象是用户命令是 “usermod -G grouptest user1”,把用户名作为参数放在最后;而 gpasswd 命令的操作对象是组,命令是 “gpasswd -a userl grouptest”,把组名作为参数放在最后。

12、为文件设置权限

 [root@sun161 test]# mkdir test
 [root@sun161 test]# useradd user1
 [root@sun161 test]# passwd user1
 Changing password for user user1.
 New password: 
 BAD PASSWORD: The password is shorter than 8 characters
 Retype new password: 
 passwd: all authentication tokens updated successfully.
 [root@sun161 test]# useradd user2
 [root@sun161 test]# passwd user2
 Changing password for user user2.
 New password: 
 BAD PASSWORD: The password is shorter than 8 characters
 Retype new password: 
 passwd: all authentication tokens updated successfully.
 [root@sun161 test]# groupadd tg
 [root@sun161 test]# gpasswd -a user1 tg
 Adding user user1 to group tg
 [root@sun161 test]# gpasswd -a user2 tg
 Adding user user2 to group tg
 [root@sun161 test]# chown test:tg test/
 [root@sun161 test]# ll -d test/
 drwxr-xr-x. 2 test tg 6 Dec 28 18:09 test/



最近发表
标签列表