Linux 用户及权限详解

用户 , 组 ,权限

安全上下文(secure context);

权限:
r,w,x

文件:
r : 可读,可以使用类似cat 等命令查看文件内容。
w : 可写,可以编辑或删除此文件;
x : 可执行,eXcutable, 可以命令提示符下当做命令提交给内核运行;

目录:
r : 可以对此目录执行ls 以列出内部所有文件;
w : 可以在此目录中创建文件;
x : 可以使用cd 切换进此目录,也可以使用ls -l 查看内部文件的详细信息;

rwx:
r--: 只读
r-x: 读和执行
---: 无权限

0 000 --- 无权限
1 001 --x 执行
2 010 -w- 写
3 011 -wx 写和执行
4 100 r-- 只读
5 101 r-x 读和执行
6 110 rw- 读写
7 111 rwx 读写执行

权限的数字写法

rw-r----- : 640
rw-rw---- : 660

用户: UID , etc/passwd
组:GID, etc/group

影子口令 :
用户 : /etc/shadow
组: /etc/gshadow

用户类别:
管理员: 0
普通用户: 1-65535
系统用户:1-499
一般用户:500-60000

用户组类别:
管理员组:
普通组:
系统组:
一般组:

用户组类别:
私有组: 创建用户时,如果没有为其制定所属的组,系统会自动为其创建一个与用户名同名的组
基本组: 用户的默认组
附加组,额外组 : 默认组以外的其他组。

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
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin

1 account: 用登录名
2 password : 密码
3 UID:用户ID
4 GID:基本组ID
5 comment: 注释
6 HOME DIR : 家目录
7 SHELL : 用户的默认shell

etc/shadow
account `: 登录名
encrypted password : 加密的密码 MD5

创建时间

加密方法:
对称加密: 加密和解密都用同一个密码。
公钥加密: 每个密码都成对出现,一个为私钥(secret key) 一个为公钥(public key)
单向加密: 散列加密: 提取数据特征码,常用于数据完整性校验
1 雪崩效应
2 定长输出
MD5 : message digest 128位定长输出
SHA1: Secure Hash Algorithm 160 位定长输出

useradd username 添加账户
groupadd groupname 添加用户组

用户管理:
useradd ,userdel,usermod ,passwd,chsh, chfn,finger,id,change

useradd [options] USERNAME
-u : UID >=500
-g : GID(基本组)
-G : GID ... (附加组)
-c :“comment” 注释信息
-d : /路径 指定家目录
-s : /bin/shell 指定shell 路径
-m -k
-M:
-r:添加系统用户

/etc/shells : 指定了当前系统所有安全可用的shell

userdel:
userdel [option] USERNAME 删除用户
-r : 同时删除用户的家目录
id : 查看用户的账号属性信息
-u:
-g:
-G:
-n:

finger : 查看用户账号信息
finger USERNAME

修改用户账号属性:
usermod
-u : UID
-g : GID
-G -a: GID(附加组,不使用-a 会覆盖之前的附加组)
-c:注释
-d -m: -m 移动旧家目录文件至新家目录
-s:
-l:
-L:锁定账号
-U: 解锁账号

chsh(change shell) : 修改用户的默认shell
chfn :修改注释信息

密码管理:
passwd [USERNAME]
--stdin 从标准输入(可以是管道)中读取新密码。
-l:锁定
-u:解锁
-d: 删除用户密码

pwck 检查用户账号完整性

切换用户登录
su (switch user) 用户名

组管理命令:
groupadd,groupdel, groupmod,gpasswd

创建组:
groupadd :
-g:GID
-r:添加为系统组

groupmod:
-g:GID
-n:GroupName

gpasswd : 为组设定密码

newgrp groupname : 登录到新组, -- > exit

chage : 修改用户密码信息
-d : 最近一次的修改时间
-E :过期时间
-I :非活动时间
-m :最短使用时间
-M :最长使用期限
-W : 警告时间

权限管理:
r:
w:
x:
chown,chgrp,chmod,umask

三类用户:
u : 属主
g : 属组
o : other 其他用户
a :所有用户

chown : 改变文件属主(管理员权限)
chown USERNAME file1,file12,....
-R :修改目录及其内部文件的属主(递归修改)
--reference=/path/to/somefile file1, ... 参考某个文件权限修改file1

chown USERNAME:GORUPNAME file1,...
chown USERNAME.GROUPNAME file,...

chgrp Groupname file,... 改变文件属组
-R :
--reference=/path/to/somefile file1, ... 参考某个文件权限修改file1

chmod:修改文件的权限
修改三类用户的权限:
chomod MODE file,....

修改某类用户或某些类用户权限:
u,g,o,a
chmod 用户类别=MODE file,...

修改某类的用户某位或某些位权限
u,g,o,a
chmod 用户类别 +|- MODE file,....
chmod u+x g-r o+w

umask : 遮罩码。表示默认创建的权限设定。
创建文件为: 666-umask
创建目录为: 777-umask

注意: 文件一定不能默认有执行权限

bash : 脚本解释器

站在用户角度谈 SHELL 的类型
1 登录式shell:
正常通过某终端登录
su - username
su -l username

2 非登录式shell :
su username
图形终端下打开的命令窗口
自动执行的shell 脚本

bash 的配置文件:

全局配置:
/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

简单设置个root 账号 登录欢迎提示
root账号下编辑个人配置文件 .bash_profile
nano ~/.bash_profile
最后一行输入:
echo "Hello Administtactor ,Welocme to Login ,It's `date`."
退出账号 重新登录加载配置文件 查看登录后的提示。

可在其中加载脚本,用于初始化运行

Linux 用户及权限详解的更多相关文章

  1. linux初级学习笔记六:linux用户及权限详解!(视频序号:03_4)

    本节学习的命令:/etc/passwd,/etc/shadow,/etc/group文件详解 本节学习的技能: 安全上下文 文件与目录的权限管理 影子命令 用户,用户组类别详解 /etc/passwd ...

  2. linux用户和权限详解

    1.用户组说明 在使用useradd命令创建用户的时侯可以用-g 和-G 指定用户所属组和附属组.基本组:如果没有指定用户组,创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是基本组 ...

  3. Linux 用户和用户组详解

    用户分类 超级用户:UID范围 0 root用户:uid=0(root) gid=0(root) groups=0(root) 普通用户:由管理员创建,UID范围(500-65535) --> ...

  4. linux如何修改权限详解

    前言 今日,同事问我,服务器上拷贝过来的tomcat,怎么执行不了./startup.sh.于是,我一想,那肯定是没有权限的问题了.于是使用chmod命令更改了权限后,就可以执行了.项目正常启动.我想 ...

  5. linux: 用户组, 文件权限详解

    一.用户组 linux中每个用户必须属于一个组,不能独立于组外. 每个文件有所有者.所在组.其他组的概念 --所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls ‐ahl命 ...

  6. Linux 文件特殊权限详解[suid/sgid/t]

    setuid(suid): 针对命令和二进制程序的,当普通用户执行某个(passwd)命令的时候,可以拥有这个命令对应用户的权限, 即让普通用户可以以root用户的角色执行程序或命令. setgid( ...

  7. Linux文件夹权限详解

    - 第一个字符代表文件(-).目录(d),链接(l) - 其余字符每3个一组(rwx),读(r).写(w).执行(x) - 第一组rwx:文件所有者的权限是读.写和执行 - 第二组rw-:与文件所有者 ...

  8. linux学习之路--(六)用户及权限详解

    计算机资源 用户 用户的容器,用户组 权限 进程时用户访问计算机的代理,操作文件的时候,文件本身有权限,进程本身也有权限 安全上下文(secure context) 权限: r, w, x 文件: r ...

  9. 4-1 Linux用户管理命令详解

    1. /etc/passwd 格式 用户名:密码:UID:GID:注释:家目录:默认shell useradd  [options ]    USERNAME -u: UID  要大于等于500, - ...

随机推荐

  1. 最好的营销是“调情”

    每一个精彩的营销案例都应该像一个精彩的故事,而故事最精彩的讲述方式就是设置一个开放的结局,把解读和诠释的权利留给读者和观众.宣讲.洗脑式的营销时代已经终结,就像单相思的深情表白永远不如两情相悦的彼此挑 ...

  2. python字符串操作实方法大合集

    python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下:   #1.去空格及特殊符号 s.st ...

  3. css3 绘制图形

    星形: .star-six { width:; height:; border-left: 50px solid transparent; border-right: 50px solid trans ...

  4. java 中 一个int类型的num,num&1

    n&1 把n与1按位与,因为1除了最低位,其他位都为0,所以按位与结果取决于n最后一位,如果n最后一位是1,则结果为1.反之结果为0.(n&1)==1: 判断n最后一位是不是1(可能用 ...

  5. mutex.go

    package} } ) ].GetResponseRange().Kvs[].CreateRevision )     return nil } func (m *Mutex) IsOwner() ...

  6. Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构(源码可下载)

    Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构(源码可下载) 说明:Java开源生鲜电商平台-性能优化以及服务器优化的设计与架构,我采用以下三种维度来讲解 1.  代码层面. 2.  数 ...

  7. AngularJs 服务 广播

    1, angularJs的服务有provider,Service, Factory. Factory是对Service的封装,Service是对Provider的封装. Provide的源码如下: f ...

  8. 对于zuul服务网关框架资料整理

    本次博客只是整理了一些 看过的博客.源码等 zuul入门(1)zuul 的概念和原理 https://www.cnblogs.com/lexiaofei/p/7080257.html 深入理解Zuul ...

  9. struts2--值栈

    值栈是对应每一个请求对象的轻量级的数据存储中心,在这里统一管理着数据,供Action.Result.Interceptor等Struts2的其他部分使用,这样数据被集中管理起来而不凌乱.当有请求的时候 ...

  10. #define指令

    #define指令: 使用#define的标准格式: #define PI 3.14159 注意:结尾不加分号(;),也不要写成PI = 3.14159,我们最好用大写表示符号常量/明示常量(PI). ...