Linux目录与用户管理

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

FHS全称(Filesystem Hierarchy Standard),目录层次标准,是linux的目录规范标准。

1. FHS针对目录树定义了三层目录所需放置的数据

  • / (root,跟目录):与启动系统有关
  • /usr (unix software resource); 与软件安装/执行有关;
  • /var (variable);与系统运行过程有关
[root@localhost ~]# tree -L 1 /
/
├── bin -> usr/bin      #放置在担任维护模式下还能使用的命令
├── boot                #系统启动所需要的文件
├── data                #存放数据
├── dev                 #任何设备与接口设备都是以文件的形式存在于这个目录中
├── etc                 #放置系统的主要配置文件
├── home                #系统默认的家目录
├── lib -> usr/lib      #系统启动时用到的函数库
├── lib64 -> usr/lib64  #存放64位函数库
├── media               #放置可删除的设备(软盘、光盘、DVD等)
├── mnt                 #设备挂载点
├── opt                 #辅助软件放置目录
├── proc                #虚拟文件系统
├── root                #系统管理员的家目录
├── run                 #存放系统启动后所产生的各项信息
├── sbin -> usr/sbin    #系统命令
├── srv                 #网络服务使用的数据目录
├── sys                 #记录内核与系统硬件信息相关的内容
├── tmp                 #临时目录
├── usr                 #存放各种程序与数据
└── var                 #服务的登录的文件或错误信息文件与一些数据库

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

[root@localhost ~]# ls -d /etc/*.d 
/etc/a.d                /etc/init.d          /etc/prelink.conf.d  /etc/rsyslog.d
/etc/bash_completion.d  /etc/krb5.conf.d     /etc/profile.d       /etc/rwtab.d
/etc/binfmt.d           /etc/latrace.d       /etc/rc0.d           /etc/setuptool.d
/etc/chkconfig.d        /etc/ld.so.conf.d    /etc/rc1.d           /etc/statetab.d
/etc/cron.d             /etc/logrotate.d     /etc/rc2.d           /etc/sudoers.d
/etc/depmod.d           /etc/modprobe.d      /etc/rc3.d           /etc/sysctl.d
/etc/dnsmasq.d          /etc/modules-load.d  /etc/rc4.d           /etc/tmpfiles.d
/etc/dracut.conf.d      /etc/my.cnf.d        /etc/rc5.d           /etc/xinetd.d
/etc/gdbinit.d          /etc/pam.d           /etc/rc6.d           /etc/yum.repos.d

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

[root@localhost ~]# ls -d /etc/[mnrp]*.conf
/etc/man_db.conf  /etc/mtools.conf    /etc/resolv.conf  /etc/rsyslog.conf
/etc/mke2fs.conf  /etc/nsswitch.conf  /etc/rsyncd.conf

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

[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1318 Jun  3  2018 anaconda-ks.cfg
[root@localhost ~]# mkdir -p /app/rootdir
[root@localhost ~]# cd /app/rootdir/
[root@localhost rootdir]# cp -a /root/* /app/rootdir/
[root@localhost rootdir]# ls
anaconda-ks.cfg
[root@localhost rootdir]# ll
total 4
-rw-------. 1 root root 1318 Jun  3  2018 anaconda-ks.cfg

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

[root@localhost tmp]# mkdir -pv /tmp/a{1/{a,b},2}
mkdir: created directory ‘/tmp/a1’
mkdir: created directory ‘/tmp/a1/a’
mkdir: created directory ‘/tmp/a1/b’
mkdir: created directory ‘/tmp/a2’
[root@localhost tmp]# mkdir -p /tmp/{x,q}_{y,z}
[root@localhost tmp]# ls
q_y  q_z  x_y  x_z

用户管理

  • 用户创建:useradd
     当使用useradd命令不加参数选项,后面直接跟所添加的用户名时,系统首先会读取配置文件/etc/login.defs和/etc/default/useradd文件中所配置的信息建立用户的家目录,并复制/etc/skel中的所有文件(包括隐藏的环境配置文件)到新用户的家目录中。
    -c      comment :新账户的password的说明栏   
  -u:   指定 UID 标记号。这个值是唯一的,除非用-o选项。数字不可为负值
    -d:   指定宿主目录,缺省为 /home/用户名
    -e:  指定帐号失效时间
  -f:   账户过期几天后永久停权。
    -g:  指定所属的基本组(组名或GID)
    -G:  指定所属的附加组(组名或GID)
  -m:   用户目录如不存在则自动建立。
    -M:  不为用户建立并初始化宿主目录。优先于/etc/login.defs文件的设定。
  -n:   默认情况下,用户的用户组和用户的名称会相同,如果命令加了-n参数,就不会生成和用户同名的用户组
  -r:   用来建立系统账户。系统账户的UID会比定义在/etc/login.defs的UID_MIN来的小。
    -s:  指定用户的登录Shell
  

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

[root@localhost ~]# useradd gentoo -G bin,root -s /bin/csh  -c "Gentoo Distribution"
[root@localhost ~]# echo $?
0
[root@localhost ~]# cat /etc/passwd|grep gentoo
gentoo:x:1000:1000:Gentoo Distribution:/home/gentoo:/bin/csh
  • 创建组:groupadd
-g    指定gid。除非指定-o选项,否则ID值必须是唯一的数字,不能为负值。如果不指定-g参数,则预设值会从1000开始。
-r  建立系统用户组。GID值会比/etc/login.defs中定义的UID_MIN小。
-f  新增一个账户,强制覆盖已经存在的用户组账户
[root@localhost ~]# groupadd tery -g 6666
[root@localhost ~]# cat /etc/group|grep tery
tery:x:6666:
  • 用户属性修改:usermod
-c:    指定注释信息
-d -m: -d一般跟-m使用,既指定新的家目录位置,又移动其此前的文件至新的家目录当中
-e:    指定账号失效时间
-g:    指定所属的基本组(组名或GID)
-aG:   新附加组,不使用-a选项,会覆盖此前的附加组;
-l:     更改用户账号的登陆名称
-L:     锁定用户账号
-s:    指定用户登录Shell
-u:     指定UID标志号
-U:     解锁用户账号
[root@localhost ~]# groups gentoo
gentoo : gentoo
[root@localhost ~]# usermod gentoo -a -G tery
[root@localhost ~]# groups gentoo
gentoo : gentoo tery
  • 密码设置:passwd
     管理员用户可以修改任意用户的密码,普通用户只能修改自己的密码。
   -d          清空密码,仅root能操作
  -f        强制操作,仅root能操作
  -k        保留即将过期的用户在期满后仍能使用
    -l          锁定用户账户;锁定用户无权更改其密码,仅root能操作
    -S          查看用户账户的状态
    -u          解锁用户账户;仅root能操作
    --stdin     从标准输入取密码
[root@localhost ~]# echo "Tery.xu"|passwd --stdin gentoo
Changing password for user gentoo.
passwd: all authentication tokens updated successfully.
  • 删除用户:userdel
-r      删除用户家目录
[root@localhost ~]# userdel gentoo 
[root@localhost ~]# cat /etc/passwd|grep gentoo
[root@localhost ~]# 
  • 组属性更改:groupmod
-n      改名
-g      改GID
  • 组删除:groupdel
[root@localhost ~]# groupdel tery
[root@localhost ~]# cat /etc/group|grep tery
  • 组密码:gpasswd
     组密码的作用为用户切换基本组
-a user         将user添加到指定组中
-d user         将user从指定组中删除
-A userlist     这只有组管理权限的用户列表
[root@localhost ~]# id gentoo
uid=1000(gentoo) gid=1000(gentoo) groups=1000(gentoo)
[root@localhost ~]# gpasswd -a gentoo tery
Adding user gentoo to group tery
[root@localhost ~]# id gentoo
uid=1000(gentoo) gid=1000(gentoo) groups=1000(gentoo),1001(tery)
[root@localhost ~]# gpasswd -d gentoo tery
Removing user gentoo from group tery
[root@localhost ~]# id gentoo
uid=1000(gentoo) gid=1000(gentoo) groups=1000(gentoo)
  • 修改用户及密码属性:chage
 -d:    将最近一次密码设置时间设置为"最近时间"
 -E:    指定账号过期时间,YYYY-MM-DD
 -I:    指定当密码失效后多少天锁定账号;
 -l:    列出密码有效期信息
 -m:    指定密码的最小天数
 -M:    指定密码的最大天数
 -W:    将过期警告天数设置为"警告天数"
[root@localhost ~]# cat /etc/shadow|grep gentoo       
gentoo:!!:17986:0:99999:7:::
[root@localhost ~]# chage gentoo -I 5 -m 5 -M9 -W 3 
[root@localhost ~]# cat /etc/shadow|grep gentoo     
gentoo:!!:17986:5:9:3:5::
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容