linux编程参数列表,Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)...

一. 概述

linux安全系统的核心是用户账户。 创建用户时会分配用户ID(UID)。 UID是唯一的,但在登录系统时不是用UID,而是用登录名。在讲文件权限之之前,先了解下linux是怎样处理用户账户的。以及用户账户需要的文件和工具,这样处理文件权限问题时,就知道如何使用它们了。

1.1  /etc/passwd用户文件

/etc/passwd 是用来将用户的登录名,匹配到对应的UID上。它包含了一些与用户有关的信息。下面截取二个片断。如下图所示:

ab21051d5fb6ce8a0a61cb11858af3f2.png

970ff47c7a99ff9ce8f75e0c95bce9ec.png

root用户账户是linux系统管理员,固定分配给它的UID是0。 上面linux系统会为各种各样的功能创建不同的用户账户,而这些账户并不是真正的用户。它们叫作系统账户,是系统上运行各种服务进程访问资源用的特殊账户。root用户UID是0,mysql用户的UID是998。如下图所示:

bf8033142d2559e26e3ca11841eb7785.png

linux系统账户预留了500以下的UID值。有些服务甚至要用特定的UID才能正常工作。在/etc/passwd文件中冒号分隔的字段包含以下信息:

mysql:x::::/home/mysql:/bin/bash

登录用户名

例如:mysql

用户密码

x (密码字段都被设置成了x)

用户UID

998

用户的组ID (GID)

I000

用户的文本描述

mysql 用户描述为空

用户的HOME目录位置

/home/mysql

用户的默认shell

/bin/bash

1.2  /etc/shadow 用户文件

/etc/shadow文件对linux系统密码管理提供了更多的控制。只有root用户才能访问/etc/shadow文件。比起/etc/passwd安全许多,文件内容如下图所示:

0d0090a6a83dbb57801bf23afffa027b.png

比如让mysql 用户来查看该文件,是没有这个权限的。

7d2cfdaaa26f7bc297e021b8aaf1f8ab.png

下是copy出来的root用户账户信息:

root:$$BSeXl2xuiNYlDwkO$X4dfd8A97XHRO9S.9KNqL/bRX4B33tIAzOu1dwiPVLDS42YqwaY8JrwYAExGPuvc42yhnMmO28VRMP.qVjYDY1:::::::

每条记录都有9个字段,字符串以冒号分隔的字段信息如下:第一个字段:登录名。 第二个字段:加密后的密码。其它字段以后在解读。使用/etc/shadow,可以控制用户多久更改一次密码,以及什么时候禁用该用户账户(在其它字段上设置这些功能)。

二. 用户工具管理

2.1 useradd 模板介绍

在linux系统中添加新用户的工具是useradd, 可以一次性创建新用户账户及设置用户HOME目录结构。useradd命令使用系统的默认值以及命令行参数来设置用户账户。系统默认值被设置在/etc/default/useradd文件中,可以定位到/etc/default/useradd文件,修改默认值。使用useradd       -D 选项查看这些默认值。如下图所示:

7069193314886933feb9ba2b4adf9848.png

如果用户不指定具体的值,使用useradd添加用户时就会使用这些默认值。默认值解释如下:

GROUP=100

新用户会添加到GID为100的公共组中

HOME=/home

新用户的HOME目录将位于/home/loginname下

INACTIVE=-1

新用户密码在过期后不会被禁用

EXPIRE=

新用户未设置过期日期

SHELL=/bin/bash

新用户将bash shell作为默认shell

SKEL=/etc/skel

系统会将/etc/skel目录下的内容复制到用户的HOME目录下

CREATE_MAIL_SPOOL=yes

系统为用户账户在mail目录下创建一个用于接收邮件的文件

SKEL参数是指:useradd命令允许管理员创建一份默认的HOME目录配置,然后把它作为创建新用户HOME目录的模板。这样就能自动在每个新用户的HOME目录里放置默认的系统文件(上篇讲到的系统环境变量位置)。新用户HOME目录下的系统文件模板。如下图所示:

4f4c779060262fe47c3abc518bc7ee98.png

在上篇中,知道了.bashrc, .bash_profile这些文件都是bash shell的标准启动文件。系统会自动将这些默认文件复制到你创建的每个用户HOME目录下。我的linux系统在很久前创建了一个mysql用户,下面去/home/mysql下检查有没有这些标准启动文件。

b2e2e0567136540791bcbd93784da4ec.png

上图告诉我们,mysql目录不存在,这是因为创建用户默认情况下,useradd命令不会创建HOME目录,需要使用useradd -m 命令来创建HOME目录。我推测当mysql用户没有这些bash shell标准启动文件时,会去继承root用户下的标识启动文件。

2.2  useradd -m

上面mysql用户没有指定HOME目录,下面是创建一个新test用户,并使用参数m来创建HOME目录,并将/etc/skel目录中的文件复制了过来,/home/test 下面就有了标准启动文件。如下图所示:

62be651eec6ca25a614007a8add52c26.png

再次查看passwd用户列表,多出来一个test用户,创建的这个test除了指定了HOME目录,其它参数都是使用的默认值(没有指定组,密码,过期时间)。如下图所示:

c6322fe9124aa06a5341881768c63cf9.png

下面是切换到test用户下,如下图所示:

750c765e3f5ebce812c18f173683e7ed.png

2.3 useradd 命令参数

要想在创建用户时改变默认值或默认行为,可以使用命令参数,下面列出一些常用参数

参数

描述

-c comment

给新用户添加备注

-d home_dir

为主目录指定一个名字(如果不想用登录名作为主目录名)

-e expire_date

用YYYY-MM-DD格式指定一个账户过期日期

-f inactive_days

指定这个账户密码过期后多少天,这个账户被禁用;0表示密码一过期就立即禁用, 1表示禁用这个功能

-g initial_group

指定用户登录组GID

-m

创建用户HOME目录

-r

创建系统账户

-p passwd

指定默认密码

当创建用户账户时,如果总需要修改某个值的话,最好还是修改一下系统的默认值,修改(useradd模板),也可以使用"useradd -D 默认参数"来修改模板,这里就不再介绍useradd默认值参数。

Linux编程 17 文件权限(权限设置chmod,改变文件属主属组关系chown,chgrp)

一. 概述 如果创建了一个目录或文件,有时会需要改变它的安全性设置,在linux系统上有一些工具可以完成这任务,包括使用chmod命令改变已有默认权限,分别能对属主,属组,其它用户的权限的控制分别以读 ...

Linux编程 16 文件权限(组管理 groupadd, groupmod,文件权限介绍)

一.用户组 前面章节知道用户账户在控制单个用户安全性方面很好,但涉及到共享资源或把用户类型分组时,组概念就出来了. 组权限允许多个用户对系统中的对象(比如文件,目录,设备等)共享一组共用的权限. 在c ...

linux中的文件权限chmod

linux中的文件权限chmod ​ 还是GPU集群那点事儿,集群之间磁盘互相挂载,普通用户也可以操作/cu02_nfs./cu04_nfs文件夹,这就牵扯到权限的问题,去google发现所谓的777 ...

Linux下文件权限(一)用户ID和用户组ID

最近在读,看到文件权限这里比较糊涂,主要设计多个用户ID和用户组ID,包括下面两个: (1)实际用户ID和实际用户组ID:这一部分表示我们究竟是谁.这两个字段在登录 ...

Linux入门:文件权限、用户、用户组(比较清楚)

单个文件名或目录名长度不超过255字符: 文件或目录的绝对路径长度不超过4096字符:   一.文件所有者与用户组     一个文件有很多属性,包括文件类型.文件权限.文件隐藏权限.文件所有者.用户组 ...

linux 修改目录文件权限,目录文件所属用户,用户组

1:查看命令:ll drwxr-xr-x  4 gamer ftp      4096 Mar  7 16:56 gstore drwxrwxrwx 10 root  ftp      4096 De ...

linux:用户和组文件解释(/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow)

一.用户文件:/etc/passwd [root@pinfun6 ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash 1 2 3 4 5 6 7 | ...

Linux 学习笔记 文件权限

* Linux系统会为各种各样的功能创建不同的用户账户,而这些账户并不是真的用户.这些账户称作系统账户,是系统上运行的各种服务进程访问资源用的特殊账户. 所有运行在后台的服务都需要用一个系统用户账户登 ...

随机推荐

Datatable常用系列一

Datatable常用系列一 一.用作集合存储数据: DataTable dt = new DataTable("action"); for (int i = 0; i < ...

Eclipse 项目中有红色感叹号,怎么办?

/** * JDK1.5中增加了自动拆装箱的语言特性,在基本类型和包装类型之间可以相互地转换和运算. * 大家也都知道Java中==运算符是比较两个对象间的引用是否相同.在自动拆装箱与“==”运算符之 ...

QM04-生产中的QM

集成的计划 生产过程中的生产工序和检验工序逐渐变得更为相互依赖或者说被组合在一起.从而使来自生产和质量检验领域的工作小组共同创建工艺流程. 检验工序 可以把QM检验特性集成到生产计划(PP)模块的工作 ...

转:Android布局优化

categories: Android 在Android开发中,我们常用的布局方式主要有LinearLayout.RelativeLayout.FrameLayout等,通过这些布局我们可以实现各种各 ...

LoadRunner录制回放脚本RecContentType&equals;application&sol;json报错

今天做一个新项目,项目系统的框架是用SSH,特意查看了一下项目源码,用的ajax提交比较多,主要的问题是该系统对IE(8~10)浏览器都不兼容,无法进行录制. 是问题,总有解决的办法! 我本机为Loa ...

区间dp之四边形不等式优化详解及证明

看了那么久的四边形不等式优化的原理,今天终于要写一篇关于它的证明了. 在平时的做题中,我们会遇到这样的区间dp问题 它的状态转移方程形式一般为dp[i][j]=min(dp[i][k]+dp[k+1] ...

DRF 权限和频率

Django Rest Framework 权限组件 DRF的权限 权限组件源码解析 我们之前说过了DRF的版本和认证~也知道了权限和频率跟版本认证都是在initial方法里初始化的~~ 其实我们版本 ...

Odoo

doc 文档 Technical Memento(pdf)是一个简短的参考,有点过时,但仍然不能错过. 目前的官方文档由研发团队积极维护. Nicolas Bessi撰写的新API指南可以提供官方文档 ...

Kafka记录-Kafka简介与单机部署测试

1.Kafka简介 kafka-分布式发布-订阅消息系统,开发语言-Scala,协议-仿AMQP,不支持事务,支持集群,支持负载均衡,支持zk动态扩容 2.Kafka的架构组件 1.话题(Topic) ...

Vue子组件调用父组件的方法

Vue子组件调用父组件的方法   Vue中子组件调用父组件的方法,这里有三种方法提供参考 第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法 父组件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitHub托管BootStrap资源汇总(持续更新中…)

Twitter BootStrap已经火过大江南北&#xff0c;对于无法依赖美工的程序员来说&#xff0c;这一成熟前卫的前端框架简直就一神器&#xff0c;轻轻松松地实现出专业的UI效果。GitHub上相关的的开源项目更是层出不穷&#xff0c;在此整理列举一些感觉不错的组件或增强实现&#x…

aix linux运维,运维老司机分享的八个AIX日常运维经验及案例

原文来自微信公众号&#xff1a;AIX专家俱乐部【经验分享】在AIX启动时&#xff0c;打开debug模式经常遇到aix无法启动&#xff0c;但又不知道pending在哪&#xff0c;因此打开启动过程的debug模式&#xff0c;对于诊断问题有很大的帮帮助。下面是打开debug的方法&#xff1a;打…

php 区块链算法_PoW/BFT等5种主流区块链共识算法的开源代码实现

共识算法是实现自主产权区块链的必不可少的关键环节&#xff0c;本文列出社区中相对成熟的区块链共识算法开源实现&#xff0c;包括BFT共识、Raft共识、Paxos共识、PoW共识等&#xff0c;可供希望开发自主产权区块链的团队参考学习。相关推荐&#xff1a;区块链开发系列教程1、…

[每日一题] 11gOCP 1z0-052 :2013-09-1 RMAN-- repair failure........................................A20...

转载请注明出处&#xff1a;http://blog.csdn.net/guoyjoe/article/details/10859315 正确答案&#xff1a;D 一、模拟上题的错误&#xff1a; &#xff11;、删除4号文件 [oraclemydb ~]$ cd /u01/app/oracle/oradata/ocm/ [oraclemydb ocm]$ rm -rf users01.dbf&#xff12;、…

kafka集群 kubernetes_为什么 Kubernetes 如此受欢迎?

点击上方蓝色“火丁笔记”关注我们&#xff0c;设个星标&#xff0c;每天学习全栈知识在撰写本文时&#xff0c;Kubernetes 已有 6 年历史[1]了&#xff0c;在过去的两年中&#xff0c;它的流行度不断提高&#xff0c;一直是最受欢迎的平台之一[2]。今年&#xff0c;它成为最受…

android 动画 返回,Android“菜单图标变返回”动画

此例用到SVG动画&#xff0c;其中涉及三个XML文件&#xff0c;分别为&#xff1a;Vector矢量图&#xff0c;objectAnimator动画&#xff0c;以及一个animated-vector文件将前两个文件联合起来。1.在drawable文件夹下新建vector文件描述矢量图android:height"200dp"an…

全志A10 Bootload加载过程分析

A10的启动过程大概可分为5步&#xff1a;BootRom&#xff0c;SPL&#xff0c;Uboot&#xff0c;Kernel&#xff0c;RootFileSystem。本文只关注镜像的加载过程&#xff0c;分析RootRom->SPL->Uboot的启动流程。系统上电后&#xff0c;ARM处理器在复位时从地址0x000000开始…

android老 电池,为什么安卓手机不会因为电池的老化而降频呢?

前段时间&#xff0c;苹果手机的降频事件也是闹的沸沸扬扬&#xff0c;库克也为此进行了公开道歉&#xff0c;各位的吃瓜群众也是看的不亦乐乎&#xff0c;于是&#xff0c;也有不少的小伙伴会问&#xff1a;“为什么安卓手机不会因为电池的老化而降频&#xff1f;”今天&#…

android 5.0.1 libdvm.so,Android逆向进阶—— 脱壳的奥义(基ART模式下的dump)

本文作者&#xff1a;i春秋作家HAI_ZHU000 前言市面上的资料大多都是基于Dalvik模式的dump&#xff0c;所以这此准备搞一个ART模式下的dump。Dalvik模式是Android 4.4及其以下采用的模式&#xff0c;之后到了Android 5.0 之后就是ART模式&#xff0c;关于这两个模式的详细内容&…

android+3.0新加的动画,Android动画片

使用Android两年多了&#xff0c;工作中的动画也动能应付&#xff0c;自认为Android中的动画自己也能用个八九不离十&#xff0c;结果我在学习[Periscope点赞效果](http://www.jianshu.com/p/03fdcfd3ae9c)的时候发现动画的这些高级功能我从没用过、也没见过&#xff0c;静下来…

在线打开html文件,html是什么文件?html文件怎么打开?

html是什么&#xff1f;html即超文本标记语言&#xff0c;现在大多网页都是html的格式。而所谓的html文件是一种超文本文件&#xff0c;其中超文本可以是图片或音乐等非文字元素&#xff0c;使用很广泛。但是很多用户都不太明白html是什么文件&#xff1f;也不清楚html文件要如…

gsoap使用心得! (win32)

最近换了个工作环境&#xff0c;现在在大望路这边上班&#xff0c;呵&#xff0c;刚上班接到的任务就是熟悉gsoap&#xff01;废话少说&#xff0c;现在开始gSoap学习&#xff01;gSOAP是一个夸平台的&#xff0c;用于开发Web Service服务端和客户端的工具&#xff0c;在Window…

html怎么置顶导航栏,css怎么实现滚动页面导航栏固定在顶部

css怎么实现滚动页面导航栏固定在顶部(吸顶效果)功能&#xff1a;当网页向下滚动时&#xff0c;导航栏一直在固定在顶部一、css设置这里主要用到css中position中的relative与fixed&#xff1b;其中relative是生成相对定位的元素&#xff0c;相对于其正常位置进行定位。fixed是生…

numpy读取csv_Numpy——IO操作与数据处理

一、问题&#xff1f;大多数数据并不是我们自己构造的&#xff0c;存在文件当中。我们需要工具去获取&#xff0c;但是Numpy其实并不适合去读取处理数据&#xff0c;这里我们了解相关API&#xff0c;以及Numpy不方便的地方即可。二、Numpy读取genfromtxt(fname[, dtype, commen…

android 中radiogroup滑动切换,巧妙实现缺角radiogroup控制多个fragment切换和滑动

在android开发中&#xff0c;用一个radiogroup控制多个fragment切换是十分常见的需求。但是如果fragment是一个ListView&#xff0c;如何保证滑动的时候通过缺角可以看到下面的listview是一个难点。直接上图:(1)完美效果(2)较差效果另外&#xff0c;不妨假设缺角的高度是5dp&am…

荣耀智慧屏评测 鸿蒙OS加持,荣耀智慧屏评测:鸿蒙OS加持 面向未来的超智能电视...

原标题&#xff1a;荣耀智慧屏评测&#xff1a;鸿蒙OS加持 面向未来的超智能电视 来源&#xff1a;TechWeb.com.cn当华为选择在今年公布鸿蒙OS系统后&#xff0c;很多人都在期待它的庐山真面目。无论是以后非常时期不再受制于人&#xff0c;或是循序渐进将系统过渡给自家设备&a…

2021河南固高高考成绩查询,河南信阳最好的4所高中,前三所学霸如云,看看有没有你的母校?...

河南省信阳市处于豫之南&#xff0c;鄂之北。南边是连绵的群山&#xff0c;北边是广袤的平原。千里淮河&#xff0c;曲折盘旋&#xff0c;它的源头便是这里。都说信阳是一个神奇的地方&#xff0c;一点儿也不为过&#xff0c;狮河穿城而过&#xff0c;周围群山环抱&#xff0c;…

磁盘的磁道(Track)

写这篇文章&#xff0c;主要是为了解决长久以来的一个困惑。由此也可以看出偶以前确实不太聪明。 哈哈(虽然现在仍然还是) 以前见到的很多磁道的示意图都是这样的&#xff1a;注意标线的位置&#xff0c;“指向一条线”&#xff0c;我当时的理解好像是这条线就是磁道。还有的解…

centos 卸载_CentOS安装mysql

安装mysql第一步&#xff0c;查看是否安装&#xff1a;rpm -qa| grep mysql-server没有我们就开始安装&#xff0c;点击 这里&#xff0c;获取下载页面&#xff0c;按照图示选择合适的版本&#xff1a;第二步&#xff0c;进入/usr/local/soft/目录&#xff0c;在里面执行wget 下…

细数改善WPF应用程序性能的10大方法

WPF(Windows Presentation Foundation)应用程序在没有图形加速设备的机器上运行速度很慢是个公开的秘密&#xff0c;给用户的感觉是它太吃资源了&#xff0c;WPF程序的性能和硬件确实有很大的关系&#xff0c;越高档的机器性能越有优势。 程序性能改善不是一蹴而就的&#xff…