trochę trudności z próbą utworzenia folderu w folderze innego użytkownika /home/devuser1/pubic_html
. Staram się unikać używania sudo
i szukania alternatywy. Uprawnienia do tego folderu brzmią następująco:
drwxr-s--- 2 devuser1 www-data 4096 Apr 28 19:40 public_html
Alternatywnie, zakładając, że sudo
użyję przedrostka, jakie będą tego konsekwencje? Czytałem, że złym zwyczajem sudo
jest tworzenie folderów. Po utworzeniu nowego folderu nadal zmieniam jego własność na danego użytkownika. Przykład:
chown -vR devuser1:www-data /home/devuser1/public_html/$vhost
źródło
sudo -u USERNAME mkdir DIRNAME
wykonuje sięmkdir
jako użytkownikUSERNAME
. Nie jest to dokładnie równoważne z logowaniem jakoUSERNAME
, ponieważ logowanie wiąże się również z ustawieniem zmiennych środowiskowych i tak dalej, ale jest to część, która ma znaczenie, a mianowicie wykonanie procesu jako konkretnego użytkownika.Biorąc pod uwagę te uprawnienia, tylko właściciel katalogu lub superużytkownik może tworzyć podkatalogi.
Jedynym sposobem, aby uniknąć korzystania z dodatkowych uprawnień do utworzenia folderu, jest zmiana własności do siebie (za pomocą
sudo
), utworzenie podkatalogu i wreszcie zwrot własności do właściciela, ale nie wydaje mi się to dobrym rozwiązaniem.źródło
sudo -u devuser1 mkdir /home/devuser1/public_html/test
. To nie to samo, co tworzenie folderu,sudo
prawda?ls -al
ujawnia:drwxr-sr-x 2 devuser1 www-data 4096 Apr 28 23:49 test
sudo
ile później zmienisz własność.ls
, co ujawnia treść użytkownikapublic_html
, wydaje się, że zmiana właściciela nie jest wymagana, może nawet uprawnienia.su
zamiast tego używam go do uwierzytelnienia się jako użytkownik, który zamierza utworzyć folder ... czy to ma sens?Próbowałem zrobić
mkdir -p /srv/postgres/data/mydir
ale, ponieważdrwxr-xr-x 3 root root 4.0K Apr 7 08:26 srv
ma właścicielaroot
ani
install -d -o <user> -g <group> -m <mode> <path>
@ user2313838ani nie
sudo -u postgres mkdir -p /srv/postgres/data/mydir
działa @maGzWięc muszę podzielić to na dwa polecenia:
źródło