用户账号和组账号概述
Linux基于用户对资源访问进行控制
用户账户
超级用户:root :拥有所有权限,只有一个。
普通用户:用root创建。权限受限制。
程序用户:只能用于管理程序。如mySQL…
组账号
基本组:随着账号的创建而创建。有且只有一个基本组.
附加组:又是公共组,可以由多个用户加入
UID和GID
UID:用户标识 有且只有一个
GID:组标识号。
用户账号文件 /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
root:用户名
x:密码占位符。
0:UID
0:GID
root:描述性信息。可以自己定义(这个用户是干嘛的)
/root:目录
/bin/bash:登陆shell 。nolog:不可以登陆系统·
vim /etc/shadow :密码存放位置
root:$ 6 $ Qqg5YcQyfo6RFzAj$r87olAxXZlhFnRRjlfSgh4PEQxfCOFwDVudmwiYt1/Cuz9ixb168qr88uYGRFSzzQ.cHHRFwSkPriWmYdCn1f.::0:99999:7:::
root“用户账号
字符:加密密码 *:不能登陆系统 !!:不能登陆系统
第三段: 最近修改密码的时间。
第四段: 密码可以修改的最短时间。10的话表示:10天之内不能修改密码。0:随时可以更改
第五段: 这么多天之后必须修改时间。99999:不用修改,密码永久有效
第六段: 账号失效前几天警告。7 :七天以后失效
第七段: 账号失效的缓冲时间。
第八段: 账号失效的时间,那一天开始失效
第九段: 保留位
创建用户账号
useradd [选项] 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
useradd -s /sbin/nologin xzw :创建一个不能登陆系统的用户 -s:设置它的登陆shell
useradd -e 2021-05-16 -s /sbin/nologin -u 1005 -d /opt/xxx xxx :创建一个有uid,设置好家目录,不能登陆系统的用户且在2021.05.16号失效。-e:设置失效时间。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
useradd -M xxx :不指定家目录。 零时用
创建用户时,选项和用户可以颠倒。 useradd xxx -s /sbin/nologin
删除用户号:userdel 用户名 删除时主(家)目录还在
46 xzw:x:1001:1001::/home/xzw:/bin/bash
userdel -r 用户名 :家目录一起删除
useradd -u 1005 xzw :指定uid
root用户uid永远是0
程序用户的uid :1-999
普通用户uid 1000+
useradd -g 1000 xzw :指定gid 组必须存在
设置密码:passwd 用户名
echo “654321” | passwd --stdin liuchun :
给liuchun用户输入密码,无需交互。 - -stdin:标准输入
passwd -S 用户 :查看用户状态;
NP=NO passwd :无密码。
LK:锁定用户
ky11 PS 2021-05-06 0 99999 7 -1 :ps:表示是一个有密码的用户。 -1 :永不失效
passwd -l 用户名 :锁定用户,不可登陆,可以切换
passwd -u 用户: 解锁用户。
passwd -d 用户 : 将密码清除
修改用户帐号 usermod
usermod -L 用户 :锁定用户
usermod -U 用户:解锁用户
usermod -p 用户名 :设置密码
usermod -d /opt/xxx xxx :删除用户
usermod -s 修改用户登入后所使用的shell
组账号
vim /etc/group :查看组账号
vim /etc/gshadow :
groupadd
groupadd ky11 创建组名
groupdel ky11 删除组
groupadd -a :将组加入到
gpasswd -a xxx ky11 :将xxx加入到ky11组中
gpasswd -M xxx,zzz ky11 将xxx zzz加入到ky11
**groupmod **
-g <群组识别码> 设置欲使用的群组识别码。
-o 重复使用群组识别码。
-n <新群组名称> 设置欲使用的群组名称。
groupmod -n new old :修改组名
cat /etc/group | grep -n group1 :查找组里的用户
[root@localhost ~]# cat /etc/group | grep -n xzw
11:wheel: x:10:xzw
72:ky11: x:1000:xzw1,xzw2,xzw3
查询账户信息
groups
groups xxx :查看xxx在那个组
ID
id xxx:查看xxx在哪个组
id -g xxx :查看基本组。
id -G xxx :看基本组和公共组
finger
查询用户详情信息
finger 用户名
w,who,users
查询已登录到主机的用户信息
文件/目录的权限和归属
访问权限
读取:r :允许查看文件内容,显示目录列表
写入:w :允许修改文件内容,允许在目录中新建,移动。删除文件或子目录
可执行:x :允许运行程序,切换目录
归属(所有权)
属主:拥有该文件或目录的用户账号
属组:拥有该文件或目录的组账号
drwxr-xr-x. 2 root root 6 10月 31 2018 rh
第一位的d表示文件的类型
后面的九位表示文件的权限,以三位分隔,前三位rwx表示属主的权限,
中间三位r--表示属组的权限,
后三位r-x表示others其他人的权限,
每一位都有三种意思r、w、x,分别为可读、可写、可执行,-表示无权限,
r、w、x的数字权限表示分别为4、2、1,
其中重点的是目录中的x权限代表的是能不能进入目录中,
当文件中有x权限表示该文件可以像命令一样执行
控制用户对文件的权限的命令 chmod
7 读 + 写 + 执行 rwx 111
6 读 + 写 rw- 110
5 读 + 执行 r-x 101
4 只读 r-- 100
3 写 + 执行 -wx 011
2 只写 -w- 010
1 只执行 --x 001
0 无 — 000
chmod o=rwx xxx :给xxx改权限,o代表其他人。u代表属主,g代表属组
chmod o-x xxx :减掉x的权限
chmod o+x xxx :加x的权限
数字表示
chmod 707 xxx :将xxx权限改为 rwx---rwx
chown root xxx :将xxx的属主改为root
chgrp root xxx :
chown root.xxx xxx:将属主,属组改成 root, xxx
chown -R root.root xxx :将xxx下的所有文件改属主和属组为root
对于目录来说 最大权限是777
对于文件 默认最大权限是666
umask:·权限掩码
chown -R 属主:属组 目录 ;
递归更改目录及目录底下的所有文件的属主和属组