7_linux用户及权限(2)和管理
useradd:
useradd [options] USERNAME
-u UID
-g GID(基本组)
-G GID,...(附加组) //省略号表示可以有多个,彼此之间用逗号隔开
-c "COMMENT"
-d /path/to/directory //指定家目录。代称,不是直接写的路径
-s SHELL //指定shell路径的
[root@localhost ~]# useradd -s /sbin/nologin hello
[root@localhost ~]# su - hello
This account is currently not available.
[root@localhost ~]#
-m 强制为用户创建家目录,
-m -k 把skel下的目录文件复制过去
[root@localhost ~]# ls -a /etc/skel
. .. .bash_logout .bash_profile .bashrc .mozilla //.bash_logout .bash_profile .bashrc。bsh用于用户个人的环境配置文件
-M 不给用户创建家目录
[root@localhost ~]# cat /etc/login.defs //配置文件,默认设定值都在里面
-r 添加系统用户
userdel:
userdel [option] USERNAME
删除的时候没有指定任何选项,删除用户的家目录是不会删除的
-r 删除用户的同时删除家目录
id:用来查看用户的账号属性信息
-u
-g
-G
它们也都可以和-n一起使用,name
finger:查看用户账号信息
finger USERNAME
修改用户账号属性:
usermod
-u UID
-g GID
-G GID //如果此前用户已经指定附加组,而后又指定附加组,那么此前的附加组就被覆盖了。
-a -G:通常-aG连用,为用户在原有附加组的基础上额外指定附加组
-c "COMMENT"
-d 为用户指定新的家目录。 //如果此前创建的这个用户,这个用户已经登录过了,而且创建过很多文件,我们再次指定新的家目录,那么之前家目录的文件就无法访问了
-d -m:即指定家目录的位置,又移动此前的家目录文件
-s SHELL
-l 修改用户名的
-L 锁定用户账号,类似于禁用
-U 解锁账号
chsh:专门改用户的默认shell的
chfn:修改注释信息的
密码管理:
passwd [USERNAME] //对于普通用户只能使用passwd改自己的密码,对于管理员可以指定用户名修改指定用户名的密码
--stdin 从其他位置接收传递过来的密码
[root@localhost ~]# echo "redhat"
redhat
[root@localhost ~]# echo "redhat" | passwd --stdin Tom //管道
更改用户 Tom 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]#
-l 锁定用户账号 //这里是小写,和usermod不一样
-U 解锁
-s 密码最长使用期限
-n 密码最短使用期限
-w 警告时间
-i 非活动时间
-d 删除用户密码 //清空一个用户的密码,他就无法登陆了
[root@localhost ~]# passwd -d Tom
清除用户的密码 Tom。
passwd: 操作成功
[root@localhost ~]# tail /etc/shadow
Tom::17851:0:99999:7:::
[root@localhost ~]#
pwck:检查用户的账号完整性
组管理:
创建组:groupadd
groupadd
-g:GID
-r:添加为系统组
groupmod
-g:GID
-n:GRPNAME
groupdel
gpasswd:为组设定密码
newgrp GRPNAME <--> exit
chage
-d:最近一次的修改时间
-E:过期时间
-I:非活动时间
-m:最短使用期限
-M:最长使用时间
-w:警告事件
练习:
1、创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003),附加组为linux
# groupadd -g 3003 distro
# groupadd linux
# useradd -u 2002 -g distro -G linux mandriva
2、创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh
# useradd -c "Fedora Community" -s /bin/tcsh/ fedora
3、修改mandriva的ID号为4004,基本组为linux,附加组为distro和fedora
# usermod -u 4004 -g linux -G distro,fedora mandriva
4、给fedora加密码,并设定其密码最短使用期限为2天,最长为50天
# passwd -n 2 -x 50 fedora
5、将mandriva的默认shell改为/bin/bash
# usermod -s /bin/bash mandriva
6、添加系统用户hbase,且不允许其登录系统
# usermod -r -s /sbin/nologin hbase
权限管理:
r:
w:
x:
三类用户:
u:属主
g:属组
o:其他用户
chown:改变文件属主(root权限下)
# chown USERNAME file,... //默认只修改目录
-R:递归修改目录及其内部文件的属主
--reference=/path/to/somefile file,...
把我们想要设定其属主的文件(file,...),设定位跟之歌指定的文件一样(somefile)
属组
# chgrp GRPNAME file,...
-R:
--reference=/path/to/somefile file,...
chown还可以同时修改属主,属组名
chown USERNAME:GRPNAME file,... //这里也可以用点,效果是一样的。chown USERNAME.GRPNAME file,...
-R
chown :GRPNAME file,... //chown也可以只改属组不改属主
chown --reference //这里不仅仅是改属主,是属主属组都改
chmod:修改文件的权限
修改三类用户的权限:
chomd MODE file,...
-R:
--reference=/path/to/somefile file,...
修改某类用户或某些类用户权限:
u,g,o,a
chmod 用户类别=MODE file,...
修改某类用户的某位或某些位权限:
u,g,o,a
chmod 用户类别+|-MODE file,...
练习:
1、新建一个没有家目录的用户openstack
# useradd -M openstack
2、复制/etc/skel为/home/openstack
# cp -r /etc/skel /home/openstack
3、改变/home/openstack及其内部文件的属主属组均为openstack
# chown -R openstack:openstack /home/openstack
4、/home/openstack及其内部的文件,属组和其他用户没有任何访问权限
# chmod -R go= /home/openstack
umask:遮罩码
666-umask
777-umask
# umask
# umask 022
umask:023
文件:666-023=644
目录:777-023=754
文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1。所以是644不是643
站在用户的角度来说,SHELL的类型:
登录式shell:
正常通过某终端登录的shell
su - USERNAME
su -l USERNAME
非登录式shell:
su USERNAME
图形终端下打开命令窗口
自动执行的shell脚本
bash的配置文件:
全局配置
/etc/profile, /etc/profile.d/*.sh, /etc/bashrc // /etc/profile.d目录下所有以.sh结尾的文件
个人配置
~/.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
7_linux用户及权限(2)和管理的更多相关文章
- Oracle用户、权限、角色管理学习(文字很系统)
Oracle用户.权限.角色管理 2009-03-16 13:20:50 标签:oracle 数据库 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明 ...
- Oracle用户、权限、角色管理(转)
http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...
- Oracle用户、权限、角色管理
Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的). 二.系统权 ...
- ORCLE数据库用户、权限、角色管理
PS:中括号表示可选项. ORACLE 用户管理 1.创建用户 CREATE USER username --用户名 IDENTIFIED BY password --密码 [ACCOUNT LO ...
- Mysql用户、权限、密码管理
一.用户管理 默认:用户root 创建用户: use mysql; create user 'alex'@'192.168.193.200' identified by '123456'; 创建了al ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理
这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理10
今天把用户的菜单显示和页面的按钮显示都做好了,下面先来个效果图 接下来说下我实现的方法: 首先我在每个方法前面都加了这个属性, /// <summary> /// 表示当前Action请求 ...
- MySQL用户与权限管理
执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...
- Oracle用户,权限,角色以及登录管理 scoot 授权
Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...
随机推荐
- SSMP一次请求数据处理过程分析
控制器代码 @RequestMapping("/changeUserPwd") public TranMessage changeUserPwd(String oriPwd, St ...
- Request的方法和数组
req.getHeader("referer") [取得发送请求页面对应的浏览器地址栏信息,可以使用这种方法实现防盗链等操作] String name=new String(req ...
- cocos creator 重写源码按钮Button点击音频封装
(function(){ var Super = function(){}; Super.prototype = cc.Button.prototype; //实例化原型 Super.prototyp ...
- RCNN的流程
步骤一: 找到一个CNN分类模型 步骤二: 对于这个模型修改最后的分类层,为21类,去掉最后一个全连接层 步骤三: 根据选择性搜索提取图像的候选区域(框) 对于候选框修改大小以适应CNN输入,然后得出 ...
- JS中的闭包(转自他处)
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量 ...
- Java设计模式之动态代理
关于Proxy: 1,他是所有动态代理的父类: 2,他可以用作创建动态代理类和动态代理对象: 3,JDK中自带的动态代理. 1,首先创建一个接口,方法申明如下: package com.proxy; ...
- 使用 dom4j 处理 xml (3)
今天想在使用 dom4j 选择节点时,顺便去重,可没有单独去重的方法:倒是有一个可以去重的,还必须提供一个 xpath 作为 排序和去重 的依据. 1.xml 文件 <?xml version= ...
- hdu4779 组合计数+dp
提交 题意:给了n*m的网格,然后有p个重型的防御塔,能承受1次攻击,q个轻型防御塔不能接受任何攻击,然后每个防御搭会攻击他所在的行和所在的列,最后求在这个网格上放至少一个防御塔的方案数, 我们枚举 ...
- WebSphere应用程序更新方式
在日常的使用中,一个javaee程序部署以后,以后续的使用中会有模块等的更新,但我经常见到有人直接更新服务器上的类包,文件等,(可能是tomcat,jboss这种热部署使用惯了)这样子的方式有几个问题 ...
- MVC-Razor视图
Razor 视图引擎 与Aspx开发区别在于代码: 1.Razor 更智能,摒弃了<%%>格式,直接用@符号开启cs代码,遇到html时自动识别 2.遇到如汉字等即非cs代码,又非html ...