zoukankan      html  css  js  c++  java
  • 第六天、用户、组、权限、grep

    第六天、用户、组、权限、grep


    权限总结表

    操作 源目录权限 文件权限 目标目录权限
    rm删文件 wx - -
    mv改名 wx - -
    mv移动文件 wx r wx
    cp复制文件 x r wx
    >生成文件 wx - -
    >>追加内容到文件 x w -
    >覆盖文件内容 x w -
    vim编辑 x rw -
    执行二进制文件 x x -
    执行shell脚本 x rx -

    知识点:useradd,getent,恢复家目录,加入附加组,删除附加组,文件目录权限,复制文件需要的最小权限,umask,Linux特殊权限SUID,SGID,Sticky BIT;Linux特殊属性设置与查看:chatr,lsattr;ACL权限;文件访问的权限顺序;


    cal、chown、chmod、chattr、lsattr、chpasswd、chsh(usermod -s)、chage、getent、getfacl、setfacl、groups、groupmems、groupadd、groupdel、gpasswd、head、less、more、nl、newgrp、newusers、od、tac、tail、umask、usermod、userdel、



    用户、组

    查看httpd的安装脚本

    [root@centos7 ~]# rpm -q --scripts httpd
    preinstall scriptlet (using /bin/sh):
    # Add the "apache" group and user
    /usr/sbin/groupadd -g 48 -r apache 2> /dev/null || :
    /usr/sbin/useradd -c "Apache" -u 48 -g apache 
    	-s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null || :
    postinstall scriptlet (using /bin/sh):
    
    if [ $1 -eq 1 ] ; then 
            # Initial installation 
            systemctl preset httpd.service htcacheclean.service >/dev/null 2>&1 || : 
    fi
    preuninstall scriptlet (using /bin/sh):
    
    if [ $1 -eq 0 ] ; then 
            # Package removal, not upgrade 
            systemctl --no-reload disable httpd.service htcacheclean.service > /dev/null 2>&1 || : 
            systemctl stop httpd.service htcacheclean.service > /dev/null 2>&1 || : 
    fi
    postuninstall scriptlet (using /bin/sh):
    
    systemctl daemon-reload >/dev/null 2>&1 || : 
    
    
    # Trigger for conversion from SysV, per guidelines at:
    # https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd
    posttrans scriptlet (using /bin/sh):
    test -f /etc/sysconfig/httpd-disable-posttrans || 
      /bin/systemctl try-restart httpd.service htcacheclean.service >/dev/null 2>&1 || :
    

    /usr/sbin/groupadd -g 48 -r apache 2> /dev/null

    groupadd创建组,-g指定gid,-r指定系统组,apache为创建的组名。2>/dev/null不打印错误信息

    /usr/sbin/useradd -c "Apache" -u 48 -g apache -s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null

    useradd创建用户,-c"Apache"为用户说明,-u 48指定uid,-g apache指定主组,-s /sbin/nologin指定用户默认shell类型,-r指定为系统用户,-d /usr/share/httpd 指定该用户的家目录,2>/dev/null不输出错误信息

    ubuntu创建用户:useradd -ms /bin/bash zhangsan,ubuntu默认创建用户不创建家目录,要加-m参数,默认shell为sh,要使用-s /bin/bash指定shell

    useradd -r -s /sbin/nologin mysql

    创建系统类型的mysql用户,shell类型为/sbin/nologin

    修改密码:

    1、passwd --stdin(ubuntu不支持)

    [root@centos7 ~]# echo 123 | passwd --stdin alice
    更改用户 alice 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    

    2、chpasswd(通用型ubuntu和centos都可以)

    chpasswd可以用于批量改密码

    [root@centos7 ~]# echo alice:123 | chpasswd
    

    3、passwd -q(通用型)

    [root@centos7 ~]# echo -e "123
    123" | passwd alice
    更改用户 alice 的密码 。
    新的 密码:无效的密码: 密码少于 8 个字符
    重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。
    

    4、passwd其他参数

    usermod -L也可以实现锁定用户,usermod -U也可以实现解锁用户

    • -e:让某用户密码过期,下次登陆必须改密码。passwd -e alice

    • -l:锁定用户,下次无法登陆。passwd -l alice.

    • -u:与-l相反,解锁用户。passwd -u alice

    newusers批量创建用户,chpasswd批量改密码

    通过passwd格式的文件批量创建用户

    [root@centos7 ~]# cat users.txt 
    wangmazi:x:2000:2000:wangmazi:/home/wangmazi:/bin/bash
    wangmazi2:x:2001:2001:wangmazi2:/home/wangmazi2:/bin/bash
    [root@centos7 ~]# newusers users.txt 
    [root@centos7 ~]# id wangmazi
    uid=2000(wangmazi) gid=2000(wangmazi) 组=2000(wangmazi)
    [root@centos7 ~]# id wangmazi2
    uid=2001(wangmazi2) gid=2001(wangmazi2) 组=2001(wangmazi2)
    
    [root@centos7 ~]# cat passwd.txt 
    wangmazi:123
    wangmazi2:123
    [root@centos7 ~]# cat passwd.txt | chpasswd 
    [root@centos7 ~]# getent shadow wangmazi
    wangmazi:$6$GTDPf/xUtOE$2XBjr7prZI0mr3M4SH1z4/Gmhoyut/IWv6YOKQd1jhGYl8NweXhIH7sFQDbATniaKlR4ZPHlnJZTqhOJpDLyC1:18104:0:99999:7:::
    [root@centos7 ~]# getent shadow wangmazi2
    wangmazi2:$6$CZ6RG/ndilFV2s$gsl4mVNkE/QlctHn6EQDw74uilWofVSjuw8bYOfeh3LqUP8INw7R46THhzfSY88AYvpJMHSM43Psgu1Y5ODBw1:18104:0:99999:7:::
    

    创建目录的隐藏文件哪来的?

    /etc/skel/目录来的,希望新建的用户家目录有某某某文件,把文件放到/etc/skel目录即可

    [root@centos7 ~]# ls /home/alice/ -a
    .   .bash_logout   .bashrc   模板
    ..  .bash_profile  .mozilla
    [root@centos7 ~]# ls /etc/skel/ -a
    .   .bash_logout   .bashrc   模板
    ..  .bash_profile  .mozilla
    

    用户的默认配置,默认家目录,默认shell,默认mail等等在哪里配置?

    /etc/login.defs /etc/useradd

    [root@centos7 ~]# grep -Ev "^$|#" /etc/login.defs 
    MAIL_DIR	/var/spool/mail
    PASS_MAX_DAYS	99999
    PASS_MIN_DAYS	0
    PASS_MIN_LEN	5
    PASS_WARN_AGE	7
    UID_MIN                  1000
    UID_MAX                 60000
    SYS_UID_MIN               201
    SYS_UID_MAX               999
    GID_MIN                  1000
    GID_MAX                 60000
    SYS_GID_MIN               201
    SYS_GID_MAX               999
    CREATE_HOME	yes
    UMASK           077
    USERGROUPS_ENAB yes
    ENCRYPT_METHOD SHA512 
    
    [root@centos7 ~]# grep -Ev "^$|#"  /etc/default/useradd 
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    

    getent查看某用户的passwd库、shadow库、group库等信息

    更多可以看getent --help

    [root@centos7 ~]# getent passwd alice
    alice:x:2006:2006::/home/alice:/bin/bash
    [root@centos7 ~]# getent group alice
    alice:x:2006:
    [root@centos7 ~]# getent shadow alice
    alice:!!:18104:0:99999:7:::
    

    useradd帮助

    不想创建家目录可以使用-M,ubuntu默认就不创建家目录,centos默认会创建家目录

    [root@centos7 ~]# useradd --help
    用法:useradd [选项] 登录
          useradd -D
          useradd -D [选项]
    
    选项:
      -b, --base-dir BASE_DIR	新账户的主目录的基目录
      -c, --comment COMMENT         新账户的 GECOS 字段
      -d, --home-dir HOME_DIR       新账户的主目录
      -D, --defaults		显示或更改默认的 useradd 配置
     -e, --expiredate EXPIRE_DATE  新账户的过期日期
      -f, --inactive INACTIVE       新账户的密码不活动期
      -g, --gid GROUP		新账户主组的名称或 ID
      -G, --groups GROUPS	新账户的附加组列表
      -h, --help                    显示此帮助信息并推出
      -k, --skel SKEL_DIR	使用此目录作为骨架目录
      -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
      -l, --no-log-init	不要将此用户添加到最近登录和登录失败数据库
      -m, --create-home	创建用户的主目录
      -M, --no-create-home		不创建用户的主目录
      -N, --no-user-group	不创建同名的组
      -o, --non-unique		允许使用重复的 UID 创建用户
      -p, --password PASSWORD		加密后的新账户密码
      -r, --system                  创建一个系统账户
      -R, --root CHROOT_DIR         chroot 到的目录
      -s, --shell SHELL		新账户的登录 shell
      -u, --uid UID			新账户的用户 ID
      -U, --user-group		创建与用户同名的组
      -Z, --selinux-user SEUSER		为 SELinux 用户映射使用指定 SEUSER
    

    给alice用户添加三个附加组:root,bob,jerry

    usermod命令如果仅使用-G选项,新的附加组会替换旧的附加组,-aG表示追加附加组,不影响原有的附加组。-G ""可以清除该用户的所有附加组

    [root@centos7 ~]# usermod -aG root,bob,jerry alice
    

    查看alice加入了那些组

    [root@centos7 ~]# id alice
    uid=2006(alice) gid=2006(alice) 组=2006(alice),0(root),1006(bob),1007(jerry)
    

    查看root组有哪些附加用户

    [root@centos7 ~]# getent group root
    root:x:0:gentoo,alice
    [root@centos7 ~]# groupmems -g root -l
    gentoo  alice 
    

    把alice踢出root组

    [root@centos7 ~]# groupmems -g root -d alice
    [root@centos7 ~]# id alice
    uid=2006(alice) gid=2006(alice) 组=2006(alice),1006(bob),1007(jerry)
    

    清除alice的所有附加组

    使用空来替换alice原有的附加组,

    [root@centos7 ~]# usermod -G "" alice
    [root@centos7 ~]# id alice
    uid=2006(alice) gid=2006(alice) 组=2006(alice)
    

    groupmems帮助

    [root@centos7 ~]# groupmems --help
    用法:groupmems [选项] [动作]
    
    选项:
      -g, --group groupname         更改组 groupname,而不是用户的组(只 root)
      -R, --root CHROOT_DIR         chroot 到的目录
    
    动作:
      -a, --add username            将用户 username 添加到组成员中
      -d, --delete username         从组的成员中删除用户 username
      -h, --help                    显示此帮助信息并推出
      -p, --purge                   从组中移除所有成员
      -l, --list                    列出组中的所有成员
    

    如果alice家目录被删,家目录没东西,如何快速恢复alice家目录

    1、/etc/skel恢复

    [root@centos7 ~]# rm -rf /home/alice/
    [root@centos7 ~]# cp /etc/skel /home/alice -a
    [root@centos7 ~]# chmod 700 /home/alice
    [root@centos7 ~]# chown alice:alice /home/alice -R
    

    2、新建用户恢复

    [root@centos7 ~]# rm -rf /home/alice/
    [root@centos7 ~]# useradd rose
    [root@centos7 ~]# cp /home/{rose,alice} -a
    [root@centos7 ~]# chown alice:alice /home/alice -R
    [root@centos7 ~]# userdel -r rose
    

    定义别名,防止rm误删

    [root@centos7 ~]# mkdir /data/.trash -p
    [root@centos7 ~]# echo "alias rm='mv -t /data/.trash'" >> ~/.bashrc 
    [root@centos7 ~]# . ~/.bashrc
    [root@centos7 ~]# rm hello.txt
    [root@centos7 ~]# ls /data/.trash/
    hello.txt
    

    通过id命令判断用户是否存在,不存在则创建

    -u -G

    [root@centos7 ~]# id root
    uid=0(root) gid=0(root) 组=0(root)
    [root@centos7 ~]# id wang
    uid=1003(wang) gid=1003(wang) 组=1003(wang),10(wheel)
    

    切换用户

    1、su wang(不完全切换,类似于出差)

    切换到wang用户,PATH变量,环境不变,当前目录不变

    2、su -l wang(完全切换,类似于搬家)

    -l即--login,表示完全切换,可以缩写成su - wang,

    3、nologin的用户不能切

    系统用户一般都是nologin,不能切换

    4、临时切换root执行个命令

    [qqq@centos7 ~]$ su - -c "cat /etc/shadow"
    

    修改用户密码策略chage

    chage

    [root@centos7 ~]# chage --help
    用法:chage [选项] 登录
    
    选项:
      -d, --lastday 最近日期        将最近一次密码设置时间设为“最近日期”
      -E, --expiredate 过期日期     将帐户过期时间设为“过期日期”
      -h, --help                    显示此帮助信息并推出
      -I, --inactive INACITVE       过期 INACTIVE 天数后,设定密码为失效状态
      -l, --list                    显示帐户年龄信息
      -m, --mindays 最小天数        将两次改变密码之间相距的最小天数设为“最小天数”
      -M, --maxdays 最大天数        将两次改变密码之间相距的最大天数设为“最大天数”
      -R, --root CHROOT_DIR         chroot 到的目录
      -W, --warndays 警告天数       将过期警告天数设为“警告天数”
    
    • chfn指定个人信息
    • chsh修改用户shell,等于usermod -s
    • newgrp

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

    [root@centos7 ~]# getent passwd gentoo
    [root@centos7 ~]# useradd gentoo -G bin,root -s /bin/csh -c "Gentoo Distribution"
    [root@centos7 ~]# getent passwd gentoo
    gentoo:x:2007:2007:Gentoo Distribution:/home/gentoo:/bin/csh
    

    创建下面的用户、组、成员关系

    名字为webs的组

    用户nginx,使用webs作为附加组

    用户varnish,使用webs作为附加组

    用户mysql,不可交互登陆系统,不是webs组成员。nginx,mysql,varnish密码都是magedu

    [root@centos7 ~]# getent group webs
    webs:x:2008:
    [root@centos7 ~]# getent passwd nginx varnish mysql
    nginx:x:987:981:nginx user:/var/cache/nginx:/sbin/nologin
    mysql:x:986:980::/home/mysql:/sbin/nologin
    [root@centos7 ~]# userdel -r nginx
    [root@centos7 ~]# groupdel webs
    [root@centos7 ~]# 
    [root@centos7 ~]# groupadd webs
    [root@centos7 ~]# useradd -G webs nginx
    [root@centos7 ~]# useradd -G webs mysql
    [root@centos7 ~]# userdel -r mysql
    [root@centos7 ~]# useradd -G webs varnish
    [root@centos7 ~]# useradd -s /sbin/nologin mysql
    [root@centos7 ~]# echo magedu | passwd --stdin nginx
    更改用户 nginx 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    [root@centos7 ~]# echo magedu | passwd --stdin mysql
    更改用户 mysql 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    [root@centos7 ~]# echo magedu | passwd --stdin varnish
    更改用户 varnish 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    [root@centos7 ~]# getent passwd nginx varnish mysql
    nginx:x:2008:2009::/home/nginx:/bin/bash
    varnish:x:2009:2010::/home/varnish:/bin/bash
    mysql:x:2010:2011::/home/mysql:/sbin/nologin
    [root@centos7 ~]# groupmems -g webs -l
    nginx  varnish 
    [root@centos7 ~]# getent shadow nginx mysql varnish
    nginx:$6$hch9C3JT$oK5.j.CG8rJ1kndv542EbBBEtdB2SYqER9n8m48KUtr0wFuENZviQL2X/IO6CfsAfyYpZH4F856JGRIpCSgit.:18104:0:99999:7:::
    mysql:$6$iODHihkf$slMMlr32yfQO9NY6Ob/QIV4t8VaFm7yQRLg4VIRJTB6ZGi3a9RqBE8VMo/fzU3u2bjP9nakiai8W.0Y2CRsFr/:18104:0:99999:7:::
    varnish:$6$pdjOkLXJ$D4Xzm3v8oyiQjakHhmU/5Yg.05XKDZCsUWoWZ7e7HtqyW6WacfjJqEZWMZudDECoqdRtWNS8szrDg8tDHm1y60:18104:0:99999:7:::
    

    文件权限

    图片参考:Linux文件属性详解

    参考:Linux文件权限的总结详解

    chmod帮助

    [root@centos7 ~]# chmod --help
    用法:chmod [选项]... 模式[,模式]... 文件...
     或:chmod [选项]... 八进制模式 文件...
     或:chmod [选项]... --reference=参考文件 文件...
    Change the mode of each FILE to MODE.
    With --reference, change the mode of each FILE to that of RFILE.
    
      -c, --changes          like verbose but report only when a change is made
      -f, --silent, --quiet  suppress most error messages
      -v, --verbose          output a diagnostic for every file processed
          --no-preserve-root  do not treat '/' specially (the default)
          --preserve-root    fail to operate recursively on '/'
          --reference=RFILE  use RFILE's mode instead of MODE values
      -R, --recursive        change files and directories recursively
          --help		显示此帮助信息并退出
          --version		显示版本信息并退出
    
    Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.
    

    文件的权限:

    r:可以读取文件

    w:可以修改、增加文件内容。(1)如果没r权限,则不能vim,只能覆盖或追加。(2)能否删文件取决于父目录的权限

    x:执行权限。(1)没有r权限,不能执行shell脚本,会报权限不足,但能执行二进制程序。

    目录的权限:

    r:具有浏览目录的功能。(1)没有x权限,不能进入目录,ls -l只能看到文件名,看不到文件权限信息。不能进入目录的子目录。

    w:必须配合x权限。具有增加,删除,修改,移动,复制目录内的文件。(1)没有x权限,不能vim创建文件,不能使用重定向创建文件。(2)没r权限,不能看到目录下的文件; (3)没x权限,不能修改文件名。目录有了wx权限,可以删除,改名文件(前提知道目录下的文件名)(4)不能修改目录下别人文件的权限,能否追加内容,查看文件内容还要取决于该文件的权限。(5)移动目录内的文件除了目录需要wx,文件也需要r(6)cp文件,目录不需要w

    x:能进入目录。(1)没r权限,看不到目录内容(2)没w权限,不能创建,删除,修改mv(3)cp文件除了目录需要x,文件也需要r

    面试题:完成下列操作需要的最小权限:

    cp /etc/fstab /data/testdir/
    

    1、用户要有cp命令的执行权限(shell脚本还需要r权限);

    2、/etc目录要有x权限(可以进去)

    3、fstab需要r

    4、/data目录需要x权限(可以进去)

    5、/data/testdir目录需要wx权限(可以进去并修改)

    权限总结

    操作 源目录权限 文件权限 目标目录权限
    rm删文件 wx - -
    mv改名 wx - -
    mv移动文件 wx r wx
    cp复制文件 x r wx
    >生成文件 wx - -
    >>追加内容到文件 x w -
    >覆盖文件内容 x w -
    vim编辑 x rw -
    执行二进制文件 x x -
    执行shell脚本 x rx -

    umask与权限

    • 打印umask值 : umask
    • umask默认值022

    创建的文件的默认权限:666-umask(如果出现奇数,奇数加一)

    因为文件默认不能有执行权限,很危险

    比如umask=023,创建的文件权限=666-023=643,3是奇数,加一,最终权限为644

    创建的目录的默认权限:777-umask

    比如umask=023,创建的目录权限为777-023=654

    设置umask

    echo "umask 022" >> ~/.bashrc


    Linux特殊权限:SUID、SGID、SBIT

    SUID

    操作对象:可执行的二进制文件
    作用:让普通用户临时拥有某执行文件所有者的权限(让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源)
    例如:passwd
    [root@centos7 ~]# which passwd | xargs ls -l
    -rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd
    使用方法:chmod 4744 file1                   chmod +s  file1
    

    SGID

    1、作用于目录:当用户在此目录下创建文件时,文件的所属组会自动继承目录的所属组
    2、作用于二进制可执行文件:当用户执行此程序时,将会临时继承此程序所属组的权限
    

    SBIT

    操作对象:目录
    作用:粘滞位,只能针对目录设置,设置后只有文件所有者或者root才可以删除和移动其中的文件
    例如:/tmp目录
    [root@centos7 ~]# ll /tmp -d
    drwxrwxrwt. 15 root root 4096 7月  28 21:17 /tmp
    使用方法:chmod 1755 /data            chmod +t /data
    

    Linux特殊属性

    chattr

    • i属性:加上后不能修改文件,包括删除,改名
    • a属性:加上后只能追加文件

    lsattr

    显示文件属性

    [root@centos7 ~]# chattr +i /etc/passwd                    #加i属性
    [root@centos7 ~]# lsattr /etc/passwd					#查看特殊属性
    ----i----------- /etc/passwd
    [root@centos7 ~]# rm /etc/passwd						#删除不了
    rm:是否删除普通文件 "/etc/passwd"?y
    rm: 无法删除"/etc/passwd": 不允许的操作
    [root@centos7 ~]# mv /etc/{passwd,p}					#改名失败
    mv: 无法将"/etc/passwd" 移动至"/etc/p": 不允许的操作
    [root@centos7 ~]# echo hello >> /etc/passwd				#追加失败
    -bash: /etc/passwd: 权限不够
    [root@centos7 ~]# chattr -i /etc/passwd					#去掉i属性
    [root@centos7 ~]# lsattr /etc/passwd					#查看属性
    ---------------- /etc/passwd
    

    ACL权限

    Access Control list:访问控制列表

    单独给某用户,某组来这设置权限

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

    tune2fs -o acl /dev/sdb1
    mount -o acl /dev/sdb1 /mnt/test
    
    • setfacl -m 设置ACL权限
    • setfacl -x 取消权限
    • setfacl -b 文件 清除全部ACL权限
    • getfacl file 查看ACL权限
    [root@centos7 ~]# setfacl -m u:qqq:w date.sh      		#设置ACL
    [root@centos7 ~]# getfacl date.sh 						#查看ACL
    # file: date.sh
    # owner: root
    # group: root
    user::---
    user:qqq:-w-
    group::---
    mask::-w-
    other::--x
    
    [root@centos7 ~]# setfacl -x u:qqq date.sh 
    [root@centos7 ~]# getfacl date.sh 
    # file: date.sh
    # owner: root
    # group: root
    user::---
    group::---
    mask::---
    other::--x
    [root@centos7 ~]# setfacl -x  date.sh  				#清除所有ACL权限
    
    ACL生效顺序:文件所有者,自定义用户,自定义组+所属组累加权限,其他人
    下图:wang用户不是文件所有者;看自定义用户有wang,权限为0,所以wang用户不能看该文件。
    


    文本的查看

    抽取文本的工具

    • 文件内容: cat、more、less
    • 文件截取:head、tail
    • 按列抽取:cut
    • 排序和统计:sort、wc
    • 按关键字抽取:grep

    显示文本并加行号

    • cat -n -n显示行号
    • cat -ns -s压缩相邻空行,只显示一行空行
    • grep -n 过滤文本并显示对应行号
    • cat -A 显示文本中一些看不到的符号,如回车
    • nl命令 只给文本加内容,空行不加

    查看二进制文件,

    • hexdump 以8进制,16进制等查看文件
    • od 以8进制查看文件
    • xxd

    head命令

    • -c 5 查看前5个字符
    • -n 10 查看前10行
    • -5 查看前5行

    tail命令

    • -f 动态显示

    错误问题1

    复制要求:复制文件需要文件有r权限,源目录有x权限,目标目录有wx权限。

    问题说明:无法复制文件

    问题所在:下图所示10.txt文件不符合第一点要求,10.txt文件所有者是qqq,但所有者的权限为0,无r权限

    解决办法:qqq用户对10.txt所在目录有wx权限,又是10.txt文件的所有者,可以chmod修改10.txt权限再操作

    错误问题2

    移动要求:移动文件需要文件有r权限,源目录有wx权限,目标目录有wx权限。

    问题描述:移动过去后移动不回来

    问题所在:下图所示10.txt文件不符合第一点要求,10.txt文件所有者是qqq,但所有者的权限为0,无r权限

    解决办法:qqq用户对10.txt所在目录有wx权限,又是10.txt文件的所有者,可以chmod修改10.txt权限再操作

    错误问题3

    移动要求:移动文件需要文件有r权限,源目录有wx权限,目标目录有wx权限。

    问题描述:10.txt文件移动后,移动不回来

    问题所在:10.txt移动之前所有者是root,文件权限为004,qqq属于其他人有r权限;10.txt文件移动后,所有者变为qqq,qqq为所有者,无r权限

    解决办法:qqq用户对10.txt所在目录有wx权限,又是10.txt文件的所有者,可以chmod修改10.txt权限再操作

  • 相关阅读:
    mvc4 to mvc5 orEF5 to EF6 ,(升级EF6)
    mongodb 增删改查
    切换frame
    selenium使用,xpath解析模块,笔记整理在最后# 四套解析数据的方式 # 1.bs4 2.css_selector 3.xpath 4.re,
    爬虫,request,response 属性,方法,2.beautifulsoup解析模块
    爬虫基础知识简单案例
    vue跳转,v-model 双向绑定,-vuex的使用cookie:,视频第三方播放
    分页器,解析器,url控制器,响应器
    正向代理与反向代理
    认证权限频率自定义
  • 原文地址:https://www.cnblogs.com/uscWIFI/p/11261102.html
Copyright © 2011-2022 走看看