linux用户权限

一、用户

用户、组、权限

用户:获取服务或资源的唯一的标识符

安全上下文
进程

对于文件或目录等而言,有三种权限(超级权限后续补充):
属主、属组、其他


权限:
对文件而言:

r :     可读 ,可查看文件的内容  (二进制不可读)
w :     可写 ,可以编辑或者删除
x :     可执行

对目录而言:

r   :   可对次目录执行ls以列出目录内部的所有文件
w   : 可在此目录创建文件
x   : 可使用cd切换进入此目录    也可使用ls –l  查看内部文件的详细信息
权限与二进制数字对应
0   000  ---
1   001  --x
2   010  -w-
3   011  -wx
4   100  r--
5   101  r-x
6   110  rw-
7   111  rwx

755  rwxr-xr-x

用户: UID /etc/passwd
影子口令 用户密码 /etc/shadow
组:GID /etc/group 、/etc/gshadow

用户类别:

管理员  :UID = 0
普通用户:UID  1-65535
系统用户:UID    1-455    运行系统后台进程
一般用户:UID    500-60000

用户组类别一:

管理员组:
普通组:一般组
系统组:

用户组类别二:

私有组(私有组 = 默认组):
    创建用户时,如不指定用户组,则会同时创建一个与用户同名的、只包含当前用户的组(私有组)

基本组:“用户的默认组”
额外组(附加组):默认组之外的组

进程:以tom tom 访问的对象为: rwxrw-r– jerry tom a.txt
首先匹配 属主 其次属组

cat   /etc/passwd  存放用户信息
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

分别对应以下内容,以冒号分割:
用户名(account):密码占位符(加密格式):UID:GID:用户全名等信息(注释信息):家目录(不允许登录):用户默认shell

cat   /etc/shells     查看用户的shell
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
cat /etc/shadow       #存放用户加密的秘钥
root:$6$7aG1IVzIKMWysHB1$I5yPXSGLkpASctacF2AsVBgrLP7YnDpIO8whFLk89xQoHFZccaj6sMnghQilljbZ.CCzl22EmW.alqB1heXpw/::0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::

登录名:加密的密码(使用MD5方法加密),前8位为杂质:

加密方法:
对称加密:加密解密使用同一密码
公钥加密:每个密码成对出现,一个为私钥(secret key ),一个为公钥(public key) 一一对应(速度较慢)

单向加密:只能加密,提取数据特征码(每个数据都有一个唯一的特征码),加密不可逆,常用于数据完整性校验。
1、 雪崩效应(初始数据的一点改变会引起巨大的变化)
2、 定长输出(输出结果的长度固定)
MD5 : Message Digest 128位定长输出
SHA1 : Secure Hash Algorithm 160位 定长输出

用户管理

useradd  username   新增用户

password username   修改用户密码
#输入密码即可修改用户密码
        -n  密码使用最短期限
        -x  最长期限

新建用户的默认配置:/etc/default/useradd

cat /etc/default/useradd
#useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1(密码过期但未改)
EXPIRE=
SHELL=/bin/bash (默认shell)
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
useradd  [options]  username      #新增用户
        -u  指定用户ID(不可重复,大于等于500,不指定则默认从1000开始)
        -g  指定基本组GID(组必须先存在)
        -G  附加组  
        -c  指定注释信息
        -d  指定家目录,默认在/home下创建与用户名相同的文件夹
        -s  指定shell路径

/etc/login.defs

userdel  [options]  username      #删除用户
id    [options]  #查看用户的账号属性信息
        id  显示当前用户的账号信息
        id  -u username  用户id
        id  -g username  用户所属组id
        id  -g  -n(name)  username  显示名称
fingers  username   查看用户账号信息
usermod :
        -u  UID
        -g  GID
        -a  -G  指定新的额外的附加组(不使用-a会覆盖此前的附加组)
        -c 
        -d  指定新的家目录,原有家目录文件  此用户无法访问  -m可以将之前家目录的文件一起移动到新的文件夹
        -l  
        -L  锁定账号
        -U  解锁账号
chsh  username  #更改用户默认shell

chfn

passwd  username  #修改密码
        -d        #清空密码

pwck  检查密码

组管理:

groupadd :创建组 
        -g    #指定GID
        -r    #添加一个系统用户


权限

u:属主
g:属组
o:其他

chown 改变文件(目录)属主(只有管理员有权限更改)

chown   username  file
    -R     #递归修改,修改文件内部及其子目录的属主
        --reference=路径/patch/to/somefile  file       #引用、参考其他文件  将file 属主、属组同时改为与somefile一样
chown  username:grpname  file   #同时修改属主、属组

chown grpname

chgrp 改变属组(与chown用法相同)

chmod   改变文件权限
    chmod  mode(8进制数)  file
    chmod  (u、g、o、a) = (rwx)m filename
    chmod  (u、g、o、a) +/- (rwx)  filename
        -R   递归修改
        --reference=/path/to/somefile filename (将somefile的权限复制给filename)

手动新建用户的步骤:
1、编辑一下三个文件
/etc/shadow
black1:!!:17504:0:99999:7:::
mandriva:!!:17506:0:99999:7:::
fedora:!!:17506:0:99999:7:::
openstack:!!:17506:0:99999:7:::

/etc/group
linux:x:3004:mandriva
fedora:x:2003:
openstack:x:2004:

/etc/passwd
black1:x:1008:1008::/home/kingdee:/bin/bash
mandriva:x:2002:3003::/home/mandriva:/bin/bash
fedora:x:2003:2003::/home/fedora:/bin/bash
openstack:x:2004:2004::/home/openstack:/bin/bash
2、修改复制并修改家目录权限

cp  -r  /etc/skel  /home/username
chown   username:  groupname /home/username
chmod              /home/username

3、生成密码
自动生成:
passwd username
或者手动生成:
Openssl passwd 可以生成加密的密码串
Openssl passwd -1(MD5加密) -salt ‘password’ 加了杂质(salt)的加密密码,拷贝到 /etc/shadow

Umask :遮罩码,显示当前umask      022
创建文件的权限:666-umask(当前用户的umask)
创建目录的权限:777-umask(当前用户的umask

从用户角度来看Shell类型:

登录shell
    通过终端
        su – username 登录
        su -1 username
非登录式shell
        su  username 

bash shell 配置文件:
全局配置:对所有用户生效
/etc/profile /etc/profile.d/*.sh /etc/bashrc

个人配置:对单独的用户生效
~/.bash_profile ~/.bashrc

Profile 类文件:
设定环境变量
运行命令或脚本

Bashrc 类文件:
设定本地变量
定义命令别名

登录时shell如何读取配置文件:

先读取 /etc/profile  -> /etc/profile.d/*.sh  ->~/.bash_profile  -> ~/.bashrc  /etc/bashrc
非登录式shell读取配置文件:
~/.bashrc  /etc/bashrc -> /etc/profile.d/*.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值