用户管理:
  添加用户:useradd tom
  设置密码:passwd tom
  切换账户: su - tom

    (不加-也能切换,但是 -会有两点不同 1.有-会切换到该用户的主目录  2.会切换到该用户的环境变量,没有-的还是用上一个用户的环    境变量 echo $PATH)
  退出账户: exit
  查看账户: 
    1. id tom
    2. 直接查看账户文件 vim /etc/passwd

第一列是用户名,第二列代表密码,当然这不是真的密码,密码放在另一个文件中(影子文件),第三列是用户的uid(user identify用户标识)

第四列是组id(group identify),第五列是账户的基本描述,第六列是账户的家目录,第七列是登录shell (像ls pwd这些命令都是由shell翻译成内核能懂的语言,所以每个登录的用户都要有个shell 像是个翻译)

---------------------------------------------------

修改账户信息可以直接vim然后修改,也可以使用:usermod --help查看说明

所以usermod -l jim tom就是讲用户名tom改为jim

----------------------------------------------------------------------------------------------------

影子文件:

  passwd的影子文件,在这里修改密码信息

  vim  /etc/shadow

第一列是账户,第二列是密码,第三列是上次修改密码的时间(从1970年到今天的天数).......(详情使用man 5 shadow查看说明)

---------------------------------------------------------------------------

删除用户:userdel tom

此时账户的家目录和个人邮箱是不会被删除的  如:/home /tom        和        /var/spool/mail/

删除用户同时删除家目录和个人邮箱: userdel -r tom

或者更暴力,直接编辑passwd文件,删除某个用户

-----------------------------------------------------------------------------

组管理

  添加组:    groupadd caiwu

  设置密码: gpasswd caiwu

  查看组:    cat /etc/group

组密码配置文件 第一列组名,第二列密码,第三列组id 第四列为空,当添加组员时会显示

影子文件:  vim /etc/gshadow

第一列 组名,第二列密码,第三列 组长管理员名称 第四列组员

给用户组添加账户

新建用户:useradd zhangsan

添加账户到组(a代表add):gpasswd -a zhangsan caiwu(除了root和组管理员,其他人是不能添加账户的)

给用户组添加组管理员(A代表administrator):gpasswd -A liucheng caiwu

修改组管理员:

  1.vim /etc/gshadow

  2.gpasswd -d zhangsan caiwu

组的修改:查看groupmod --help使用

修改文件的用户:chown zhangsan /test/file

修改文件的用户组:chown  :caiwu  /test/file

同时修改用户和用户组: chown root:root /test/file

------------------------------------------------------------------------

设置主机名

查看主机名:hostname

设置主机名:hostname haddoop-senior.liucheng.com

注意:此种方式设置主机名,在机器重启之后会恢复原样,原因是linux系统的配置信息来源于文件

永久修改主机名:

修改 /ect/sysconfig/network

修改为

------------------------------------------------------------------------

UGO

查看UGO权限:

ls -l  /etc/passwd

三个rwx分别是:文件所有者对该文件的权限(u),所属组下面的所有用户对该文件的权限(g),其他人的权限(o)

r权限(cat more head tail..)

重点是w权限(写权限 mkdir touch cp mv rm..)

w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字。具体如下:
1)在该目录下新建新的文件或子目录。
2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,用户能否删除一个文件或目录,看的是该用户是否具有该文件或目录所在的目录的w权限。
3)将该目录下已经存在的文件或子目录进行重命名。
4)转移该目录内的文件或子目录的位置。

x权限(执行权限 cd sh xx.sh..)

设置ugo权限

给file文件添加可执行属性

chmod u+x file

可以使用./file执行该文件(.代表当前目录,执行没效果,说明已经执行)

chmod 777 mydocument 更改文件的9个属性

使用符号来改变文件权限
chmod u=rwx,g=rwx,o=rx mydocument 修改mydocument文件的权限为-rwxr-xr-x
chmod u+w mydocument 给owners 添加w权限
chmod a=rwx mydocument 所有人可读可写可执行
chomd u-w mydocument 给owners减去w权限

chmod -R(大写) 777 img 递归更改img及里面文件或文件夹的权限为可读可写可操作

---------------------------------------------------------------------------------------------

文件高级权限

1.权限反掩码(umask):

  控制用户创建文件或目录以后的默认权限,正常情况下root创建文件权限默认666,目录默认777,

  但会发现真实情况是文件644,目录755,这是系统为了安全添加的反掩码设置

  查看当前用户的反掩码:umask

  

0022 第一个0没有意义,只是一个占位符

 那这个权限是怎么计算出来的?

① 022换算成 --- -w- -w- 然后把无权限的看成0,有权限的看成1就变成 000 010 010然后

  按位取反(111 101 101)与666(110 110 110)或777(111 111 111)与运算就变成644(110 100 100)或755(111 101 101)

② 另一种简单的方法 

设置反掩码:umask 011

2.隐藏权限

  平常ls查看不到的权限,比如一些文件权限对root账户是没有作用的,基本上root想干什么就干什么,这时候为了防止一些误删除

  操作,就有了隐藏权限

  查看文件的隐藏权限 lsattr file

给文件添加隐藏权限

-----------------

①.a权限

加了a权限之后,此时即使是root账户再执行删除文件已经删不掉了

而且

也不能将信息覆盖该文件,只能做追加操作

总结:a权限只能做查看和追加操作,其他任何包括chown等等等等

然后将a权限删除:chattr -a file

-------------------------

②. i权限

添加i权限:chattr +i file

加了i权限后即使是追加也是不允许的,只能做查看工作

3.特殊权限

①suid权限:用来给可执行文件加的权限,比如普通用户执行cat /etc/shadow是不允许的

但是有了suid权限之后就可以查看,这是一种变相的提高权限

怎么给cat提升这个权限呢:

查看cat文件的位置:which cat

查看cat文件的权限: ls -l /bin/cat

添加s权限:chmod 4755/bin/cat(加了一个4,方法有很多,或者chmod u+s /bin/cat)

此时切到普通账户,就能查看该文件内容了

②sgid权限:只能给目录进行设置,比如目录是属于root的,来了一个普通账户创建一个文件,那这个文件的所属组就不会属于这个普通账户的所属组,而是这个目录的所属组

文件夹的拥有者和用户组都是root,其他人没有写的权限,所以无法再文件夹中创建文件

修改权限(切回root):chmod 757 dir

现在就能使用普通账户在dir下创建文件了:touch dir/file

现在的用户和用户组都是zhangsan

那我们现在来设置sgid

chmod 2757 dir

此时普通用户创建的文件用户组就是文件夹的用户组

③sticky权限:防止两个普通用户之间互相删除对方的文件,比如tmp文件的权限是777,那就代表随便一个用户都可以往里放文件,也可以删除

为了防止这种情况,就有了这种权限

目录权限是777,那所有用户都能删除file1 file2

现在添加sticky权限

现在执行rm -f file1 已经不能删除

----------------------------------------------------------------------------------------------------

ACL权限

针对ugo权限的不足,有些权限并设置不了,比如:a文件的拥有者和用户组都是zhangsan,其他人对a文件有r操作,这时候来了一个用户tom,需要临时的对a文件有777的操作,那应该怎办?

查看文件的acl权限:getfacl file

设置acl权限(m:modify  u:user): setfacl -m u:zhangsan:rwx file

以下代表可读可写可执行

如果是需要对某个文件夹下的所有文件进行acl操作(R递归,Rm一定要注意参数顺序,其他的命令还真没见过要注意顺序的):

setfacl -Rm u:zhangdan:rw /test2

facl权限的继承:

对于一个修改了facl权限的文件夹,如果之后再在这个文件夹中创建文件,新建的文件是不会有之前的facl权限的

如何设置默认继承facl权限呢?(d:default)

setfacl -m d:u:zhangsan:rwx /test2

zhangsan 对该文件的权限是rwx  那为什么effective(有效的)确实rw-呢,原因是他与下面的mask码进行了与操作

用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限的更多相关文章

  1. 用户管理_组管理_权限管理.ziw

    2017年1月10日, 星期二 用户管理_组管理_权限管理 用户管理: useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage ...

  2. Django基础篇--用户权限管理和组管理

    Django作为一个成熟的python后台开发框架,为开发者提供了很多内置的功能,开发者只需要做一些配置就可以完成原生操作中比较复杂的代码编写.这些内置功能中其中一个比较强大的功能就是后台用户管理类. ...

  3. centos7的网络配置以及设置主机名和绑定IP的问题

    CentOS 7.0系统是一个很新的版本哦,很多朋友都不知道CentOS 7.0系统是怎么去安装配置的哦,因为centos7.0与以前版本是有很大的改进哦. 说明:截止目前CentOS 7.x最新版本 ...

  4. linux查看与设置主机名

    1.设置主机名    通过编辑/etc/sysconfig/network文件中的HOSTNAME字段就可以修改主机名.如下所示:     [root@zijuan /]# vim /etc/sysc ...

  5. 【Centos7】hostnamectl 设置主机名

    Centos7中提供了设置主机名的工具 hostnamectl hostname有三种状态 static(永久) transient(瞬态) pretty (灵活) 查看主机名状态 [oracle@h ...

  6. Centos7】hostnamectl 设置主机名

    Centos7中提供了设置主机名的工具 hostnamectl hostname有三种状态 static(永久) transient(瞬态) pretty (灵活) 查看主机名状态 [oracle@h ...

  7. CentOS7 设置主机名及IP映射

    1.设置主机名 查看本机的主机名,使用如下三个命令中任意一个即可 # hostname # uname -n # cat /proc/sys/kernel/hostname 使用 vi 编辑器打开 / ...

  8. Linux命令之hostname - 显示或设置主机名

    我使用过的Linux命令之hostname - 显示或设置主机名 本文链接:http://codingstandards.iteye.com/blog/804648   (转载请注明出处) 用途说明 ...

  9. 利用iis创建网站后为什么不能设置主机名

    主机名 主机名就是网站的域名,通俗说就是网站地址(如:www.baidu.com). 设置了主机名,而IIS确不知道主机名对应的地址在哪里. 举个例子,把www.baidu.com做为IIS网站的主机 ...

随机推荐

  1. html基础标签-2-textarea文本域

    textarea文本域 <!doctype html> <html lang='zh-cn'> <head> <meta charset='utf-8'> ...

  2. CSS3 旋转3D立方体

    <meta charset="utf-8"> <style> *{ margin:0px; padding:0px; } @-webkit-keyframe ...

  3. vlan trunk vtp端口聚合

    第一步:端口聚合(两端都需要做相同的操作) 第二步:在服务器端配置为服务器模式 第四步:在服务器端添加vlan 第五步:在两端分别将不同的端口添加到不同的vlan

  4. Matlab中取模(mod)与取余(rem)的区别

    取模(mod)与取余(rem)是不同的,通常取模运算也叫取余运算,它们返回结果都是余数. rem和mod唯一的区别在于: 当x和y的正负号一样的时候,两个函数结果是等同的:当x和y的符号不同时,rem ...

  5. Asp.Net Memcached安装配置使用、安全性

    Memcached安装配置使用  一,准备        你需要有一下软件:       VS.NET(05/08)       SQLSERVER       memcached服务器端以及客户端类 ...

  6. Java中的compareTo()函数用法

    public int compareTo(String anotherString) 按字典顺序比较两个字符串.该比较基于字符串中各个字符的 Unicode 值.将此 String 对象表示的字符序列 ...

  7. php采集文章中的图片获取替换到本地

    /** * 获取替换文章中的图片路径 * @param string $xstr 内容 * @param string $keyword 创建照片的文件名 * @param string $oriwe ...

  8. 如何升级CentOS 6.5下的MySQL

    如何升级CentOS 6.5下的MySQL http://jingyan.baidu.com/article/48a42057e9b9bca9242504ab.html | 浏览:1136 | 更新: ...

  9. Linux各个发行版本的介绍, 以及VirtualBox+CentOS的安装步骤

    Linux和Unix系统有哪些主要的发行版本 Unix: (非开源传统商业操作系统) IBM AIX, HP HP-UX, Sun Solaris,等 各家硬件厂商的发行版本, 往往是和自家的硬件设备 ...

  10. 《JavaScript+DOM编程艺术》的摘要(一)---基本知识点

    保持良好的编程习惯:在同一脚本中,保持引号的一致性,都用单引 var mood = "don\"t worry";alert(mood); 数组:var arr=Arra ...