Linux 用户组

文件权限

r w x

文件时的权限介绍

r 可读    可以使用 cat。less等命令

w 可写    可以编辑,删除此文件

x 可执行    可以命令行模式下提交给内核运行此命令

当时目录时

r  可以使用ls列出目录的文件

w  可以在此目录中创建文件

x  可以cd切换进目录,也可以ls -l 查看里面文件的详细内容

权限对应的8进制

0  000    - - -  无权限

1   001   - - x  执行

2  010   - w -  写

3  011    - w x   写执行

4    100    r - -   读

5  101    r - x 读执行

6  110  r w -   读写

7  111  r w x 读写执行

 

用户 UID  /etc/passwd。  密码为x x x x

组。GID  /etc/group。

影子口令

用户    /etc/shadow   密码在里面

组  /etc/gshadow.  组也有密码的

 

用户类型

  管理员   管理员是 uid = 0

  普通用户 uid  1- 65535

    系统用户,1-499

    一般用户。500-60000

用户组

  管理员组

  普通组

    系统组

    一般组

用户组类别

  /etc/passwd

  用户名:密码:UID:GID:备注:家目录:默认shell

  /etc/shadow

  用户名:密码:最后一次修改密码时间:最短使用期限:最长使用期限:警告时间:非活动时间:过期时间

用户管理

  useradd, userdel, usermod, passwd, chsh, chfn, id, chage

  useradd 解释

    -u  uid

    -g gid

    -G 附加组

    -c 备注

    -d 指定用户家目录

    -s. 指定shell

    -r 创建系统用户

    useradd -M  user_name 创建一个没有家目录的用户

  

  创建用户时默认的功能选项在

  /etc/login.defs

    密码最大使用天数,普通用户的uid 最大值与最小值,用户组gid的最大值与最小值,是否创建家目录 ... ...

系统变量

  PATH,HISTSIZE,SHELL

  /etc/shell 指定了当前系统可以使用的安全的SHELL

  userdel [option]  name 删除用户

 id: 查看用户的账号属性信息

   -u 输出用户有效的用户ID

   -g   输出用户有效的用户组ID

   -G  输出用户有效的附加用户组ID

   -n 以替代数字模式展示用户信息(id -gn 输出的是 组名,组名替代了组ID) 

 finger 查看用户信息

    finger user_name

    Login: tom Name:

    Directory: /home/tom Shell: /bin/bash

    Last login 四 3月 28 00:36 (CST) on pts/1
    No mail.
    No Plan.

 userdel xxxx 删除用户

    userdel tom 删除tom 但是默认不会删除tom 家目录 /home/tom

    userdel -r tom 删除tom并删除 tom家目录

 usermod xxx 修改用户的账号属性

    -u  UID  修改uid

    -g  GID  修改 gid

    -a -U GID    添加附加组,不带-a,会覆盖用户的之前的附加组

    -c       修改文件的备注

    -d -m     指定用户家目录,并把之前家目录复制到新的目录中

    -L      锁定用户

    -U      解锁用户 

 

  chsh  (change shell) 修改用户的登录shell     

  chfn  change finger 修改用户的属性信息

  

  修改密码(系统默认空密码禁止登录)

  passwd  

     --stdin  标准化输入、

    -l  锁定用户

    -u   解锁用户

    -d  删除用户密码

  pwck 检查用户完整性

  gruopadd

    -g 指定GID

    -r 添加一个系统用户组。1-499 用户为系统用户 ,系统用户不能登录系统,并且没有家目录

  groupmod

    -g 修改用户组ID

    -n  修改名字

  groupdel 删除组

  newgrp 切换登录到一个新的组。 登录后退出 exit

  

#############

权限管理

  r w x

  用户类型

  U 属主

  G 属组

  O 其他

  chown username file1 file2 ... 改变文件的属主 

    -R 修改目录及目录下文件的属主

      --reference  

      chown --reference /tmp/just_test  /tmp/test  把test目录修改与just_test目录的属主相同

  chgrp group_name  file

    -R  修改目录及目录下的文件的属组

    --reference  

      chgrp --reference /tmp/just_test /tmp/test  把test目录修改与just_test 目录的属组相同  

  chmod  mode file  修改目录、文件权限

    chmod  -R 递归执行

    --reference = /tmp/just_test /tmp/test    把test权限改为与just_test一样

    修改某类用户的权限,用户类型分为。U(属主)、G(属组)、O(其他) 、A(所有用户)     

    chmod u=rwx /tmp/a.txt.    修改a.txt的属主的权限

    chmod u=rw g=r o=rwx /tmp/a.txt 修改a.txt的属主的权限为读写,组权限读写 ,  其他的组读写执行

    chmod u+x a.txt  属主添加执行权限

    chmod g-x a.txt  属组去掉执行权限

    chmod -x a.txt   去掉所有的执行权限

//  

openssl  passwd -1 -salt  '12345678'   生成登录密码

掩码 ,root 用户的掩码是0022。普通用户的掩码是0002

umask 

666 文件。    文件-掩码 = 文件的权限 

777  目录。   目录-掩码 = 目录的权限

文件默认不能有执行权限,如果得到的结果有执行权限 将加1 

 

########站在用户登录的角度来说SHELL的类型

登录式shell

  正常通常某个终端登录

  su - username

  su -l username

非登录式shell

  su username

  图形终端下打开命令窗口

  自动执行的shell脚本

 

bash的配置文件

  全局配置

    /etc/profile、/etc/profile.d/*sh、/etc/bashrc

  个人配置

    ~/.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 

 

################

管道和重定向 

I/O 重定向

  >: 覆盖输出

  >>: 追加输出

  set -C 禁止输出重定向覆盖已存在的文件,

      强制覆盖输出 >|

  set +C 允许输出重定向覆盖已存在的文件

  

  错误输出从定向

  2> : 重定向错误输出

  2>>: 追加方式

 

  &>:  重定向标准输出或输出至同一个文件

  < :输入重定向

  << :here document

  

  管道:前一个命令的输出,作为后一个命令的输入

    命令1 | 命令2 |  命令3 |......

  tee 显示输出,并且保存到文件中。 

    echo 'hello' | tee /tmp/hello.out

  wc -l 查看一个文件的行数

  cut -d  分割文本

  例如;

    统计/usr/bin/目录下的所有的文件个数

     ll /usr/bin | wc -l 

    取出当前系统中所有用户的shell,要求每种shell只显示一次

      cut -d':' -f7 /etc/passwd | sort -u

    取出/etc/inittab 文件的第6行:

      head -6 /etc/inittab | tail -1     

    取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕是那个,并保存到/tmp/lastuser文件中

      tail -9 /etc/passwd | head -1 | tee /tmp/lastuser

    显示/etc下目录所有的以la开头的文件,并统计个数

      ls -l -d /etc/la* | wc -l

    将hello word  写入到/tmp/hi 文件里面

    

 

 

    

  

posted on 2019-04-03 11:37  totau  阅读(188)  评论(0编辑  收藏  举报

导航