Настройте полномочия загрузки для папки доли на сервере через ssh

Я настроил бездисплейный домашний файловый сервер с помощью Сервера Ubuntu 17.04. Я получаю доступ к нему по WiFi с помощью SSH от моего ноутбука под управлением стандартная Ubuntu 17.04. Я нашел, что SSH (SFTP) достаточен для моих потребностей в обслуживании файлов (например, музыка и фотографии) для моей домашней сети.

Теперь я хотел бы смочь загрузить файлы на папку на жестком диске моего сервера /dev/sda1, который в настоящее время монтируется как /media/a. Это использует файловую систему ext4 Linux, и я смонтировал его с помощью команды sudo mount /dev/sda1 /media/a.

Я могу выполнить команды SSH от терминала (путем входа в систему с ssh username@servername) и я могу получить доступ к файлам через GUI на моем ноутбуке (файлы>, другие местоположения> соединяются с сервером> sftp://username@servername). Однако, когда я пытаюсь создать новую папку (говорят), что она говорит

Ошибка, создающая новую папку: разрешение отклонено.

Я пытался установить полномочия на upload папка (недавно созданный через мою ssh сессию) с sudo chmod o=rwx /media/a/upload. Однако, когда я теперь пытаюсь создать папку там через GUI на моем ноутбуке, говорит он

Ошибка, создающая новую папку: неизвестная причина.

Как я могу загрузить файлы на свой сервер от моего ноутбука?

Править: Вот содержание моего /etc/ssh/sshd_config файл, согласно просьбе:

#   $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation sandbox
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

# override default of no subsystems
Subsystem   sftp    /usr/lib/openssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
#   X11Forwarding no
#   AllowTcpForwarding no
#   PermitTTY no
#   ForceCommand cvs server

Править: Следующее является выводом различных команд, которые требуют в комментариях

username@servername:~$ findmnt /media/a

TARGET   SOURCE    FSTYPE OPTIONS
/media/a /dev/sdc1 ext4   rw,relatime,data=ordered
username@servername:~$ namei -lx /media/a
f: /media/a
Drwxr-xr-x root root /
drwxr-xr-x root root media
Drwxr-xr-x root root a
username@servername:~$ id
uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),111(lxd),116(sambashare),117(lpadmin)
username@servername:~$ getfacl /media/a
getfacl: Removing leading '/' from absolute path names
# file: media/a
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

username@servername:~$ mkdir -v /media/a/upload
mkdir: cannot create directory ‘/media/a/upload’: Permission denied
1
задан 29 June 2017 в 22:43

2 ответа

Похоже на желание "липкого" каталога как /tmp, в котором каждый пользователь с доступом для записи может создать записи, но они не могут изменить сам каталог или удалить записи, созданные другими пользователями. Липкий бит имеет восьмеричную маску 1000 или символ t.

Для установки "липкого" или "ограниченного удаления" флаг:

sudo chmod +t /media/a

Для установки "липкого" флага и позволяют всем создавать записи каталога:

sudo chmod a=rwxt /media/a
<час>

страница руководства unlink(2) описывает эффект липкого флага на каталогах в его разделе состояния ошибки:

EPERM или EACCES: каталог, содержащий путь, имеет липкий бит (S_ISVTX), набором и эффективным UID процесса не является ни UID файла, который будет удален, ни тот из каталога, содержащего его, и процесс не привилегирован (Linux: не имеет CAP_FOWNER возможность).

Видят также

3
ответ дан 3 December 2019 в 06:30

Хотя ограничивая удаление ненаходящихся в собственности папок, поскольку предлагает David, возможно хорошая идея для Вашего случая использования, это не первопричина Вашей проблемы.

O = переключатель для chmod указывает на других (не пользователь, не элемент группы), не все. Я не думаю, что это - то, что Вы имеете в виду. Для установки чтения и записи для Вас Вы хотите использовать u = переключатель как в sudo chmod u=rwx /media/a/upload

Конечно, это предполагает, что у Вас есть доступ для записи к родительскому каталогу, Который Ваш вопрос указывает, что Вы не делаете. Вы должны записать разрешение в каталог для создания каталога в нем, который является, почему Вы не можете mkdir -v /media/a/upload поскольку Вы только прочитали и выполняете полномочия к/media/a/

Обратите внимание, что, так как полномочия относятся к (U) серу (G) аукцион и (O) thers, если Вы захотите прекрасное управление доступом, то необходимо будет изменить пользователя или группу, или оба от он - текущее root:root владение. больше на показанном ниже.

Если бы мое имя пользователя было ivan, и я хотел rwx доступ для меня только на media/a/upload каталоге, я дал бы следующие команды.

sudo, показанный ivan/media/a/upload (который оставил бы состояние группы без изменений), или более в общем

sudo chown username:groupname /media/a/upload

сопровождаемый

sudo chmod u=rwx /media/a/upload

Так как у других есть доступ с помощью x разрешения к/media/a/, Вам нужно разрешить пересечь тот каталог, позволяющий смену собственника и настройки разрешения на/media/a/upload/

Для больше на показанном посмотрите man chown или https://linux.die.net/man/1/chown Для больше на chmod видят man chmod или https://en.wikipedia.org/wiki/Chmod или https://linux.die.net/man/1/chmod

Источники:

man chown

man chmod

https://en.wikipedia.org/wiki/Chmod

Править: Полномочия папки Change и сообщение владения вдаются в большие подробности об этой теме.

3
ответ дан 3 December 2019 в 06:30

Другие вопросы по тегам:

Похожие вопросы: