一,用户权限基础知识
1,用户的权限有:
2,文件的权限:
- r:可以执行cat、head、tail等命令读取文件中的内容
- w:可以用vi/vim或者重定向等操作向文件中写入内容或着修改内容
- x:可以执行文件
3,目录的权限:
- r:可以执行ls命令,来查看目录下有哪些文件
- w:可以在目录执行文件创建和删除等操作
- x:可以执行cd命令
4,用户的角色:
- 属主用户(u)
- 属组用户(g)
- 其他用户(o)
- 全部用户(a)
5,文件的权限位:
-rw-r--r--
- rw- r-- r--
一般文件 属主:读写权限 属组:读权限 其他用户:读权限
6,权限位的解释
1)第一位:表示文件的类型
2)第二位
-
第四位:表示文件属主所有具有的权限
3)第五位
-
第七位:表示文件的属组所具有的权限
4)第八位
-
第十位:表示系统中其他的用户所具有的权限
注意:
每一类用户的权限顺序都是:读、写、执行
如果相对应的权限,就会出现字符,没有就会显示
-
二,用户的几个命令
1,chown命令
作用:修改文件的属主
格式:
chown userName [-R] fileName
选项:
-R
:在修改目录的时候,将目录的目录中的文件一并修改
例:修改
11.txt
文件的属主
chown tom 11.txt
2,chgrp命令
作用:修改文件的属组
格式:
chgrp
用户名
[-R]
文件名
选项:
-R
:在修改目录的时候,将目录的目录中的文件一并修改
例:将
1.txt
文件的属组改成
root
chgrp root 1.txt
3,chmod命令
作用:修改文件的权限
格式:
chmod
赋权
文件名
方式:
例:
chmod o+w 11.txt
给其他用户增加写的权限
例:
chmod g-r 11.txt
例:
chmod u=rwx,g=rw,o=r 11.txt
例:将
11.txt
文件全部用户的权限去掉
chmod a=--- 11.txt
4,数字表示权限:
例:把
11.txt
文件的属主的全改为可读可写可执行
chmod 700 11.txt
- 如果是俩个数字修改的是其他用户和属组
- 三个就属主、属组、其他用户
/etc/skel <<<
用户家目录模板
将
/etc/skel
目录复制到
home'
下,改名位和用户名相同
将这个目录的属主、属组改为该用户
将目录的权限改位
700
#QMAIL_DIR /var/spool/mail
指定新用户的邮箱位置
PASS_MAX_DAYS 99999
新用户密码最长有效期
PASS_MIN_DAYS 0
新用户修改密码最短时间
PASS_MIN_LEN 5
用户密码最短长度
PASS_WARN_AGE 7
密码到期前警告时间长度
UID_MIN
新建普通用户的默认
uid
最小值
UID_MAX
新建普通用户的默认
uid
最大值
CREATE_HOME
默认创建家目录
USERGROUPS_ENAB
当前用户组中没有用户,是否删除用户组
ENCRYPT_METHOD SHA512
指定加密算法
新建用户:
1. useradd
2. passwd
完成的操作:
1. /etc/passwd
添加一行
2. /etc/shadow
添加一行
3. /etc/group
添加一行
4.
创建用户家目录
5.
创建用户邮件文件
例:创建用户
jerry
要求:
uid 777
主组
hadoop
(
800
)
附加组
python
(
850
)
hbase
(
860
)
家目录
/home/jerry
描述
l am jerry
密码
123456
,最少使用
3
天才能再次修改,最长使用
30
天,到期前
5
天发送报警
实现步骤
1.
创建用户基本信息(
/etc/passwd
)
jerry:x:777:800:i am jerry:/home/jerry:/bin/bash
2.检查用户
id jerry
3.使用openssl来生成密码
格式:
openssl passwd -1 -salt "string"
说明:
-1
:表示
md5
加密算法
-salt
:表示加密的时候插入杂质(提高安全性)
openssl passwd -1 -salt "123456"
$1$123456$wOSEtcyiP2N/IfIl15W6Z0
4.
修改密码文件
echo `zhangsan:$1$123456$wOSEtcyiP2N/IfIl15W6Z0:19864:3:30:5:::` >> /etc/passwd
5.
创建用户组
vim /etc/group
oop:x:800
python:x:850:jerry
hbase:x:860:jerry
6.
创建用户家目录
cp -r /etc/skel /home/jerry
cd /home
chown -R jerry.hadoop /home/jerry/
7.创建用户邮件
cd /var/spool/mail/
touch jerry
chmod 660 jerry
chown jerry.mail jerry
8.
测试用户是否可以正常使用
三,用户授权
如果普用用户需要执行特殊操作,有两种方法:
- su - root 切换到root账户进行特殊操作,然后再回返到普通用户
- sudo 命令
1,su命令:
- 优点:使用简单
- 缺点:
2,sudo命令:
作用:给普通用户授权,让普通用户执行特定的操作
- 缺点:需要进行权限配置
- 优点:
- 不要切换到root用户(不用知道root密码)
- 用户可执行预定的操作
- 可以记录每个用户执行过的命令
sudo
使用:
- 第一步:通过sudo配置文件为普通用户授权
- 第二步:普通用户执行特殊操作
sudo
的配置文件:
格式:
root ALL=(ALL) ALL
用户名 主机
=(
用户名
)
全部命令
%aa
代表给
aa
组授权
ALL:
全部命令
/usr/bin/touch
授权单个命令
/usr/bin/touch,/usr/bin/ls
授权多个命令用
,
隔开
/usr/bin/*
授权
/usr/bin
下的全部命令
修改配置文件:
visudo
添加一行
zhangsan ALL=(root) /usr/bin/touch,/usr/bin/ls
用普通用户执行命令:
用管理员身份执行需用:
sudo
命令 来执行
sudo touch /a
前面有
%
代表是给用户组授权