linux常用命令2

一、文件权限
1.文件权限修改

   -rwxr-xr-x.  1 root root   24 Nov 21 20:26 1.sh
   -rw-r--r-x.  1 root root    0 Nov 20 07:37 1.txt
   -rw-r--r--.  1 root root    0 Nov 20 07:37 2.txt

   #1.数字表示
   r  4 100   读
   w  2 010   写
   x  1 001   执行
   -  0 000     没有权限
   rwx   7 可读可写可执行
   rw-   6 可读可写
   r-x   5 可读可执行
   r--   4 可读
   rwxrw-r-- 764  文件拥有者可读可写可执行  文件所属的组可读可写  其他人可读

   #2.符号表示
   u  表示文件的拥有者 
   g  文件所属的组
   o  其他人
   a  所有的人  all

   u+/-/=  u=rwx  g+x  o-r
   + 表示增加权限
   -  削减权限
   =  赋权限
   chmod o-x 32.txt   #削减其他用户的可执行权限
   chmod a=rwx 32.txt  #给所有人赋可读可写可执行权限
   chmod o+x,g+w 32.txt
   chmod o=x 32.txt
  • chmod
    用法:
    chmod 权限 文件名/目录
    chmod -R 权限 目录 递归修改目录及其子目录的所有文件的权限

     #数字表示
     chmod 641  1.sh  
     
     #符号表示
     chmod a=rwx 1.sh
     chmod g-w 1.sh
     chmod g-w,o+x 1.sh
     chmod -R  o+w tmp   #递归修改tmp及其子目录中所有文件的权限
    
  1. chown(change owner) 修改文件的所有者
    要求:所有者必须在/etc/passwd文件中

         chown 用户名  文件名/目录名 
         chown 用户名:组名  文件名/目录名
         chown :组名  文件名/目录名
         chown -R 用户名  文件名/目录名
         
         chown csl 1.sh
         chown csl:csl 1.sh  #修改用户和所属组
    
  2. 修改用户组 chgrp(change group )

      组必须存在,组的信息在/etc/group文件里
      chgrp 组名  文件名/目录名
      chgrp -R 组名  目录
      chgrp -R csl tmp  #递归修改tmp及其子目录下文件所属组  
    
  3. lsattr/chattr 修改和查看文件只读属性
    lsattr 文件名 查看文件的只读属性,使用ls无法查看
    chattr +/-i 文件名 给文件增加或去除只读属性
    chattr +/-a 文件名 只能追加数据,不能修改或删除

    lsattr 3.py  #3.py有只读属性
    ----i--------e- 3.py
    
    chattr -i 3.py  #去掉只读属性
    chattr +i 3.py  #添加只读属性
    

二、用户管理

  1. 用户和组

    • 一个用户必须有一个主组
    • 一个用户可以有多个组
    • 一个组可以有多个用户
    • 用户账户的信息存放在/etc/passwd文件中;用户的密码存放到/etc/shadow,该文件只有root可以修改;组账户信息存放到/etc/group中
  2. useradd 添加一个用户
    用法:
    useradd [-gud] 用户名
    -g 指定主组名或组id,必须已经存在的组
    -u 指定用户的id
    -m 自动建立用户主目录
    -d 指定用户的家目录
    -s 指定用户登录后使用shell,默认是/bin/bash
    #创建一个用户没有指定组,则默认创建一个和用户名一样的组,作为用户的主组

    sudo useradd -u 1202 -g python -md /test2 -s /usr/sbin/nologin  test2
    
    所有的用户都在/etc/passwd文件中
    luoming:x:501:501::/home/luoming:/bin/bash
    用户名  密码 用户id  用户所属组的id  用户的家目录   shell
                  uid     gid
    #Ubuntu 特别提供了一个adduser 命令以交互模式创建用户,
    sudo adduser csl
    
  3. 删除用户 userdel

    userdel -r 用户名 删除用户同时删除家目录(家目录要和用户名一致才能删除)
    #如果用户登录了无法删除,应该先切换用户,然后kill -9 用户进程号,然后在删除

  4. 修改用户信息 usermod
    usermod [option] 用户名
    -u 用户id
    -g 主组id
    -G 附属组名称
    -a 将用户添加到附属组,必须与-G配合使用
    -d 用户的家目录
    -l 用户登录名
    sudo usermod -u 1001 -g 999 -l lkz liwenkai
    sudo usermod -a -G csl python #将用户python添加到附属组csl中
    sudo usermod -l newusername oldusername #修改用户名

  5. 修改用户密码
    用法:
    passwd [-lu] 用户名
    -l 锁定账户密码
    -u 解锁账户密码
    root 可以修改其他用户的密码
    普通用户只能修改自己的密码

  6. su和sudo

    Ubuntu默认禁止使用root账户,在系统安装的时候,创建的第一个用户作为管理员(属于sudo组),其权限要低于root,但比普通用户高,普通用户只能处理自己创建的东西,管理员可以安装软件、修改日期、删除用户等。在Ubuntu中一般看到提示符是$,当执行需要root权限操作的时候需要提升权限,我们可以使用sudo暂时提升用户权限

    我们也可以使用su切换用户身份,可以切换到root或管理员,完成工作后再切换回来

    用法:
    sudo 命令 #需输入用户自己的密码

    用法:
    su 账户名 #需要输入目标用户的密码
    root切换到普通用户不用输入密码
    普通用户切换,必须输入密码
    因为Ubuntu默认不提供root密码,不能直接由su切换到root,可以先使用sudo来获取root权限
    $ sudo su root #临时切换到root

    #启用root账户
    $ sudo password root #根据提示为root输入密码

    #设置sudo提升权限的时候不需要输入密码,需要修改/etc/sudoers文件

    sudo vi /etc/sudoers
    #也可以使用工具:sudo visudo编辑

    Allow members of group sudo to execute any command

    #将sudo组添加NOPASSWD:
    %sudo ALL=(ALL:ALL) NOPASSWD: ALL
    #然后按esc
    :wq!

    #如果新添加的用户不属于sudo组,是不能使用sudo提升权限的,需要将用户添加到sudo组
    #以属于sudo组的用户登录
    sudo usermod -a -G sudo 用户名

7.其他命令

  • id 查看用户的id和组信息
  • groups查看用户的组
  • whoami 查看当前的用户是谁

三、 组管理

 #添加一个组
 groupadd 组名
      
    1702:x:1001:
    组名 密码  gid
 groupdel  组名  #删除组
 groupmod  -n 新组名  旧组名
 groups 显示用户的组
 
 #所有的组信息都在/etc/group文件中记录
 #用户密码在/etc/shadow
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值