账号和权限管理

文章详细介绍了Linux操作系统中的用户账户类型,包括超级用户、普通用户和程序用户,以及组账户的基本概念。同时,阐述了用户账户文件如/etc/passwd和/etc/shadow的作用和内容,以及如何创建、修改用户账户。此外,还涉及到了主机名的修改和用户密码管理,以及文件和目录的权限设置与归属变更。
摘要由CSDN通过智能技术生成

一、用户账户和组账户

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

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

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

组账号:
基本组(私有组):基本组账号只有一个,一般为创建用户时指定的组。
在/etc/passwd文件中第4字段记录的即为该用户的基本组 GID 号。

二、用户账户文件

/etc/passwd
基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改。
root❌0:0:root:/root:/bin/bash(以:为划分字段)
字段1:用户帐号的名称
字段2:用户密码占位符“x”
字段3:用户帐号的UID号
字段4:所属基本组帐号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell信息(/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)

/etc/shadow
默认只有 root 用户能够读取 shadow 文件中的内容,且不允许直接编辑该文件中的内容。

修改主机名hostname
临时修改主机名

[root@localhost ~]# hostname lc

永久修改主机名(两种方法)

1.[root@localhost ~]# vim /etc/hostname
2.[root@localhost ~]# hostnamectl set-hostname lc
[root@localhost ~]# su //刷新

添加用户账号 useradd
-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-g:指定用户的基本组名(或使用 GID 号),对应的组名必须已存在。
-G:指定用户的附加组名(或使用 GID 号),对应的组名必须已存在。
-M:不建立宿主目录。
-s:指定用户的登录 Shell,(比如/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)。

例:
创建用户lc。指定UID 1010,家目录/opt/lc,基本组test, 附加组test1,指定shell /bin/bash lc

useradd -u 1010 -d /opt/lc -g test -G test1 -s /bin/bash lc

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

出现-bash-4.2$的解决方法:

[root@localhost home]# cp /etc/skel/.bashrc /home/lc/
[root@localhost home]# cp /etc/skel/.bash_profile /home/lc/
[root@localhost home]# chown test:tets/home/lc/.bash_profile
[root@localhost home]# chown test:test /home/lc/.bashrc

例:恢复登录

#创建test用户
[root@localhost /]# useradd -u 1010 -d /opt/test -g boge -G ky30 -s /bin/bash test      
#修改test用户UID
[root@localhost opt]# usermod -u 1005 test
[root@localhost opt]# cat /etc/passwd
[root@localhost opt]# cd /home
[root@localhost home]# ls
123  456  boge  ky30  llc
#切换test用户,显示-bash-4.2$是因为家目录没有创建完全。
[root@localhost home]# su - test
Last login: Wed Jun 14 22:43:27 PDT 2023 on pts/0
su: warning: cannot change directory to /home/test: No such file or directory
-bash-4.2$ su
[root@localhost home]# mkdir test
[root@localhost home]# su - test
Last login: Wed Jun 14 22:51:08 PDT 2023 on pts/0
-bash-4.2$ exit
Logout
#复制.bashrc到test目录下
[root@localhost home]# cp /etc/skel/.bashrc /home/test/
#复制.bash_profile到test目录下
[root@localhost home]# cp /etc/skel/.bash_profile /home/test/
#设置文件和目录的归属,发现没有group
[root@localhost home]# chown test:test /home/test/.bash_profile
chown: invalid group: ‘test:test’
[root@localhost home]# cat etc/group
cat: etc/group: No such file or directory
#给test添加group
[root@localhost home]# groupadd test
[root@localhost home]# cat /etc/group
[root@localhost home]# cd test
# test家目录下多出几个隐藏文件,ls -al查看隐藏文件
[root@localhost test]# ls -al
total 8
drwxr-xr-x. 2 root root  42 Jun 14 22:54 .
drwxr-xr-x. 6 root root  75 Jun 14 22:53 ..
-rw-r--r--. 1 root root 193 Jun 14 22:54 .bash_profile
-rw-r--r--. 1 root root 231 Jun 14 22:54 .bashrc
#设置.bash_profile和/.bashrc 的归属为test
[root@localhost test]# chown test:test /home/test/.bash_profile
[root@localhost test]# chown test:test /home/test/.bashrc
[root@localhost test]# su - test
Last login: Wed Jun 14 22:53:12 PDT 2023 on pts/0

用户账号设置密码 passwd
root用户可以指定用户名作为参数,对指定账号的密码进行管理。
普通用户却只能执行单独的“passwd”命令修改自己的密码。

-d:清空指定用户的密码,仅使用用户名即可登录系统。
-l:锁定用户账户,锁定的用户账号将无法再登录系统。
-S:查看用户账户的状态(是否被锁定)。
-u:解锁用户账户。

echo 123 | passwd --stdin dxl //设置密码

附加组gpasswd
附加组(公共组):用户除了基本组以外,额外添加指定的组,可有可无,可以有多个

useradd 123
gpasswd -a lc 123 //正在将用户“lc”加入到“123”组中
gpasswd -d lc 123 //正在将用户“dxl”从“123”组中删除

设置目录和文件的权限 chmod
chmod [ugoa…][±=][rwx] 文件或目录
“ugoa”表示该权限设置所针对的用户类别。“u”代表文件属主,“g”代表文件属组内的用户,“o”代表其他任何用户,“a”代表所有用户(缺省时为a)。
“±=”表示设置权限的操作动作。“+”代表增加相应权限,“-”代表减少相应权限,“=”代表仅设置对应的权限。
“rwx”是权限的字符组合形式,也可以拆分使用,如“r”“rx”等。
chmod nnn 文件或目录
-R:递归修改指定目录下所有子目录及文件的权限

[root@localhost opt]# chmod 777 qzz

设置目录和文件的归属 chown
chown 属主 文件或目录
chown :属组 文件或目录
chgrp 属组 文件或目录
chown 属主:属组 文件或目录
chown 属主.属组 文件或目录
-R:递归修改指定目录下所有子目录及文件的归属

练习

[root@localhost test]# cd /home
[root@localhost home]# vim /etc/profile

在这里插入图片描述

#source读取文件配置,使其立即生效
[root@localhost home]# source /etc/profile
[root@localhost home]# cat /etc/passwd

在这里插入图片描述
#全局生效
在这里插入图片描述
修改.bash_profile,只能在当前用户生效

[root@localhost home]# cd test
[root@localhost test]# ls -al
total 8
drwxr-xr-x. 2 root root 42 Jun 14 22:54 .
drwxr-xr-x. 6 root root 75 Jun 14 22:53 …
-rw-r–r–. 1 test test 193 Jun 14 22:54 .bash_profile
-rw-r–r–. 1 test test 231 Jun 14 22:54 .bashrc
[root@localhost test]# vim .bash_profile

在这里插入图片描述

#出现如下情况,需要重启终端再重新执行source
[root@localhost test]# source .bash_profile
‘abrt-cli status’ timed out

在这里插入图片描述
同样修改.bashrc,只能在当前用户生效

[root@localhost test]# vim .bashrc
在这里插入图片描述
在这里插入图片描述

指定用户登陆时,以脚本的形式执行,弹出来提示语 “欢迎你!”

[root@localhost test]# vim test.sh
[root@localhost test]# useradd LC
[root@localhost test]# chmod 777 test.sh
[root@localhost test]# vim /home/LC/.bash_profile
[root@localhost test]# pwd
/home/test
[root@localhost test]# su - LC
欢迎您!
[LC@localhost ~]$

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值