用户和组
用户账号
- 超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限。系统中超级用户是唯一的。
- 普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。
- 程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等。
组账号
- 基本组(私有组):基本组账号只有一个,一般为创建用户时指定的组。在/etc/passwd文件中第4字段记录的即为该用户的基本组GID号。
- 附加组(公共组):用户除了基本组以外,额外添加指定的组。
相关文件
- /etc/passwd:文件用户的配置文件,保存用户名称、宿主目录、登录Shell 等基本信息
- /etc/group:文件组的配置文件,记录Linux包含的组的信息
- /etc/shadow:文件口令的配置文件,保存用户的密码、账号有效期等信息
- /etc/gshadow:组密码及其相关属性
文件属性
rwx
- 读取r:允许查看文件内容、显示目录列表
- 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
- 可执行x:允许运行程序、切换目录
注意:三个权限的位置不会改变,如果没有权限,就会出现-代替,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。
权限 |
读 |
写 |
执行 |
|
字符 |
r |
w |
x |
- |
数字 |
4 |
2 |
1 |
0 |
查看文件/目录的权限和归属
字符 |
描述 |
d |
目录 |
- |
文件 |
l |
链接文档(link file) |
b |
装置文件里面的可供储存的接口设备(可随机存取装置) |
c |
装置文件里面的串行端口设备 |
- 第一段(3位):代表拥有者的权限
- 第二段(3位):代表拥有者所在的组,组员的权限
- 第三段(3位):代表的是其他用户的权限
每个文件的属性由左边第一部分的10个字符来确定
类型 |
文件类型 |
属主权限 |
属组权限 |
其他用户权限 |
位置 |
0 |
123 |
456 |
789 |
用户管理
查看用户信息
- whoami:查看当前用户
- who:打印当前登录用户
参数 |
描述 |
-a |
打印全面信息 |
-b |
打印系统最近启动时间 |
-d |
打印死掉的进程 |
-l |
打印系统登录进程 |
-H |
带有列标题打印用户名,登录终端和登录时间 |
-t |
打印系统上次锁定时间 |
-u |
打印已登录用户列表 |
exit:退出登录账户
useradd:添加用户
参数 |
描述 |
-u |
指定用户的 UID 号,要求该 UID 号码未被其他用户使用。 |
-d |
指定用户的宿主目录位置(当与-M 一起使用时,不生效)。 |
-e |
指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 |
-g |
指定用户的基本组名(或使用 GID 号),对应的组名必须已存在。 |
-G |
指定用户的附加组名(或使用 GID 号),对应的组名必须已存在。 |
-m |
用户目录不存在时自动创建 |
-M |
不建立宿主目录。 |
-s |
指定用户的登录 Shell,(比如/bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)。 |
-r |
建立系统账号 |
-c |
添加备注文字 |
1 2 3 4
| useradd -m liyou1:创建用户名,并且创建与用户名相同的目录与用户组 useradd -d /home/liyou -m liyou2:指定用户目录 useradd -g ftp liyou3:指定用户组 useradd -p 123 liyou4:指定用户密码
|
userdel:删除用户
1 2 3
| userdel liyou:删除用户,但不删除其家目录及文件 userdel -r liyou:删除用户,并将其家目录及文件一并删除 userdel -f liyou:强制删除用户
|
usermod:修改用户账号
参数 |
描述 |
-u |
修改用户的 UID 号。 |
-d |
修改用户的宿主目录位置。 |
-e |
修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 |
-g |
修改用户的基本组名(或使用 GID 号)。 |
-G |
修改用户的附加组名(或使用 GID 号)。 |
-s |
指定用户的登录 Shell。 |
-l |
更改用户账号的登录名称 |
-L |
锁定用户账户 |
-U |
解锁用户账户 |
1 2 3 4 5
| usermod -d /home/liyou liyou:更改登录目录 usermod -u 777 liyou:改变用户的uid usermod -l liyou liyou1:修改用户名liyou1为liyou usermod -L liyou:锁定密码 usermod -U liyou:解锁密码
|
passwd:设置用户密码
参数 |
描述 |
-d |
清空指定用户的密码,仅使用用户名即可登录系统。 |
-l |
锁定用户密码,无法被用户自行修改,锁定的用户账号将无法再登录系统。 |
-u |
解开已锁定用户密码,允许用户自行修改(-u解锁时,如果没有密码会提示,需要使用-f强制解锁) |
-e |
密码立即过期,下次登录强制修改密码 |
-k |
保留即将过期的用户在期满后仍能使用 |
-S |
查看用户账户的状态(是否被锁定)。 |
1 2 3 4 5 6
| passwd:设置当前用户密码 passwd liyou1:设置用户密码 passwd -l liyou1:锁定密码不允许用户修改 passwd -u liyou1:解除锁定密码,允许用户修改 passwd -e liyou1:下次登录强制改密码 passwd -d liyou1:移除用户密码
|
sudo:用超级用户的权限执行命令
sudo是为所有想使用root权限的普通用户设计的,可以让普通用户具有临时使用root权限的权利,只需输入自己账户的密码即可
1 2
| # 进入sudo配置文件命令 vi /etc/sudoer或者visudo
|
su:切换用户
su用于用户之间的切换,但是切换前的用户依然保持登录状态。如果是root向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。
1 2 3 4 5
| su test:切换到test用户,但是路径还是/root目录 su - test :切换到test用户,路径变成了/home/test su:切换到root用户,但是路径还是原来的路径 su - :切换到root用户,并且路径是/root exit、logout:退出返回之前的用户
|
用户组管理
groupadd:添加组
参数 |
描述 |
-g |
指定新建工作组的id |
-r |
创建系统工作组,系统工作组的组ID小于500 |
-K |
覆盖配置文件“/ect/login.defs” |
-o |
允许添加组ID号不唯一的工作组 |
1 2 3
| groupadd usergroup1:创建用户组 groupadd -g 8563 usergroup1:创建用户组,指定工作组id groupadd -r usergroup1:使用-r创建系统工作组
|
groupdel:删除用户组
给出的组名必须存在,若改群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组
1
| groupdel usergroup1:删除用户组
|
gpasswd:设置用户的用户组
参数 |
描述 |
-a |
添加用户到组 |
-d |
从组删除用户 |
-A |
指定管理员 |
-M |
定义组成员列表,以逗号分隔 |
-r |
删除密码 |
-R |
限制用户登入组,只有组中的成员才可以用newgrp加入该组 |
1 2
| gpasswd -a liyou usergroup1:添加用户到组 gpasswd -d liyou usergroup1:移除用户出组
|
groupmod:更改用户组
参数 |
描述 |
-g |
设置欲使用的群组识别码 |
-o |
重复使用群组识别码 |
-n |
设置欲使用的群组名称 |
1 2
| groupmod -g 222 usergroup1:更改组ID groudmod -n usergroup1 usergroup2:更改组名
|
groups:查询用户所属的组
格式:groups [用户名]
权限修改
chmod:修改文件或目录权限
- u(user):所有者
- g(group):所有组
- o(other):其他人
- a(all):所有人
1 2 3 4 5 6 7 8 9 10 11 12 13
| chmod u=rwx,g=rx,o=x 文件目录名 #表示给所有者读、写、执行权限 ,给所有组读和执行权限,给其他人执行权限 chmod o+w 文件目录名 #表示给其他人添加写的权限 chmod a-x 文件目录名 #表示给所有人去除执行的权限
#1、给abc文件的所有者读写执行的权限,给所有组读执行权限,给其他组读执行权限 chmod u=rwx,g=rx,o=rx abc #2、给abc文件的所有者除去执行的权限,增加所有组写的权限 chmod u-x,g+w abc #3、给abc文件的所有用户添加读的权限 chmod a+r abc
|
**规则 **
- r=4:二进制 100
- w=2:二进制 010
- x=1:二进制 001
rwx=4+2+1=7
1 2 3 4 5
| chmod u=rwx,g=rx,o=x 文件目录名 #相当于chmod 751 文件目录名
#将/home/abc.txt文件的权限修改成rwxr-xr-x,使用数字的方式实现 chmod 755 /home/abc.txt
|
chown:修改文件所有者
参数 |
描述 |
-R |
递归修改指定目录下所有子项的权限 |
格式:
- chown newowner file:改变文件的所有者
- chown newowner:newgroup file:改变用户的所有者和所有组
1 2 3 4
| #将/home/abc.txt文件的所有者修改成tom chown tom abc.txt #将/home/kkk目录下所有的文件和目录的所有者都修改成tom chown -R tom kkk/
|
chgrp:修改文件所在组
格式:chgrp newgroup file:改变文件的所有组
1 2 3 4
| #将/home/abc.txt文件的所在组修改成bandit(土匪) chgrp bandit /home/abc.txt #将/home/kkk 目录下所有的文件和目录的所在组都修改成bandit(土匪) chgrp -R bandit /home/kkk
|