用户管理与文件权限3-4

Linux目录结构以及目录结构命名规定

        FHS定义了两层规范,第一层是, / 下面的各个目录应该要放什么文件数据,例如/etc应该要放置设置文件,/bin与/sbin则应该要放置可执行文件等等。因为 Linux的开发人员实在太多了,如果每个人都使用自己的目录配置方法,那么将可能会带来很多管理问题。第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。FHS文件系统结构标准化所有系统版本都一样。

      在Linux中,所有的文件与目录都由根目录/ 开始。那是所有目录与文件的源头。然后再一个一个分支下来,有点像树状。因此,我们也称这种目录配置方式为:“目录树(directory tree)”

/bin(binary二进制) 用户可执行的二进制程序,所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序

/boot引导文件存放此处,内核文件,引导加载器(BootLoader,grub)都存放此处

/dev/sda(硬盘)/dev/sr0/(光盘)

/dev/zero/非物理逻辑设备

/dev/null/ 黑洞

/dev/random/生成随机数

/etc存放非常重要的配置文件

/home用户数据家目录

/root 管理员的家目录

/run运行中生成的相关数据 centos6/var/run

/sbin 系统管理员常用的工具,管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序

/lib 启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)

/lib64 专用于x86_64系统上的辅助共享库文件存放位置

/tmp临时数据

/usr大部数据储存在此

/var 可变内容  (如log,缓存数据,系统变化数据,外部页面html)

以上标准目录

/opt /srv 存放用户数据

/selinux CenOS6

/proc process进程,虚假目录不再硬盘上。放置正在执行的程序信息

/sys 放置系统硬件信息



显示/etc目录下,所有以.d结尾的文件或目录

ls -ad /etc/*.d

参数-a 显示隐藏文件 参数-d收起目录下的信息只显示目录本身



显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录

ls -ad /etc/[mnrp]*.conf

参数-a 显示隐藏文件 参数-d收起目录下的信息只显示目录本身 使用[mnrp]*通配符来匹配查找文件名



创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限】

1.mkdir /app/rootdir

2.cp -rp /root/.*[^.] /app/rootdir

建立目录后,-r递归 -p保存权限 通配符.*所有文件及隐藏文件 ^.不包含. 父目录。



使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z

1.mkdir -p a{1/{a,b},2}

参数-p 自动建立未有的上级目录 

2.mkdir /tmp/{x,q}{_y,_z}



总结用户、用户组管理命令并演示命令以及常见用法

用户和组管理命令

用户管理命令

添加新用户默认策略 /etc/default/useradd

useradd -D 显示此默认策略文件

    -s SHELL

    -b BASE_DIR

    -g GROUP

SKEL=/etc/skel(默认新建/home模板)

CMD [username] 默认选项添加用户,口令为空且被禁用,无法登陆

useradd 添加用户

    -u 指定UID

    -o 忽略UID唯一性

    -c 用户的注释信息

    -d 指定家目录

    -r 设为系统账号,指定给某应用,默认不生成home

    -s 指定shell类型 (系统账号一般指定为/sbin/nologin,不允许登录)

    -g [groupname] 指定主组

    -N 指定默认策略为主组 (/etc/default/useradd --GROUP=GID )

    -G [groupname] 指定附加组

    -m 强制生成家目录,用于系统用户

    -M 不创建家目录,用于普通用户

    newusers psaawd格式文件 批量创建用户

usermod 修改用户

    -u UID 新UID

    -g GID新主组

    -G [GROUP1[,GROUP2..[,GROUPN]]]

    -a 不覆盖之前附加组并追加新附加组

    清除附加组。1加自己主组。2'' ''加空组

    -s SHELL 新的默认SHELL

    -c 'COMMENT'新的注释信息

    -d HOME 新家目录不会自动创建;

    -m若要创建新家目录并移动原家数据,同时使用

    -l login_name 新的名字

    -L [username] 锁定用户口令并禁用 增加密码栏!

    -U [username]  解锁用户口令并取消禁用拿掉!(新建用户禁用口令无法解除)

    -e YYYY-MM-DD 指定账户过期日期

    -f INACTIVE 设定宽容期限

userdel 删除用户

    -r 并删除家目录

查看用户相关的ID信息

id [OPTION]...[USERNAME]

    -u 显示UID

    -g 显示GID

    -G 显示用户所属的组的ID

    -n 显示名称,需配合[ugG]使用

切换用户(switch user)或以其他用户身份执行命令

    su [options...][-][user[args]]

    su [username] 非完全切换用户,当前目录不变

    su - [username] 完全切换用户。回到家目录

    su - root -c 'COMMAND' 在普通用户环境下,以root身份执行命令

    su -l username 相当于 su - username

设置密码

passwd [OPTIONS] Username :修改指定用户的密码

    -d 删除指定用户的密码

    -l 锁定指定用户

    -u 解锁指定用户

    -e 强制用户下次登录修改密码

    -f 强制操作

    -n mindays 指定最短使用日期

    -x maxdays 最大使用日期

    -w warndays 提前多少天开始警告

    -i inactivedays 非活动期限

    --stdin 从标准输入接收用户密码

    echo magedu | passwd --stdin 快速修改用户口令

    chpasswd [username]:[token] 使用管道批量修改用户口令

    openssl rand -base64 12 随机生成12位数字

组账号维护命令

groupadd [OPTION]... group_name

    -g GID 指明GID号;[GID_MIN,GID+MAX]

    -r 创建系统组

Centos6:ID<500

Centos7:ID<1000

groupmod修改组属性

    -n group_name 新名字

    -g GID 新的GID

groupdel删除组

    groupdel GROUP 主组不允许删除,附加组可以删除

更改组密码

gpasswd [OPTION] group

gpasswd [groupname] 组加口令

    -r user组去口令

    -a user 将user添加至指定组中

    -d user 从指定组中移除用户user

    -A user1,user2,... 设置有管理权限的用户列表

newgrp [groupname] 普通用户自己加组(必须有组口令)后,原主组变为附加组,加入组变为主组(临时性加组)

更改和查看组成员

groupmems [options] [action]

options:

    -g,--group groupname 更改为指定组(只有root)

Actions:

    -a,--add username 指定用户加入组

    -d,--delete username 从组中删除用户

    -p,--purge 从组中清除所有成员

    -l,--list 显示组成员列表

groups [option].[username]...查看用户所属组列表

例如:

groupmems -a [username] -g [groupname]

groupmems -d [username] -g [groupname]

getent group [groupname] root用户出组

修改用户密码策略

chage [OPTION]...LOGIN

    -d LAST_DAY

    -E --expiredate EXPIRE_DATE

    -I --inactive INACTIVE

    -m --mindays MIN_DAYS

    -M --maxdays MAX_DAY

    -W --warndays WARN_DAYS

    -l 显示密码策略  口令默认策略 /etc/login.defs 文件

例如:

chage -d0 立即修改密码

chage -m 0 -M 42 -W 14 -I 7 tom

chage -E 2016-09-10 tom

authconfig --passalgo=sha256 --update 加密算法更改,只影响新更改口令

用户相关其他命令

chfn 指定修改用户信息

chsh 指定修改用户shell

finger工具查看用户全部信息(需要安装)



文件权限分为三种:读、写、执行

file permission : r read(文本文件适合)、w write(文本文件适合)、x excute(二进制执行程序,脚本合适) 适合的人为设置权限。

权限的表现

前三位所有者。中间三位为组成员。后三位为其他人


更改权限

模式法设置权限

chmod who opt per file

who:u 所有者、g 用户组、o 其他人、 a所有人

opt:+增加权限 -去掉权限 =直接赋予

per:r 读  w写  x执行 X有执行权限的增加其他用户执行权限,没有执行权限的依旧不会有权限

例如:

chmod o+w f1

对于目录

r read 可浏览文件列表 w write 可新建删除文件 x excute 访问目录里的文件

一般权限rx都给,如不给进入权限,rx都不给

没有x执行权限 等于没有所有权限

-R 递归修改权限 (如果增加执行权限会也加在文本上,不安全)

--reference 被参考目标 新建目标 (参考权限复制 )


数字法权限设置

chmod 数字 file

例如

rwxrw-r-- file

111 110 100

7    6    4

chmod 764 test

读4 写2 执行1 0没权限

奇数有执行权限,偶数没有执行权限


文件所有者修改

chown 所有者.所属组 文件名  (所有者. 文件名 所有者和组都修改)(.所属组 文件名只修改组)

chown mage.edu test     chown .edu2 test

chown设置文件所有者

chown mage test

chgrp设置文件所属组

chgrp edu test


文件及文件夹默认权限设置

umask 掩码,有权限的位对应数值遮挡

umask+default=文件666|目录777

002+664/002+775

新建FILE权限:666-umask

如果所得结果某位存执行位(奇数)权限,则将其权限+1

更改umask

umask 数值 (永久储存 .bashrc)


文件系统上的特殊权限

SUID,SGID,Sticky(粘滞)

SUID 4 作用于二进制程序,当用户执行此文件,会继承此文件所有者的权限

添加S权限 chmod 4XXX [file]          chmod u+s [file]

去掉权限  chmod XXX [file]             chmod u-s XXX [file]

SGID 2 作用于二进制程序,当用户执行此文件,会继承此文件所属组的权限

添加权限 chmod 2XXX [file]             chmod g+s [file]

去掉权限 chmod xxx [file]                 chmod g-s xxx [file]

SGID 2 作用于目录上,当用户在此目录建立的文件自动从此目录继承所属组

添加权限 chmod 2XXX [dir]             chmod g+s [dir]

去掉权限 chmod xxx [dir]                 chmod g-s xxx [dir]


Sticky作用于目录

添加t权限 chmod 1XXX [file] chmod o+t [file]

去掉t权限 chmod XXX [file]  chmod o-t [file]

增加sticky权限后允许读写目录下的文件不允许非所有者删除,只能删除自己的文件。


设定文件特定属性 attr属于文件扩展元数据,默认不显示

chattr可以用来禁止ROOT帐号做一些操作

+i [file] 禁止一切操作

-i [file] 取消禁止

+a [file] 可以增加,其他操作不允许

lsattr [查询扩展元数据]


访问控制列表

ACL:Access Control List 实现灵活的权限管理(确保系统可以适用ACL)

除了文件所有者,所数组和其他人。可以对更多用户设置权限

CentOS7默认创建的xfs和ext4文件系统具有ACL功能

CentOS7之前版本,默认手工创建的ext4文件系统无ACL功能,需要手动增加

ACL生效顺序:所有者,自定义用户,自定义组,其他人

通过ACL赋予目录默认X权限,目录内文件也不会继承X权限


getracl file |directory 可以看到特殊权限 flags

getfacl file1 |  setfacl --set-file=- file2 复制file1的acl权限给file2

setfacl

-m u:USERNAME:rwx file|directory 给文件或目录设置ACL自定义用户权限

-Rm g:GROUPNAME:rwx directory  递归设置目录ACL权限

-M file.ac    file|directory 把ACL权限放入文本应用到文件或目录

-m g:GROUPNAME:rw    file|directory 给文件或目录设置ACL自定义组权限

-m d:u:USERNAME:rx directory 设置参数d后,所有目录下子文件都默认继承ACL权限

-k directory 删除默认ACL权限

-x u:USERNAME    file |directory  清除文件或目录的ACL权限

-X file.acl    file|directory  删除ACL权限放入文本应用到文件或目录

-b file directory清空ACL权限


ACL文件上的group权限是mask值(自定义用户,自定义组,拥有组的最大权限)而非传统的组权限。它可以控制最大权限,限高线。

setfacl -m mask::rwx file

chmod g=rwx file  一旦设置了ACL权限位所属组自动变为mask



创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为 "Gentoo Distribution"

useradd gentoo -G bin,root -s /bin/csh -c "Gentoo Distribution"

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,335评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,895评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,766评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,918评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,042评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,169评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,219评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,976评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,393评论 1 304
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,711评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,876评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,562评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,193评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,903评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,142评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,699评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,764评论 2 351

推荐阅读更多精彩内容

  • 1.安全AAA(3A) Authentication:认证Authorization:授权Accouting|Au...
    尛尛大尹阅读 1,428评论 0 2
  • 一、USERS UID为0的用户为管理员用户,任何一个UID为0的用户,都可为管理员用户若系统没有了UID=0的管...
    JevonWei阅读 2,212评论 0 2
  • list:1.输入、输出重定向;2.tr 转换或删除字符;3. | 管道;4.tee 重定向到多个目标; 5.rz...
    溪云初起日沉阁l阅读 506评论 0 2
  • Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,...
    SRE1阅读 698评论 0 1
  • 文/苏米青 每年春天,和着辣椒种子一起,奶奶总是会把些南瓜种子也一起种到泥土里,时机好的话,隔天就迎...
    米虎阅读 618评论 1 1